spv.shaderFragMaskAMD.frag 871 B

1234567891011121314151617181920212223242526272829
  1. #version 450 core
  2. #extension GL_AMD_shader_fragment_mask: enable
  3. layout(binding = 0) uniform sampler2DMS s2DMS;
  4. layout(binding = 1) uniform isampler2DMSArray is2DMSArray;
  5. layout(binding = 2, input_attachment_index = 0) uniform usubpassInputMS usubpassMS;
  6. layout(location = 0) out vec4 fragColor;
  7. void main()
  8. {
  9. vec4 f4 = vec4(0.0);
  10. uint fragMask = fragmentMaskFetchAMD(s2DMS, ivec2(2, 3));
  11. uint fragIndex = (fragMask & 0xF0) >> 4;
  12. f4 += fragmentFetchAMD(s2DMS, ivec2(2, 3), 1);
  13. fragMask = fragmentMaskFetchAMD(is2DMSArray, ivec3(2, 3, 1));
  14. fragIndex = (fragMask & 0xF0) >> 4;
  15. f4 += fragmentFetchAMD(is2DMSArray, ivec3(2, 3, 1), fragIndex);
  16. fragMask = fragmentMaskFetchAMD(usubpassMS);
  17. fragIndex = (fragMask & 0xF0) >> 4;
  18. f4 += fragmentFetchAMD(usubpassMS, fragIndex);
  19. fragColor = f4;
  20. }