#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; | |
} | |