diff --git a/kitty/cell_vertex.glsl b/kitty/cell_vertex.glsl index 242431814..cbf6213a6 100644 --- a/kitty/cell_vertex.glsl +++ b/kitty/cell_vertex.glsl @@ -12,9 +12,12 @@ layout(std140) uniform CellRenderData { uint color_table[256]; }; -layout(location=0) in uvec3 colors; -layout(location=1) in uvec4 sprite_coords; -layout(location=2) in float is_selected; +// Have to use fixed locations here as all variants of the cell program share the same VAO +// locations 0 and 1 are used in the graphics program which also shares the same VAO +layout(location=2) in uvec3 colors; +layout(location=3) in uvec4 sprite_coords; +layout(location=4) in float is_selected; + #if defined(FOREGROUND) || defined(ALL) out vec3 sprite_pos; diff --git a/kitty/graphics_vertex.glsl b/kitty/graphics_vertex.glsl index aebe20810..d6ed0a6ab 100644 --- a/kitty/graphics_vertex.glsl +++ b/kitty/graphics_vertex.glsl @@ -1,7 +1,7 @@ #version 330 -layout(location=8) in vec4 src; -layout(location=9) in vec4 position; +layout(location=0) in vec4 src; +layout(location=1) in vec4 position; out vec2 texcoord; const uvec2 pos_map[] = uvec2[4](