yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
ed257e2b
main
1#version 460 compatibility 2 3#extension GL_ARB_bindless_texture : require 4 5#if !definedGL_ARB_bindless_texture 6# error GL_ARB_bindless_texture is not defined 7#elif GL_ARB_bindless_texture != 1 8# error GL_ARB_bindless_texture is not equal to 1 9#endif 10 11// Valid usage cases 12layout (bindless_sampler )uniform sampler2D s0 ;// case0: bindless layout 13in sampler2D s1 ;// case1: sampler as an input 14uniform uvec2 s2 ;// case2: uvec2 as sampler constructor 15uniform ivec2 s3 ;// case3: ivec2 as sampler constructor 16uniform int index ; 17in sampler2D s4 [2 ][3 ];// case4: sampler arrays of arrays 18uniform BB {sampler2D s5 ;}bbs5 [2 ];// case5: uniform block member as a sampler 19in samplerBuffer s6 ;// case6: samplerBuffer input 20uniform UBO9 {samplerBuffer s7 ;};// case7: samplerBuffer as an uniform block member 21buffer SSBO10 {samplerBuffer s8 ;};// case8: samplerBuffer as an ssbo member 22layout (rgba8 ,bindless_image )in image2D i9 ;// case9: bindless image as an input 23 24 25uniform vec2 coord ;// bindless coord 2-D 26uniform int icoord ;// bindless coord 1-D 27out vec4 color0 ; 28out vec4 color1 ; 29out vec4 color2 ; 30out vec4 color3 ; 31out vec4 color4 ; 32out vec4 color5 ; 33out vec4 color6 ; 34out vec4 color7 ; 35out vec4 color8 ; 36out vec4 color9 ; 37 38void main () 39{ 40color0 = texture (s0 ,coord ); 41color1 = texture (s1 ,coord ); 42color2 = texture (sampler2D (s2 ),coord ); 43color3 = texture (sampler2D (s3 ),coord ); 44color4 = texture (s4 [index ][index ],coord ); 45color5 = texture (bbs5 [index ].s5 ,coord ); 46color6 = texelFetch (s6 ,icoord ); 47color7 = texelFetch (s7 ,icoord ); 48color8 = texelFetch (s8 ,icoord ); 49color9 = imageLoad (i9 ,ivec2 (0 ,0 )); 50}