diff options
Diffstat (limited to 'shaders/test.comp')
| -rw-r--r-- | shaders/test.comp | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/shaders/test.comp b/shaders/test.comp index a17de69..3a4230f 100644 --- a/shaders/test.comp +++ b/shaders/test.comp @@ -6,26 +6,24 @@ layout(local_size_x = 8, local_size_y = 8, local_size_z = 1) in; layout(set = 0, binding = 0) uniform sampler samplers[]; layout(set = 0, binding = 1) uniform texture2D textures[]; layout(set = 0, binding = 2, rgba32f) uniform image2D images[]; -// layout(set = 2, binding = 0) uniform parameters { -// uint input_id1; -// uint input_id2; -// uint output_id; -// } params; -layout(push_constant) uniform parameters { + +layout(buffer_reference) readonly buffer draw_params { uint input_id1; - uint padding1; uint input_id2; - uint padding2; uint output_id; - uint padding3; -} params; + uint pad; +}; + +layout(push_constant) uniform buffers { + layout(offset = 16) draw_params draw; +} regs; void main() { ivec2 coords = ivec2(gl_GlobalInvocationID.xy); float t = 0.5; - vec3 color_1 = imageLoad(images[nonuniformEXT(params.input_id1)], coords).xyz; - vec3 color_2 = imageLoad(images[nonuniformEXT(params.input_id2)], coords).xyz; + vec3 color_1 = imageLoad(images[nonuniformEXT(regs.draw.input_id1)], coords).xyz; + vec3 color_2 = imageLoad(images[nonuniformEXT(regs.draw.input_id2)], coords).xyz; vec3 out_color = (t * color_1) + ((1.0 - t) * color_2); - imageStore(images[nonuniformEXT(params.output_id)], coords, vec4(out_color, 1.0)); + imageStore(images[nonuniformEXT(regs.draw.output_id)], coords, vec4(out_color, 1.0)); } |
