39 lines
		
	
	
		
			1011 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1011 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
#version 450
 | 
						|
 | 
						|
layout(rgba32f, binding = 1)    uniform  image2D         i2D;
 | 
						|
layout(r32i,   binding = 12)    uniform iimage2D        ii2D;
 | 
						|
layout(r32ui,   binding = 12)   uniform uimage2D        ui2D;
 | 
						|
 | 
						|
layout(rgba32f, binding = 9)    uniform  image2DMS     i2DMS;
 | 
						|
layout(r32i,    binding = 13)   uniform iimage2DMS    ii2DMS;
 | 
						|
layout(r32ui,    binding = 13)  uniform uimage2DMS    ui2DMS;
 | 
						|
 | 
						|
flat in ivec2 ic2D;
 | 
						|
flat in uint value;
 | 
						|
 | 
						|
out vec4 fragData;
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
    vec4 v = vec4(0.0);
 | 
						|
    ivec4 iv = ivec4(0.0);
 | 
						|
    uvec4 uv = uvec4(0.0);
 | 
						|
 | 
						|
    v += imageLoad(i2D, ic2D);
 | 
						|
    imageStore(i2D, ic2D, v);
 | 
						|
    v += imageLoad(ii2D, ic2D);
 | 
						|
    imageStore(ii2D, ic2D, iv);
 | 
						|
    v += imageLoad(ui2D, ic2D);
 | 
						|
    imageStore(ui2D, ic2D, uv);
 | 
						|
 | 
						|
    v += imageLoad(i2DMS, ic2D, 1);
 | 
						|
    imageStore(i2DMS, ic2D, 2, v);
 | 
						|
    v += imageLoad(ii2DMS, ic2D, 1);
 | 
						|
    imageStore(ii2DMS, ic2D, 2, iv);
 | 
						|
    v += imageLoad(ui2DMS, ic2D, 1);
 | 
						|
    imageStore(ui2DMS, ic2D, 2, uv);
 | 
						|
 | 
						|
    fragData = v;
 | 
						|
}
 | 
						|
 |