summaryrefslogtreecommitdiffstats
path: root/tests/manual/rhi/computeimage/image.comp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/rhi/computeimage/image.comp')
-rw-r--r--tests/manual/rhi/computeimage/image.comp20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/manual/rhi/computeimage/image.comp b/tests/manual/rhi/computeimage/image.comp
new file mode 100644
index 0000000000..9826ed7c6c
--- /dev/null
+++ b/tests/manual/rhi/computeimage/image.comp
@@ -0,0 +1,20 @@
+#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));
+}