aboutsummaryrefslogtreecommitdiffstats
path: root/shaders/test.comp
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2026-08-18 00:43:03 +0200
committerladevieq <ladevie.quentin@gmail.com>2026-08-18 00:43:03 +0200
commit6db256b8eb4cc45c5296070ae7353e65398d121d (patch)
tree0df44bebae817cbc575dbd288f4bb08a08767873 /shaders/test.comp
parent0c7ff7a068958d2c23a8f362763cb22d34f32371 (diff)
Finished descriptor heaps implementation
Diffstat (limited to 'shaders/test.comp')
-rw-r--r--shaders/test.comp20
1 files changed, 9 insertions, 11 deletions
diff --git a/shaders/test.comp b/shaders/test.comp
index 3a4230f..b2ddf1c 100644
--- a/shaders/test.comp
+++ b/shaders/test.comp
@@ -1,29 +1,27 @@
#extension GL_EXT_buffer_reference : require
#extension GL_EXT_nonuniform_qualifier : require
+#extension GL_EXT_descriptor_heap : require
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(descriptor_heap) uniform texture2D textures[];
+layout(descriptor_heap, rgba32f) uniform image2D images[];
+layout(descriptor_heap) uniform sampler samplers[];
-layout(buffer_reference) readonly buffer draw_params {
+
+layout(push_constant) uniform buffers {
uint input_id1;
uint input_id2;
uint output_id;
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(regs.draw.input_id1)], coords).xyz;
- vec3 color_2 = imageLoad(images[nonuniformEXT(regs.draw.input_id2)], coords).xyz;
+ vec3 color_1 = imageLoad(images[nonuniformEXT(regs.input_id1)], coords).xyz;
+ vec3 color_2 = imageLoad(images[nonuniformEXT(regs.input_id2)], coords).xyz;
vec3 out_color = (t * color_1) + ((1.0 - t) * color_2);
- imageStore(images[nonuniformEXT(regs.draw.output_id)], coords, vec4(out_color, 1.0));
+ imageStore(images[nonuniformEXT(regs.output_id)], coords, vec4(out_color, 1.0));
}