29 lines
		
	
	
		
			871 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			871 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #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;
 | |
| } | 
