summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/spirv-cross/shaders/comp/dowhile.comp
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/spirv-cross/shaders/comp/dowhile.comp')
-rw-r--r--3rdparty/bgfx/3rdparty/spirv-cross/shaders/comp/dowhile.comp31
1 files changed, 31 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/spirv-cross/shaders/comp/dowhile.comp b/3rdparty/bgfx/3rdparty/spirv-cross/shaders/comp/dowhile.comp
new file mode 100644
index 00000000000..709db75a172
--- /dev/null
+++ b/3rdparty/bgfx/3rdparty/spirv-cross/shaders/comp/dowhile.comp
@@ -0,0 +1,31 @@
+#version 310 es
+layout(local_size_x = 1) in;
+
+layout(std430, binding = 0) readonly buffer SSBO
+{
+ mat4 mvp;
+ vec4 in_data[];
+};
+
+layout(std430, binding = 1) writeonly buffer SSBO2
+{
+ vec4 out_data[];
+};
+
+int i;
+
+void main()
+{
+ uint ident = gl_GlobalInvocationID.x;
+
+ i = 0;
+ vec4 idat = in_data[ident];
+ do
+ {
+ idat = mvp * idat;
+ i++;
+ } while(i < 16);
+
+ out_data[ident] = idat;
+}
+