mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
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;
|
|
}
|
|
|