Merge pull request #2976 from jeremy-lunarg/hayes-fix-2975
[platform/upstream/glslang.git] / Test / spv.shaderFragMaskAMD.frag
1 #version 450 core\r
2 \r
3 #extension GL_AMD_shader_fragment_mask: enable\r
4 \r
5 layout(binding = 0) uniform sampler2DMS       s2DMS;\r
6 layout(binding = 1) uniform isampler2DMSArray is2DMSArray;\r
7 \r
8 layout(binding = 2, input_attachment_index = 0) uniform usubpassInputMS usubpassMS;\r
9 \r
10 layout(location = 0) out vec4 fragColor;\r
11 \r
12 void main()\r
13 {\r
14     vec4 f4 = vec4(0.0);\r
15 \r
16     uint fragMask = fragmentMaskFetchAMD(s2DMS, ivec2(2, 3));\r
17     uint fragIndex = (fragMask & 0xF0) >> 4;\r
18     f4 += fragmentFetchAMD(s2DMS, ivec2(2, 3), 1);\r
19 \r
20     fragMask = fragmentMaskFetchAMD(is2DMSArray, ivec3(2, 3, 1));\r
21     fragIndex = (fragMask & 0xF0) >> 4;\r
22     f4 += fragmentFetchAMD(is2DMSArray, ivec3(2, 3, 1), fragIndex);\r
23 \r
24     fragMask = fragmentMaskFetchAMD(usubpassMS);\r
25     fragIndex = (fragMask & 0xF0) >> 4;\r
26     f4 += fragmentFetchAMD(usubpassMS, fragIndex);\r
27 \r
28     fragColor = f4;\r
29 }