Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2019-02-20 14:19:00 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2019-02-20 14:19:00 +0300
commit056a0ba27ecdfc229e351e63f5c7aefe52cb14b0 (patch)
tree36370b6c8b597375c47ac56d22f76b8bd60912e5 /reference/opt/shaders/asm
parentafa9eb89bf780d52cc36fece77c5e41419b2534d (diff)
Fix case where a struct is loaded which contains a row-major matrix.
Diffstat (limited to 'reference/opt/shaders/asm')
-rw-r--r--reference/opt/shaders/asm/vert/extract-transposed-matrix-from-struct.asm.vert23
1 files changed, 23 insertions, 0 deletions
diff --git a/reference/opt/shaders/asm/vert/extract-transposed-matrix-from-struct.asm.vert b/reference/opt/shaders/asm/vert/extract-transposed-matrix-from-struct.asm.vert
new file mode 100644
index 00000000..b237783f
--- /dev/null
+++ b/reference/opt/shaders/asm/vert/extract-transposed-matrix-from-struct.asm.vert
@@ -0,0 +1,23 @@
+#version 450
+
+struct InstanceData
+{
+ mat4 MATRIX_MVP;
+ vec4 Color;
+};
+
+layout(binding = 0, std430) readonly buffer gInstanceData
+{
+ layout(row_major) InstanceData _data[];
+} gInstanceData_1;
+
+layout(location = 0) in vec3 PosL;
+uniform int SPIRV_Cross_BaseInstance;
+layout(location = 0) out vec4 _entryPointOutput_Color;
+
+void main()
+{
+ gl_Position = gInstanceData_1._data[uint((gl_InstanceID + SPIRV_Cross_BaseInstance))].MATRIX_MVP * vec4(PosL, 1.0);
+ _entryPointOutput_Color = gInstanceData_1._data[uint((gl_InstanceID + SPIRV_Cross_BaseInstance))].Color;
+}
+