diff options
| author | ladevieq <ladevie.quentin@gmail.com> | 2026-08-18 00:43:03 +0200 |
|---|---|---|
| committer | ladevieq <ladevie.quentin@gmail.com> | 2026-08-18 00:43:03 +0200 |
| commit | 6db256b8eb4cc45c5296070ae7353e65398d121d (patch) | |
| tree | 0df44bebae817cbc575dbd288f4bb08a08767873 /shaders/api-test-ui.frag | |
| parent | 0c7ff7a068958d2c23a8f362763cb22d34f32371 (diff) | |
Finished descriptor heaps implementation
Diffstat (limited to 'shaders/api-test-ui.frag')
| -rw-r--r-- | shaders/api-test-ui.frag | 25 |
1 files changed, 6 insertions, 19 deletions
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);
}
|
