| #version 450 core | |
| #extension GL_AMD_shader_fragment_mask: enable | |
| layout(binding = 0) uniform sampler2DMS s2DMS; | |
| layout(binding = 1) uniform isampler2DMSArray is2DMSArray; | |
| layout(binding = 2, input_attachment_index = 0) uniform usubpassInputMS usubpassMS; | |
| layout(location = 0) out vec4 fragColor; | |
| void main() | |
| { | |
| vec4 f4 = vec4(0.0); | |
| uint fragMask = fragmentMaskFetchAMD(s2DMS, ivec2(2, 3)); | |
| uint fragIndex = (fragMask & 0xF0) >> 4; | |
| f4 += fragmentFetchAMD(s2DMS, ivec2(2, 3), 1); | |
| fragMask = fragmentMaskFetchAMD(is2DMSArray, ivec3(2, 3, 1)); | |
| fragIndex = (fragMask & 0xF0) >> 4; | |
| f4 += fragmentFetchAMD(is2DMSArray, ivec3(2, 3, 1), fragIndex); | |
| fragMask = fragmentMaskFetchAMD(usubpassMS); | |
| fragIndex = (fragMask & 0xF0) >> 4; | |
| f4 += fragmentFetchAMD(usubpassMS, fragIndex); | |
| fragColor = f4; | |
| } |