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