yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
10ae0e16
main
1#version 460 2#extension GL_QCOM_tile_shading : enable 3 4precision highp int ; 5precision highp float ; 6 7layout (set = 0 , binding = 0 , tile_attachmentQCOM, rgba32f) uniform highp image2D input0; 8layout (set = 0 , binding = 1 , tile_attachmentQCOM, rgba32f) uniform highp image2D color0; 9layout (set = 0 , binding = 2 , tile_attachmentQCOM, rgba32i) uniform highp iimage2D color1; 10 11// depth/stencil attachments 12layout (set = 0 , binding = 3 , tile_attachmentQCOM, rgba32f) uniform highp image2D depth; 13layout (set = 0 , binding = 4 , tile_attachmentQCOM, rgba32ui) uniform highp uimage2D stencil; 14 15layout (location = 0 ) out vec4 fragColor; 16 17void main() 18{ 19// integer coordinates of the center of tile. 20uvec2 o2 = uvec2( 8 , 4 ); 21o2 = o2 / uvec2( 2 ); 22ivec2 offset = ivec2(gl_TileOffsetQCOM + (gl_TileDimensionQCOM/uvec3( 2 )). xy ); 23 24// read from attachments 25vec4 colorA = imageLoad( color0, offset ); 26ivec4 icolorB = imageLoad( color1, offset ); 27vec4 colorB = vec4(icolorB); 28vec4 colorC = imageLoad( input0, offset ); 29float d = imageLoad( depth, offset ). x ; 30uint s = imageLoad( stencil, offset ). x ; 3132 // compute output value 33vec4 outColor = ( colorB + colorB + colorC + d + s ); 3435 // write to attachments 36imageStore( color0, offset, outColor ); 37imageStore( depth, offset, vec4(outColor) ); 38imageStore( stencil, offset, uvec4(outColor) ); 3940 // write to color attachment 0 via fragment output 41fragColor = outColor + vec4( 1.0 , 0.0 , 0.0 , 1.0 ); 42}