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:
authorrdb <git@rdb.name>2020-11-05 19:09:33 +0300
committerrdb <git@rdb.name>2020-11-07 00:27:54 +0300
commitbf71994daec81acc111d2939ddf32ab564568e47 (patch)
tree20f78bb38585767cd78e49e4b448cb78463a2d54 /reference/opt/shaders
parenta20c768698836d93a86d0fe742081012b66c6afd (diff)
GLSL: implement transpose() in GLSL 1.10 / ES 1.00
Diffstat (limited to 'reference/opt/shaders')
-rw-r--r--reference/opt/shaders/legacy/vert/transpose.legacy.vert11
1 files changed, 10 insertions, 1 deletions
diff --git a/reference/opt/shaders/legacy/vert/transpose.legacy.vert b/reference/opt/shaders/legacy/vert/transpose.legacy.vert
index d405ba70..0f9b97a6 100644
--- a/reference/opt/shaders/legacy/vert/transpose.legacy.vert
+++ b/reference/opt/shaders/legacy/vert/transpose.legacy.vert
@@ -13,8 +13,17 @@ attribute vec4 Position;
mat4 SPIRV_Cross_workaround_load_row_major(mat4 wrap) { return wrap; }
+mat4 SPIRV_Cross_Transpose(mat4 m)
+{
+ return mat4(m[0][0], m[1][0], m[2][0], m[3][0], m[0][1], m[1][1], m[2][1], m[3][1], m[0][2], m[1][2], m[2][2], m[3][2], m[0][3], m[1][3], m[2][3], m[3][3]);
+}
+
void main()
{
- gl_Position = (((SPIRV_Cross_workaround_load_row_major(_13.M) * (Position * _13.MVPRowMajor)) + (SPIRV_Cross_workaround_load_row_major(_13.M) * (SPIRV_Cross_workaround_load_row_major(_13.MVPColMajor) * Position))) + (SPIRV_Cross_workaround_load_row_major(_13.M) * (_13.MVPRowMajor * Position))) + (SPIRV_Cross_workaround_load_row_major(_13.M) * (Position * SPIRV_Cross_workaround_load_row_major(_13.MVPColMajor)));
+ mat4 _55 = _13.MVPRowMajor;
+ mat4 _61 = SPIRV_Cross_workaround_load_row_major(_13.MVPColMajor);
+ mat4 _80 = SPIRV_Cross_Transpose(_13.MVPRowMajor) * 2.0;
+ mat4 _87 = SPIRV_Cross_Transpose(_61) * 2.0;
+ gl_Position = (((((((((((SPIRV_Cross_workaround_load_row_major(_13.M) * (Position * _13.MVPRowMajor)) + (SPIRV_Cross_workaround_load_row_major(_13.M) * (SPIRV_Cross_workaround_load_row_major(_13.MVPColMajor) * Position))) + (SPIRV_Cross_workaround_load_row_major(_13.M) * (_13.MVPRowMajor * Position))) + (SPIRV_Cross_workaround_load_row_major(_13.M) * (Position * SPIRV_Cross_workaround_load_row_major(_13.MVPColMajor)))) + (_55 * Position)) + (Position * _61)) + (Position * _55)) + (_61 * Position)) + (_80 * Position)) + (_87 * Position)) + (Position * _80)) + (Position * _87);
}