render/gles2: remove matrix transposition in shaders
This commit is contained in:
		
							parent
							
								
									7894fca224
								
							
						
					
					
						commit
						f1cbbac636
					
				|  | @ -181,7 +181,7 @@ static bool wlr_gles2_render_texture_with_matrix( | |||
| 	} | ||||
| 
 | ||||
| 	wlr_texture_bind(texture); | ||||
| 	GL_CALL(glUniformMatrix3fv(0, 1, GL_FALSE, matrix)); | ||||
| 	GL_CALL(glUniformMatrix3fv(0, 1, GL_TRUE, matrix)); | ||||
| 	GL_CALL(glUniform1i(1, texture->inverted_y)); | ||||
| 	GL_CALL(glUniform1f(3, alpha)); | ||||
| 	draw_quad(); | ||||
|  | @ -192,7 +192,7 @@ static bool wlr_gles2_render_texture_with_matrix( | |||
| static void wlr_gles2_render_quad(struct wlr_renderer *wlr_renderer, | ||||
| 		const float color[static 4], const float matrix[static 9]) { | ||||
| 	GL_CALL(glUseProgram(shaders.quad)); | ||||
| 	GL_CALL(glUniformMatrix3fv(0, 1, GL_FALSE, matrix)); | ||||
| 	GL_CALL(glUniformMatrix3fv(0, 1, GL_TRUE, matrix)); | ||||
| 	GL_CALL(glUniform4f(1, color[0], color[1], color[2], color[3])); | ||||
| 	draw_quad(); | ||||
| } | ||||
|  |  | |||
|  | @ -10,20 +10,8 @@ const GLchar quad_vertex_src[] = | |||
| "varying vec4 v_color;" | ||||
| "varying vec2 v_texcoord;" | ||||
| "" | ||||
| "mat3 transpose(in mat3 inMatrix) {" | ||||
| "	vec3 i0 = inMatrix[0];" | ||||
| "	vec3 i1 = inMatrix[1];" | ||||
| "	vec3 i2 = inMatrix[2];" | ||||
| "	mat3 outMatrix = mat3(" | ||||
| "		vec3(i0.x, i1.x, i2.x)," | ||||
| "		vec3(i0.y, i1.y, i2.y)," | ||||
| "		vec3(i0.z, i1.z, i2.z)" | ||||
| "	);" | ||||
| "	return outMatrix;" | ||||
| "}" | ||||
| "" | ||||
| "void main() {" | ||||
| "	gl_Position = vec4(transpose(proj) * vec3(pos, 1.0), 1.0);" | ||||
| "	gl_Position = vec4(proj * vec3(pos, 1.0), 1.0);" | ||||
| "	v_color = color;" | ||||
| "	v_texcoord = texcoord;" | ||||
| "}"; | ||||
|  | @ -57,20 +45,8 @@ const GLchar vertex_src[] = | |||
| "attribute vec2 texcoord;" | ||||
| "varying vec2 v_texcoord;" | ||||
| "" | ||||
| "mat3 transpose(in mat3 inMatrix) {" | ||||
| "	vec3 i0 = inMatrix[0];" | ||||
| "	vec3 i1 = inMatrix[1];" | ||||
| "	vec3 i2 = inMatrix[2];" | ||||
| "	mat3 outMatrix = mat3(" | ||||
| "		vec3(i0.x, i1.x, i2.x)," | ||||
| "		vec3(i0.y, i1.y, i2.y)," | ||||
| "		vec3(i0.z, i1.z, i2.z)" | ||||
| "	);" | ||||
| "	return outMatrix;" | ||||
| "}" | ||||
| "" | ||||
| "void main() {" | ||||
| "  gl_Position = vec4(transpose(proj) * vec3(pos, 1.0), 1.0);" | ||||
| "  gl_Position = vec4(proj * vec3(pos, 1.0), 1.0);" | ||||
| "  if (invert_y) {" | ||||
| "    v_texcoord = vec2(texcoord.s, 1.0 - texcoord.t);" | ||||
| "  } else {" | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue