qt5base-lts/tests/manual/rhi/computeimage/image.comp
Laszlo Agocs 6f4aa54131 rhi: Add compute api and implement for Vulkan and Metal
D3D11 and GL (4.3+, ES 3.1+) will come separately at a
later time.

Change-Id: If30f2f3d062fa27e57e9912674669225b82a7b93
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-06-17 10:32:57 +02:00

21 lines
542 B
Plaintext

#version 440
layout (local_size_x = 16, local_size_y = 16) in;
layout(std140, binding = 0) uniform UniformBuffer
{
float factor;
} ubuf;
layout (binding = 1, rgba8) uniform readonly image2D texIn;
layout (binding = 2, rgba8) uniform writeonly image2D texOut;
void main()
{
ivec2 pos = ivec2(gl_GlobalInvocationID.xy);
ivec2 d = ivec2(1, 1);
vec4 diff = imageLoad(texIn, pos + d) - imageLoad(texIn, pos - d);
float c = (diff.x + diff.y + diff.z) / ubuf.factor + 0.5f;
imageStore(texOut, pos, vec4(c, c, c, 1.0));
}