yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
3c5b1e6b
main
1#version 450 2 3layout (binding = 0 ,r32f )uniform coherent image1D i1D ; 4layout (binding = 1 ,r32f )uniform volatile image2D i2D ; 5layout (binding = 2 ,r32f )uniform restrictimage2DRect i2DRect ; 6layout (binding = 3 ,r32f )uniform readonly image3D i3D ; 7layout (binding = 3 ,r32f )uniform writeonly imageCube iCube ; 8 9struct Data 10{ 11float f1 ; 12vec2 f2 ; 13}; 14 15coherent buffer Buffer 16{ 17volatile float f1 ; 18 restrictvec2 f2 ; 19readonly vec3 f3 ; 20writeonly vec4 f4 ; 21int i1 ; 22Data data ; 23}; 24 25void main () 26{ 27vec4 texel = imageLoad (i1D ,1 ); 28texel += imageLoad (i2D ,ivec2 (1 )); 29texel += imageLoad (i2DRect ,ivec2 (1 )); 30texel += imageLoad (i3D ,ivec3 (1 )); 31imageStore (iCube ,ivec3 (1 ),texel ); 32 33texel [i1 ]= f1 ; 34texel .xy += f2 ; 35texel .xyz -= f3 ; 36texel .w += data .f1 + data .f2 [1 ]; 37f4 = texel ; 38}