You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
871 B
29 lines
871 B
4 months ago
|
#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;
|
||
|
}
|