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