aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Orzechowski <alex@ozal.ski>2023-05-22 14:26:53 -0400
committerAlexander Orzechowski <alex@ozal.ski>2023-05-28 14:53:34 -0400
commit6f67bfe5ab111881f2c066502b845d35c0c24a30 (patch)
treecb0c3e27dc6cdc46f538e635d8f169799470dfbb
parent3de330ec856edbae2caa13d9358dc5dfddf35370 (diff)
renderer/gles2: Interpret matrix as column major in shader
Avoids us needing to transpose.
-rw-r--r--render/gles2/renderer.c8
-rw-r--r--render/gles2/shaders/common.vert2
2 files changed, 1 insertions, 9 deletions
diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c
index 518068a3..6648fb65 100644
--- a/render/gles2/renderer.c
+++ b/render/gles2/renderer.c
@@ -309,10 +309,6 @@ static bool gles2_render_subtexture_with_matrix(
float gl_matrix[9];
wlr_matrix_multiply(gl_matrix, renderer->projection, matrix);
- // OpenGL ES 2 requires the glUniformMatrix3fv transpose parameter to be set
- // to GL_FALSE
- wlr_matrix_transpose(gl_matrix, gl_matrix);
-
push_gles2_debug(renderer);
if (!texture->has_alpha && alpha == 1.0) {
@@ -368,10 +364,6 @@ static void gles2_render_quad_with_matrix(struct wlr_renderer *wlr_renderer,
float gl_matrix[9];
wlr_matrix_multiply(gl_matrix, renderer->projection, matrix);
- // OpenGL ES 2 requires the glUniformMatrix3fv transpose parameter to be set
- // to GL_FALSE
- wlr_matrix_transpose(gl_matrix, gl_matrix);
-
push_gles2_debug(renderer);
if (color[3] == 1.0) {
diff --git a/render/gles2/shaders/common.vert b/render/gles2/shaders/common.vert
index 9cebb458..4f855a5d 100644
--- a/render/gles2/shaders/common.vert
+++ b/render/gles2/shaders/common.vert
@@ -4,6 +4,6 @@ attribute vec2 texcoord;
varying vec2 v_texcoord;
void main() {
- gl_Position = vec4(proj * vec3(pos, 1.0), 1.0);
+ gl_Position = vec4(vec3(pos, 1.0) * proj, 1.0);
v_texcoord = texcoord;
}