gl: specify attribute locations for vUv and aPosition

These positions are not guaranteed to be in a specific order when linked
into the final GPU program. They need to be specified so that our code
in gskglrenderer.c can use known positions for them to match up with
our GskQuadVertex.

This fixes the GL renderer on macOS's OpenGL shader compiler.

Fixes #3420
This commit is contained in:
Christian Hergert 2020-12-04 13:33:34 -08:00
parent 7f6fdd6e7b
commit 6883c2214b

View File

@ -229,6 +229,8 @@ gsk_gl_shader_builder_create_program (GskGLShaderBuilder *self,
program_id = glCreateProgram ();
glAttachShader (program_id, vertex_id);
glAttachShader (program_id, fragment_id);
glBindAttribLocation (program_id, 0, "aPosition");
glBindAttribLocation (program_id, 1, "vUv");
glLinkProgram (program_id);
glGetProgramiv (program_id, GL_LINK_STATUS, &status);