From f745ba47651664048a4641676453d06f2319c3d1 Mon Sep 17 00:00:00 2001 From: ladevieq Date: Tue, 5 May 2026 00:51:57 +0200 Subject: Change shaders push constants to reflect vulkan binding refactor --- shaders/api-test-ui.vert | 52 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 43 insertions(+), 9 deletions(-) (limited to 'shaders/api-test-ui.vert') diff --git a/shaders/api-test-ui.vert b/shaders/api-test-ui.vert index bf6acf8..f4d5fee 100644 --- a/shaders/api-test-ui.vert +++ b/shaders/api-test-ui.vert @@ -8,10 +8,35 @@ struct vertex { uint color; }; -layout(buffer_reference, buffer_reference_align = 8) readonly buffer params { - vec2 scale; - vec2 translate; - uint texture_index; +struct camera { + vec4 position; + + vec4 forward; + vec4 up; + vec4 right; + + vec4 horizontal; + vec4 vertical; + vec4 first_pixel; + + float lens_radius; +}; + +layout(buffer_reference) readonly buffer global_params { + camera cam; + + uint max_bounce; + uint min_bounce; + uint width; + uint height; + uint sample_index; + + uint enable_dof; + uint debug_bvh; + int downscale_factor; +}; + +layout(buffer_reference) readonly buffer pass_params { uint padding; }; @@ -19,10 +44,19 @@ layout(buffer_reference) readonly buffer vertices { vertex vertices[]; }; -layout(push_constant) uniform constants { - layout(offset = 16) params ui_params; +layout(buffer_reference) readonly buffer params { vertices vertex_buffer; -} consts; + vec2 scale; + vec2 translate; + uint texture_index; + uint padding; +}; + +layout(push_constant) uniform registers { + global_params globals; + pass_params pass; + params ui_params; +} regs; out gl_PerVertex { vec4 gl_Position; @@ -35,11 +69,11 @@ layout(location = 0) out struct { void main() { - vertex v = consts.vertex_buffer.vertices[gl_VertexIndex]; + vertex v = regs.ui_params.vertex_buffer.vertices[gl_VertexIndex]; Out.color = unpackUnorm4x8(v.color); Out.uv = vec2(v.uv_x, v.uv_y); vec2 pos = vec2(v.pos_x, v.pos_y); - gl_Position = vec4(pos * consts.ui_params.scale + consts.ui_params.translate, 0.0, 1.0); + gl_Position = vec4(pos * regs.ui_params.scale + regs.ui_params.translate, 0.0, 1.0); } -- cgit v1.3