diff options
Diffstat (limited to 'shaders/api-test-ui.frag')
| -rw-r--r-- | shaders/api-test-ui.frag | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/shaders/api-test-ui.frag b/shaders/api-test-ui.frag index 57630dc..06553df 100644 --- a/shaders/api-test-ui.frag +++ b/shaders/api-test-ui.frag @@ -1,3 +1,4 @@ +#extension GL_EXT_buffer_reference : require
#extension GL_EXT_nonuniform_qualifier : require
layout(location = 0) out vec4 o_Color;
@@ -10,13 +11,24 @@ layout(location = 0) in struct { 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 vertex_buffer;
+// layout(set = 2, binding = 0) uniform parameters {
+// uint vertex_buffer;
+// vec2 scale;
+// vec2 translate;
+// uint texture_index;
+// } params;
+
+layout(buffer_reference) readonly buffer params {
vec2 scale;
vec2 translate;
uint texture_index;
-} params;
+ uint padding;
+};
+
+layout(push_constant) uniform constants {
+ layout(offset = 16) params ui_params;
+} consts;
void main() {
- o_Color = In.color * texture(sampler2D(textures[nonuniformEXT(params.texture_index)], samplers[nonuniformEXT(0U)]), In.uv.xy);
+ o_Color = In.color * texture(sampler2D(textures[nonuniformEXT(consts.ui_params.texture_index)], samplers[nonuniformEXT(0U)]), In.uv.xy);
}
|
