From 6db256b8eb4cc45c5296070ae7353e65398d121d Mon Sep 17 00:00:00 2001 From: ladevieq Date: Tue, 18 Aug 2026 00:43:03 +0200 Subject: Finished descriptor heaps implementation --- shaders/api-test-ui.frag | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) (limited to 'shaders/api-test-ui.frag') diff --git a/shaders/api-test-ui.frag b/shaders/api-test-ui.frag index 8da6369..ad2ea21 100644 --- a/shaders/api-test-ui.frag +++ b/shaders/api-test-ui.frag @@ -1,5 +1,6 @@ #extension GL_EXT_buffer_reference : require #extension GL_EXT_nonuniform_qualifier : require +#extension GL_EXT_descriptor_heap : require layout(location = 0) out vec4 o_Color; @@ -8,17 +9,9 @@ layout(location = 0) in struct { vec4 color; } 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(buffer_reference) readonly buffer global_params { - uint padding; -}; - -layout(buffer_reference) readonly buffer pass_params { - uint padding; -}; +layout(descriptor_heap) uniform texture2D textures[]; +layout(descriptor_heap, rgba32f) uniform image2D images[]; +layout(descriptor_heap) uniform sampler samplers[]; struct vertex { float pos_x; @@ -32,19 +25,13 @@ layout(buffer_reference) readonly buffer vertices { vertex vertices[]; }; -layout(buffer_reference) readonly buffer draw_params { +layout(push_constant) uniform registers { vertices vertex_buffer; vec2 scale; vec2 translate; uint texture_index; -}; - -layout(push_constant) uniform registers { - global_params globals; - pass_params pass; - draw_params draw; } regs; void main() { - o_Color = In.color * texture(sampler2D(textures[nonuniformEXT(regs.draw.texture_index)], samplers[nonuniformEXT(0U)]), In.uv.xy); + o_Color = In.color * texture(sampler2D(textures[nonuniformEXT(regs.texture_index)], samplers[nonuniformEXT(0U)]), In.uv.xy); } -- cgit v1.3