aboutsummaryrefslogtreecommitdiff
path: root/Test/GL_ARB_bindless_texture.frag
diff options
context:
space:
mode:
Diffstat (limited to 'Test/GL_ARB_bindless_texture.frag')
-rw-r--r--Test/GL_ARB_bindless_texture.frag50
1 files changed, 50 insertions, 0 deletions
diff --git a/Test/GL_ARB_bindless_texture.frag b/Test/GL_ARB_bindless_texture.frag
new file mode 100644
index 00000000..58c8359e
--- /dev/null
+++ b/Test/GL_ARB_bindless_texture.frag
@@ -0,0 +1,50 @@
+#version 460 compatibility
+
+#extension GL_ARB_bindless_texture: require
+
+#if !defined GL_ARB_bindless_texture
+# error GL_ARB_bindless_texture is not defined
+#elif GL_ARB_bindless_texture != 1
+# error GL_ARB_bindless_texture is not equal to 1
+#endif
+
+// Valid usage cases
+layout(bindless_sampler) uniform sampler2D s0; // case0: bindless layout
+in sampler2D s1; // case1: sampler as an input
+uniform uvec2 s2; // case2: uvec2 as sampler constructor
+uniform ivec2 s3; // case3: ivec2 as sampler constructor
+uniform int index;
+in sampler2D s4[2][3]; // case4: sampler arrays of arrays
+uniform BB {sampler2D s5;} bbs5[2]; // case5: uniform block member as a sampler
+in samplerBuffer s6; // case6: samplerBuffer input
+uniform UBO9 {samplerBuffer s7;}; // case7: samplerBuffer as an uniform block member
+buffer SSBO10 {samplerBuffer s8;}; // case8: samplerBuffer as an ssbo member
+layout(rgba8, bindless_image) in image2D i9; // case9: bindless image as an input
+
+
+uniform vec2 coord; // bindless coord 2-D
+uniform int icoord; // bindless coord 1-D
+out vec4 color0;
+out vec4 color1;
+out vec4 color2;
+out vec4 color3;
+out vec4 color4;
+out vec4 color5;
+out vec4 color6;
+out vec4 color7;
+out vec4 color8;
+out vec4 color9;
+
+void main()
+{
+ color0 = texture(s0, coord);
+ color1 = texture(s1, coord);
+ color2 = texture(sampler2D(s2), coord);
+ color3 = texture(sampler2D(s3), coord);
+ color4 = texture(s4[index][index], coord);
+ color5 = texture(bbs5[index].s5, coord);
+ color6 = texelFetch(s6, icoord);
+ color7 = texelFetch(s7, icoord);
+ color8 = texelFetch(s8, icoord);
+ color9 = imageLoad(i9, ivec2(0,0));
+} \ No newline at end of file