#version 450 #pragma shader_stage(vertex) layout (location = 0) out vec2 outUv; layout (location = 1) out flat uint outPass; layout( push_constant ) uniform PushBlock { uint pass; uint draw; } PushConstant; void main() { outUv = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2); outPass = PushConstant.pass; gl_Position = vec4(outUv * 2.0f + -1.0f, 0.0f, 1.0f); }