SPIRV-Cross/reference/shaders/frag/image-load-store-uint-coord.asm.frag
Hans-Kristian Arntzen 3c52771aee Make sure image integer coords are int, not uint.
HLSL can emit uint here.
2017-12-01 15:02:50 +01:00

27 lines
654 B
GLSL

#version 450
layout(binding = 1, rgba32f) uniform image2D RWIm;
layout(binding = 0, rgba32f) uniform writeonly imageBuffer RWBuf;
layout(binding = 1) uniform sampler2D ROIm;
layout(binding = 0) uniform samplerBuffer ROBuf;
layout(location = 0) out vec4 _entryPointOutput;
vec4 _main()
{
vec4 storeTemp = vec4(10.0, 0.5, 8.0, 2.0);
imageStore(RWIm, ivec2(uvec2(10u)), storeTemp);
vec4 v = imageLoad(RWIm, ivec2(uvec2(30u)));
imageStore(RWBuf, int(80u), v);
v += texelFetch(ROIm, ivec2(uvec2(50u, 60u)), 0);
v += texelFetch(ROBuf, int(80u));
return v;
}
void main()
{
vec4 _45 = _main();
_entryPointOutput = _45;
}