diff options
author | Hans-Kristian Arntzen <post@arntzen-software.no> | 2019-02-20 14:19:00 +0300 |
---|---|---|
committer | Hans-Kristian Arntzen <post@arntzen-software.no> | 2019-02-20 14:19:00 +0300 |
commit | 056a0ba27ecdfc229e351e63f5c7aefe52cb14b0 (patch) | |
tree | 36370b6c8b597375c47ac56d22f76b8bd60912e5 /reference/opt/shaders/asm | |
parent | afa9eb89bf780d52cc36fece77c5e41419b2534d (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.vert | 23 |
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; +} + |