yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
6dc24ffa
main
1#version 450 core 2 3in float in1 ; 4in vec2 in2 ; 5in vec3 in3 ; 6in vec4 in4 ; 7 8void main () 9{ 10vec2 v2 = dFdxFine (in2 ); 11vec3 v3 = dFdyCoarse (in3 ); 12vec4 v4 = fwidth (in4 ); 13v4 = dFdyFine (in4 ); 14v3 = dFdyFine (in3 ); 15float f = dFdx (in1 )+ dFdxFine (in1 )+ dFdxCoarse (in1 ); 16v4 = fwidthCoarse (in4 )+ fwidthFine (in4 ); 17 18float cull = gl_CullDistance [2 ]; 19float consts = gl_MaxCullDistances + gl_MaxCombinedClipAndCullDistances + gl_MaxSamples ; 20 21if (gl_HelperInvocation ) 22++ v4 ; 23 24int sum = gl_MaxVertexImageUniforms + 25gl_MaxFragmentImageUniforms + 26gl_MaxComputeImageUniforms + 27gl_MaxCombinedImageUniforms + 28gl_MaxCombinedShaderOutputResources ; 29 30bool b1 ,b3 ,b ; 31uint uin ; 32bvec2 b2 = mix (bvec2 (b1 ),bvec2 (b3 ),bvec2 (b )); 33uint um = mix (uin ,uin ,b ); 34ivec3 im3 = mix (ivec3 (uin ),ivec3 (uin ),bvec3 (b )); 35} 36 37uniform sampler2DMS s2dms ; 38uniform usampler2DMSArray us2dmsa ; 39layout (rgba32i )uniform iimage2DMS ii2dms ; 40layout (rgba32f )uniform image2DMSArray i2dmsa ; 41 42void foo () 43{ 44int s = textureSamples (s2dms ); 45s += textureSamples (us2dmsa ); 46s += imageSamples (ii2dms ); 47s += imageSamples (i2dmsa ); 48float f = imageAtomicExchange (i2dmsa ,ivec3 (in3 ),2 ,4.5 ); 49} 50 51#extension GL_ARB_sparse_texture2 : enable 52 53uniform sampler2D s2D ; 54uniform isampler2DArray is2DArray ; 55uniform sampler2DRectShadow s2DRectShadow ; 56 57in flat ivec2 offsets [4 ]; 58in vec2 c2 ; 59in vec3 c3 ; 60 61void testOffsets () 62{ 63vec4 texel = vec4 (0.0 ); 64ivec4 itexel = ivec4 (0 ); 65const ivec2 constOffsets [4 ]= ivec2 [4 ](ivec2 (1 ,2 ),ivec2 (3 ,4 ),ivec2 (15 ,16 ),ivec2 (-2 ,0 )); 66sparseTextureGatherOffsetsARB (s2D ,c2 ,constOffsets ,texel ); 67sparseTextureGatherOffsetsARB (is2DArray ,c3 ,constOffsets ,itexel ,2 ); 68sparseTextureGatherOffsetsARB (s2DRectShadow ,c2 ,2.0 ,constOffsets ,texel ); 69 70sparseTextureGatherOffsetsARB (s2D ,c2 ,offsets ,texel );// Error : Non constant offsets 71sparseTextureGatherOffsetsARB (is2DArray ,c3 ,offsets ,itexel ,2 );// Error : Non constant offsets 72sparseTextureGatherOffsetsARB (s2DRectShadow ,c2 ,2.0 ,offsets ,texel );// Error : Non constant offsets 73 74} 75 76in float gl_CullDistance [6 ]; 77 78float cull (int i ) 79{ 80return (i >=6 ) ?gl_CullDistance [5 ] :gl_CullDistance [i ]; 81} 82 83layout (location = 6 )in bName1 { 84float f ; 85layout (location = 7 )float g ; 86mat4 m ; 87}bInst1 ; 88layout (location = 12 )in bName2 { 89float f ; 90layout (location = 13 )float g ;// ERROR, location on array 91}bInst2 [3 ]; 92 93layout (early_fragment_tests )in float f ;// ERROR, must be standalone