mirror of
https://github.com/KhronosGroup/glslang
synced 2024-09-19 20:29:54 +00:00
HLSL: add implicit mat*mat truncations
Goes with PR #1161, and completes the space for mul() implicit truncations. Note that the v*v and scalar cases are already handled by existing code.
This commit is contained in:
parent
792a94809b
commit
cee29b04d6
@ -2,107 +2,186 @@ hlsl.mul-truncate.frag
|
|||||||
Shader version: 500
|
Shader version: 500
|
||||||
gl_FragCoord origin is upper left
|
gl_FragCoord origin is upper left
|
||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:17 Function Definition: @main( ( temp 4-component vector of float)
|
0:18 Function Definition: @main( ( temp 4-component vector of float)
|
||||||
0:17 Function Parameters:
|
0:18 Function Parameters:
|
||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:19 Sequence
|
|
||||||
0:19 move second child to first child ( temp float)
|
|
||||||
0:19 'r00' ( temp float)
|
|
||||||
0:19 dot-product ( temp float)
|
|
||||||
0:19 v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
|
|
||||||
0:19 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
|
||||||
0:19 Constant:
|
|
||||||
0:19 7 (const uint)
|
|
||||||
0:19 Construct vec2 ( in 2-component vector of float)
|
|
||||||
0:19 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
|
||||||
0:19 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
|
||||||
0:19 Constant:
|
|
||||||
0:19 6 (const uint)
|
|
||||||
0:20 Sequence
|
0:20 Sequence
|
||||||
0:20 move second child to first child ( temp float)
|
0:20 move second child to first child ( temp float)
|
||||||
0:20 'r01' ( temp float)
|
0:20 'r00' ( temp float)
|
||||||
0:20 dot-product ( temp float)
|
0:20 dot-product ( temp float)
|
||||||
0:20 Construct vec2 ( in 2-component vector of float)
|
|
||||||
0:20 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
|
||||||
0:20 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
|
||||||
0:20 Constant:
|
|
||||||
0:20 5 (const uint)
|
|
||||||
0:20 v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
|
0:20 v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
|
||||||
0:20 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:20 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:20 Constant:
|
||||||
|
0:20 8 (const uint)
|
||||||
|
0:20 Construct vec2 ( in 2-component vector of float)
|
||||||
|
0:20 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
||||||
|
0:20 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:20 Constant:
|
0:20 Constant:
|
||||||
0:20 7 (const uint)
|
0:20 7 (const uint)
|
||||||
0:23 Sequence
|
0:21 Sequence
|
||||||
0:23 move second child to first child ( temp 4-component vector of float)
|
0:21 move second child to first child ( temp float)
|
||||||
0:23 'r10' ( temp 4-component vector of float)
|
0:21 'r01' ( temp float)
|
||||||
0:23 matrix-times-vector ( temp 4-component vector of float)
|
0:21 dot-product ( temp float)
|
||||||
0:23 Construct mat3x4 ( uniform 3X4 matrix of float)
|
0:21 Construct vec2 ( in 2-component vector of float)
|
||||||
0:23 m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
0:21 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||||
0:23 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:21 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:23 Constant:
|
0:21 Constant:
|
||||||
0:23 0 (const uint)
|
0:21 6 (const uint)
|
||||||
0:23 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
0:21 v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
|
||||||
0:23 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:21 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:23 Constant:
|
0:21 Constant:
|
||||||
0:23 6 (const uint)
|
0:21 8 (const uint)
|
||||||
0:24 Sequence
|
0:24 Sequence
|
||||||
0:24 move second child to first child ( temp 4-component vector of float)
|
0:24 move second child to first child ( temp 4-component vector of float)
|
||||||
0:24 'r11' ( temp 4-component vector of float)
|
0:24 'r10' ( temp 4-component vector of float)
|
||||||
0:24 matrix-times-vector ( temp 4-component vector of float)
|
0:24 matrix-times-vector ( temp 4-component vector of float)
|
||||||
0:24 m34: direct index for structure (layout( row_major std140) uniform 3X4 matrix of float)
|
0:24 Construct mat3x4 ( uniform 3X4 matrix of float)
|
||||||
0:24 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:24 m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||||
|
0:24 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:24 Constant:
|
0:24 Constant:
|
||||||
0:24 2 (const uint)
|
0:24 0 (const uint)
|
||||||
0:24 Construct vec3 ( uniform 3-component vector of float)
|
0:24 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
||||||
0:24 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
0:24 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:24 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
|
||||||
0:24 Constant:
|
0:24 Constant:
|
||||||
0:24 5 (const uint)
|
0:24 7 (const uint)
|
||||||
0:27 Sequence
|
0:25 Sequence
|
||||||
0:27 move second child to first child ( temp 4-component vector of float)
|
0:25 move second child to first child ( temp 4-component vector of float)
|
||||||
0:27 'r20' ( temp 4-component vector of float)
|
0:25 'r11' ( temp 4-component vector of float)
|
||||||
0:27 vector-times-matrix ( temp 4-component vector of float)
|
0:25 matrix-times-vector ( temp 4-component vector of float)
|
||||||
0:27 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
0:25 m34: direct index for structure (layout( row_major std140) uniform 3X4 matrix of float)
|
||||||
0:27 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:25 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:27 Constant:
|
0:25 Constant:
|
||||||
0:27 6 (const uint)
|
0:25 2 (const uint)
|
||||||
0:27 Construct mat4x3 ( uniform 4X3 matrix of float)
|
0:25 Construct vec3 ( uniform 3-component vector of float)
|
||||||
0:27 m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
0:25 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||||
0:27 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:25 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:27 Constant:
|
0:25 Constant:
|
||||||
0:27 0 (const uint)
|
0:25 6 (const uint)
|
||||||
0:28 Sequence
|
0:28 Sequence
|
||||||
0:28 move second child to first child ( temp 4-component vector of float)
|
0:28 move second child to first child ( temp 4-component vector of float)
|
||||||
0:28 'r21' ( temp 4-component vector of float)
|
0:28 'r20' ( temp 4-component vector of float)
|
||||||
0:28 vector-times-matrix ( temp 4-component vector of float)
|
0:28 vector-times-matrix ( temp 4-component vector of float)
|
||||||
0:28 Construct vec3 ( uniform 3-component vector of float)
|
0:28 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
||||||
0:28 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
0:28 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:28 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
|
||||||
0:28 Constant:
|
0:28 Constant:
|
||||||
0:28 5 (const uint)
|
0:28 7 (const uint)
|
||||||
0:28 m43: direct index for structure (layout( row_major std140) uniform 4X3 matrix of float)
|
0:28 Construct mat4x3 ( uniform 4X3 matrix of float)
|
||||||
0:28 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:28 m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||||
|
0:28 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:28 Constant:
|
0:28 Constant:
|
||||||
0:28 1 (const uint)
|
0:28 0 (const uint)
|
||||||
0:36 Branch: Return with expression
|
0:29 Sequence
|
||||||
0:36 add ( temp 4-component vector of float)
|
0:29 move second child to first child ( temp 4-component vector of float)
|
||||||
0:36 add ( temp 4-component vector of float)
|
0:29 'r21' ( temp 4-component vector of float)
|
||||||
0:36 add ( temp 4-component vector of float)
|
0:29 vector-times-matrix ( temp 4-component vector of float)
|
||||||
0:36 add ( temp 4-component vector of float)
|
0:29 Construct vec3 ( uniform 3-component vector of float)
|
||||||
0:36 add ( temp 4-component vector of float)
|
0:29 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||||
0:36 'r10' ( temp 4-component vector of float)
|
0:29 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:36 'r11' ( temp 4-component vector of float)
|
0:29 Constant:
|
||||||
0:36 'r20' ( temp 4-component vector of float)
|
0:29 6 (const uint)
|
||||||
0:36 'r21' ( temp 4-component vector of float)
|
0:29 m43: direct index for structure (layout( row_major std140) uniform 4X3 matrix of float)
|
||||||
0:36 'r00' ( temp float)
|
0:29 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:36 'r01' ( temp float)
|
0:29 Constant:
|
||||||
0:17 Function Definition: main( ( temp void)
|
0:29 1 (const uint)
|
||||||
0:17 Function Parameters:
|
0:32 Sequence
|
||||||
|
0:32 move second child to first child ( temp 2X3 matrix of float)
|
||||||
|
0:32 'r30' ( temp 2X3 matrix of float)
|
||||||
|
0:32 matrix-multiply ( temp 2X3 matrix of float)
|
||||||
|
0:32 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||||
|
0:32 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:32 Constant:
|
||||||
|
0:32 3 (const uint)
|
||||||
|
0:32 Construct mat2x3 ( uniform 2X3 matrix of float)
|
||||||
|
0:32 m24: direct index for structure (layout( row_major std140) uniform 2X4 matrix of float)
|
||||||
|
0:32 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:32 Constant:
|
||||||
|
0:32 4 (const uint)
|
||||||
|
0:33 Sequence
|
||||||
|
0:33 move second child to first child ( temp 3X4 matrix of float)
|
||||||
|
0:33 'r31' ( temp 3X4 matrix of float)
|
||||||
|
0:33 matrix-multiply ( temp 3X4 matrix of float)
|
||||||
|
0:33 m24: direct index for structure (layout( row_major std140) uniform 2X4 matrix of float)
|
||||||
|
0:33 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:33 Constant:
|
||||||
|
0:33 4 (const uint)
|
||||||
|
0:33 Construct mat3x2 ( uniform 3X2 matrix of float)
|
||||||
|
0:33 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||||
|
0:33 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:33 Constant:
|
||||||
|
0:33 3 (const uint)
|
||||||
|
0:34 Sequence
|
||||||
|
0:34 move second child to first child ( temp 3X2 matrix of float)
|
||||||
|
0:34 'r32' ( temp 3X2 matrix of float)
|
||||||
|
0:34 matrix-multiply ( temp 3X2 matrix of float)
|
||||||
|
0:34 Construct mat3x2 ( uniform 3X2 matrix of float)
|
||||||
|
0:34 m42: direct index for structure (layout( row_major std140) uniform 4X2 matrix of float)
|
||||||
|
0:34 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:34 Constant:
|
||||||
|
0:34 5 (const uint)
|
||||||
|
0:34 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||||
|
0:34 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:34 Constant:
|
||||||
|
0:34 3 (const uint)
|
||||||
|
0:35 Sequence
|
||||||
|
0:35 move second child to first child ( temp 4X3 matrix of float)
|
||||||
|
0:35 'r33' ( temp 4X3 matrix of float)
|
||||||
|
0:35 matrix-multiply ( temp 4X3 matrix of float)
|
||||||
|
0:35 Construct mat2x3 ( uniform 2X3 matrix of float)
|
||||||
|
0:35 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||||
|
0:35 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:35 Constant:
|
||||||
|
0:35 3 (const uint)
|
||||||
|
0:35 m42: direct index for structure (layout( row_major std140) uniform 4X2 matrix of float)
|
||||||
|
0:35 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:35 Constant:
|
||||||
|
0:35 5 (const uint)
|
||||||
|
0:37 Branch: Return with expression
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 'r10' ( temp 4-component vector of float)
|
||||||
|
0:37 'r11' ( temp 4-component vector of float)
|
||||||
|
0:37 'r20' ( temp 4-component vector of float)
|
||||||
|
0:37 'r21' ( temp 4-component vector of float)
|
||||||
|
0:37 'r00' ( temp float)
|
||||||
|
0:37 'r01' ( temp float)
|
||||||
|
0:37 direct index ( temp float)
|
||||||
|
0:37 direct index ( temp 3-component vector of float)
|
||||||
|
0:37 'r30' ( temp 2X3 matrix of float)
|
||||||
|
0:37 Constant:
|
||||||
|
0:37 0 (const int)
|
||||||
|
0:37 Constant:
|
||||||
|
0:37 0 (const int)
|
||||||
|
0:37 direct index ( temp 4-component vector of float)
|
||||||
|
0:37 'r31' ( temp 3X4 matrix of float)
|
||||||
|
0:37 Constant:
|
||||||
|
0:37 0 (const int)
|
||||||
|
0:37 direct index ( temp float)
|
||||||
|
0:37 direct index ( temp 2-component vector of float)
|
||||||
|
0:37 'r32' ( temp 3X2 matrix of float)
|
||||||
|
0:37 Constant:
|
||||||
|
0:37 0 (const int)
|
||||||
|
0:37 Constant:
|
||||||
|
0:37 0 (const int)
|
||||||
|
0:37 direct index ( temp 4-component vector of float)
|
||||||
|
0:37 transpose ( temp 3X4 matrix of float)
|
||||||
|
0:37 'r33' ( temp 4X3 matrix of float)
|
||||||
|
0:37 Constant:
|
||||||
|
0:37 0 (const int)
|
||||||
|
0:18 Function Definition: main( ( temp void)
|
||||||
|
0:18 Function Parameters:
|
||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:17 move second child to first child ( temp 4-component vector of float)
|
0:18 move second child to first child ( temp 4-component vector of float)
|
||||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||||
0:17 Function Call: @main( ( temp 4-component vector of float)
|
0:18 Function Call: @main( ( temp 4-component vector of float)
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
|
|
||||||
@ -112,159 +191,246 @@ Linked fragment stage:
|
|||||||
Shader version: 500
|
Shader version: 500
|
||||||
gl_FragCoord origin is upper left
|
gl_FragCoord origin is upper left
|
||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:17 Function Definition: @main( ( temp 4-component vector of float)
|
0:18 Function Definition: @main( ( temp 4-component vector of float)
|
||||||
0:17 Function Parameters:
|
0:18 Function Parameters:
|
||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:19 Sequence
|
|
||||||
0:19 move second child to first child ( temp float)
|
|
||||||
0:19 'r00' ( temp float)
|
|
||||||
0:19 dot-product ( temp float)
|
|
||||||
0:19 v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
|
|
||||||
0:19 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
|
||||||
0:19 Constant:
|
|
||||||
0:19 7 (const uint)
|
|
||||||
0:19 Construct vec2 ( in 2-component vector of float)
|
|
||||||
0:19 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
|
||||||
0:19 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
|
||||||
0:19 Constant:
|
|
||||||
0:19 6 (const uint)
|
|
||||||
0:20 Sequence
|
0:20 Sequence
|
||||||
0:20 move second child to first child ( temp float)
|
0:20 move second child to first child ( temp float)
|
||||||
0:20 'r01' ( temp float)
|
0:20 'r00' ( temp float)
|
||||||
0:20 dot-product ( temp float)
|
0:20 dot-product ( temp float)
|
||||||
0:20 Construct vec2 ( in 2-component vector of float)
|
|
||||||
0:20 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
|
||||||
0:20 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
|
||||||
0:20 Constant:
|
|
||||||
0:20 5 (const uint)
|
|
||||||
0:20 v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
|
0:20 v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
|
||||||
0:20 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:20 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:20 Constant:
|
||||||
|
0:20 8 (const uint)
|
||||||
|
0:20 Construct vec2 ( in 2-component vector of float)
|
||||||
|
0:20 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
||||||
|
0:20 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:20 Constant:
|
0:20 Constant:
|
||||||
0:20 7 (const uint)
|
0:20 7 (const uint)
|
||||||
0:23 Sequence
|
0:21 Sequence
|
||||||
0:23 move second child to first child ( temp 4-component vector of float)
|
0:21 move second child to first child ( temp float)
|
||||||
0:23 'r10' ( temp 4-component vector of float)
|
0:21 'r01' ( temp float)
|
||||||
0:23 matrix-times-vector ( temp 4-component vector of float)
|
0:21 dot-product ( temp float)
|
||||||
0:23 Construct mat3x4 ( uniform 3X4 matrix of float)
|
0:21 Construct vec2 ( in 2-component vector of float)
|
||||||
0:23 m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
0:21 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||||
0:23 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:21 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:23 Constant:
|
0:21 Constant:
|
||||||
0:23 0 (const uint)
|
0:21 6 (const uint)
|
||||||
0:23 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
0:21 v2: direct index for structure (layout( row_major std140) uniform 2-component vector of float)
|
||||||
0:23 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:21 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:23 Constant:
|
0:21 Constant:
|
||||||
0:23 6 (const uint)
|
0:21 8 (const uint)
|
||||||
0:24 Sequence
|
0:24 Sequence
|
||||||
0:24 move second child to first child ( temp 4-component vector of float)
|
0:24 move second child to first child ( temp 4-component vector of float)
|
||||||
0:24 'r11' ( temp 4-component vector of float)
|
0:24 'r10' ( temp 4-component vector of float)
|
||||||
0:24 matrix-times-vector ( temp 4-component vector of float)
|
0:24 matrix-times-vector ( temp 4-component vector of float)
|
||||||
0:24 m34: direct index for structure (layout( row_major std140) uniform 3X4 matrix of float)
|
0:24 Construct mat3x4 ( uniform 3X4 matrix of float)
|
||||||
0:24 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:24 m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||||
|
0:24 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:24 Constant:
|
0:24 Constant:
|
||||||
0:24 2 (const uint)
|
0:24 0 (const uint)
|
||||||
0:24 Construct vec3 ( uniform 3-component vector of float)
|
0:24 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
||||||
0:24 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
0:24 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:24 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
|
||||||
0:24 Constant:
|
0:24 Constant:
|
||||||
0:24 5 (const uint)
|
0:24 7 (const uint)
|
||||||
0:27 Sequence
|
0:25 Sequence
|
||||||
0:27 move second child to first child ( temp 4-component vector of float)
|
0:25 move second child to first child ( temp 4-component vector of float)
|
||||||
0:27 'r20' ( temp 4-component vector of float)
|
0:25 'r11' ( temp 4-component vector of float)
|
||||||
0:27 vector-times-matrix ( temp 4-component vector of float)
|
0:25 matrix-times-vector ( temp 4-component vector of float)
|
||||||
0:27 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
0:25 m34: direct index for structure (layout( row_major std140) uniform 3X4 matrix of float)
|
||||||
0:27 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:25 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:27 Constant:
|
0:25 Constant:
|
||||||
0:27 6 (const uint)
|
0:25 2 (const uint)
|
||||||
0:27 Construct mat4x3 ( uniform 4X3 matrix of float)
|
0:25 Construct vec3 ( uniform 3-component vector of float)
|
||||||
0:27 m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
0:25 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||||
0:27 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:25 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:27 Constant:
|
0:25 Constant:
|
||||||
0:27 0 (const uint)
|
0:25 6 (const uint)
|
||||||
0:28 Sequence
|
0:28 Sequence
|
||||||
0:28 move second child to first child ( temp 4-component vector of float)
|
0:28 move second child to first child ( temp 4-component vector of float)
|
||||||
0:28 'r21' ( temp 4-component vector of float)
|
0:28 'r20' ( temp 4-component vector of float)
|
||||||
0:28 vector-times-matrix ( temp 4-component vector of float)
|
0:28 vector-times-matrix ( temp 4-component vector of float)
|
||||||
0:28 Construct vec3 ( uniform 3-component vector of float)
|
0:28 v3: direct index for structure (layout( row_major std140) uniform 3-component vector of float)
|
||||||
0:28 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
0:28 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:28 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
|
||||||
0:28 Constant:
|
0:28 Constant:
|
||||||
0:28 5 (const uint)
|
0:28 7 (const uint)
|
||||||
0:28 m43: direct index for structure (layout( row_major std140) uniform 4X3 matrix of float)
|
0:28 Construct mat4x3 ( uniform 4X3 matrix of float)
|
||||||
0:28 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:28 m44: direct index for structure (layout( row_major std140) uniform 4X4 matrix of float)
|
||||||
|
0:28 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:28 Constant:
|
0:28 Constant:
|
||||||
0:28 1 (const uint)
|
0:28 0 (const uint)
|
||||||
0:36 Branch: Return with expression
|
0:29 Sequence
|
||||||
0:36 add ( temp 4-component vector of float)
|
0:29 move second child to first child ( temp 4-component vector of float)
|
||||||
0:36 add ( temp 4-component vector of float)
|
0:29 'r21' ( temp 4-component vector of float)
|
||||||
0:36 add ( temp 4-component vector of float)
|
0:29 vector-times-matrix ( temp 4-component vector of float)
|
||||||
0:36 add ( temp 4-component vector of float)
|
0:29 Construct vec3 ( uniform 3-component vector of float)
|
||||||
0:36 add ( temp 4-component vector of float)
|
0:29 v4: direct index for structure (layout( row_major std140) uniform 4-component vector of float)
|
||||||
0:36 'r10' ( temp 4-component vector of float)
|
0:29 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:36 'r11' ( temp 4-component vector of float)
|
0:29 Constant:
|
||||||
0:36 'r20' ( temp 4-component vector of float)
|
0:29 6 (const uint)
|
||||||
0:36 'r21' ( temp 4-component vector of float)
|
0:29 m43: direct index for structure (layout( row_major std140) uniform 4X3 matrix of float)
|
||||||
0:36 'r00' ( temp float)
|
0:29 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:36 'r01' ( temp float)
|
0:29 Constant:
|
||||||
0:17 Function Definition: main( ( temp void)
|
0:29 1 (const uint)
|
||||||
0:17 Function Parameters:
|
0:32 Sequence
|
||||||
|
0:32 move second child to first child ( temp 2X3 matrix of float)
|
||||||
|
0:32 'r30' ( temp 2X3 matrix of float)
|
||||||
|
0:32 matrix-multiply ( temp 2X3 matrix of float)
|
||||||
|
0:32 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||||
|
0:32 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:32 Constant:
|
||||||
|
0:32 3 (const uint)
|
||||||
|
0:32 Construct mat2x3 ( uniform 2X3 matrix of float)
|
||||||
|
0:32 m24: direct index for structure (layout( row_major std140) uniform 2X4 matrix of float)
|
||||||
|
0:32 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:32 Constant:
|
||||||
|
0:32 4 (const uint)
|
||||||
|
0:33 Sequence
|
||||||
|
0:33 move second child to first child ( temp 3X4 matrix of float)
|
||||||
|
0:33 'r31' ( temp 3X4 matrix of float)
|
||||||
|
0:33 matrix-multiply ( temp 3X4 matrix of float)
|
||||||
|
0:33 m24: direct index for structure (layout( row_major std140) uniform 2X4 matrix of float)
|
||||||
|
0:33 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:33 Constant:
|
||||||
|
0:33 4 (const uint)
|
||||||
|
0:33 Construct mat3x2 ( uniform 3X2 matrix of float)
|
||||||
|
0:33 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||||
|
0:33 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:33 Constant:
|
||||||
|
0:33 3 (const uint)
|
||||||
|
0:34 Sequence
|
||||||
|
0:34 move second child to first child ( temp 3X2 matrix of float)
|
||||||
|
0:34 'r32' ( temp 3X2 matrix of float)
|
||||||
|
0:34 matrix-multiply ( temp 3X2 matrix of float)
|
||||||
|
0:34 Construct mat3x2 ( uniform 3X2 matrix of float)
|
||||||
|
0:34 m42: direct index for structure (layout( row_major std140) uniform 4X2 matrix of float)
|
||||||
|
0:34 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:34 Constant:
|
||||||
|
0:34 5 (const uint)
|
||||||
|
0:34 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||||
|
0:34 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:34 Constant:
|
||||||
|
0:34 3 (const uint)
|
||||||
|
0:35 Sequence
|
||||||
|
0:35 move second child to first child ( temp 4X3 matrix of float)
|
||||||
|
0:35 'r33' ( temp 4X3 matrix of float)
|
||||||
|
0:35 matrix-multiply ( temp 4X3 matrix of float)
|
||||||
|
0:35 Construct mat2x3 ( uniform 2X3 matrix of float)
|
||||||
|
0:35 m33: direct index for structure (layout( row_major std140) uniform 3X3 matrix of float)
|
||||||
|
0:35 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:35 Constant:
|
||||||
|
0:35 3 (const uint)
|
||||||
|
0:35 m42: direct index for structure (layout( row_major std140) uniform 4X2 matrix of float)
|
||||||
|
0:35 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
|
0:35 Constant:
|
||||||
|
0:35 5 (const uint)
|
||||||
|
0:37 Branch: Return with expression
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 add ( temp 4-component vector of float)
|
||||||
|
0:37 'r10' ( temp 4-component vector of float)
|
||||||
|
0:37 'r11' ( temp 4-component vector of float)
|
||||||
|
0:37 'r20' ( temp 4-component vector of float)
|
||||||
|
0:37 'r21' ( temp 4-component vector of float)
|
||||||
|
0:37 'r00' ( temp float)
|
||||||
|
0:37 'r01' ( temp float)
|
||||||
|
0:37 direct index ( temp float)
|
||||||
|
0:37 direct index ( temp 3-component vector of float)
|
||||||
|
0:37 'r30' ( temp 2X3 matrix of float)
|
||||||
|
0:37 Constant:
|
||||||
|
0:37 0 (const int)
|
||||||
|
0:37 Constant:
|
||||||
|
0:37 0 (const int)
|
||||||
|
0:37 direct index ( temp 4-component vector of float)
|
||||||
|
0:37 'r31' ( temp 3X4 matrix of float)
|
||||||
|
0:37 Constant:
|
||||||
|
0:37 0 (const int)
|
||||||
|
0:37 direct index ( temp float)
|
||||||
|
0:37 direct index ( temp 2-component vector of float)
|
||||||
|
0:37 'r32' ( temp 3X2 matrix of float)
|
||||||
|
0:37 Constant:
|
||||||
|
0:37 0 (const int)
|
||||||
|
0:37 Constant:
|
||||||
|
0:37 0 (const int)
|
||||||
|
0:37 direct index ( temp 4-component vector of float)
|
||||||
|
0:37 transpose ( temp 3X4 matrix of float)
|
||||||
|
0:37 'r33' ( temp 4X3 matrix of float)
|
||||||
|
0:37 Constant:
|
||||||
|
0:37 0 (const int)
|
||||||
|
0:18 Function Definition: main( ( temp void)
|
||||||
|
0:18 Function Parameters:
|
||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:17 move second child to first child ( temp 4-component vector of float)
|
0:18 move second child to first child ( temp 4-component vector of float)
|
||||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||||
0:17 Function Call: @main( ( temp 4-component vector of float)
|
0:18 Function Call: @main( ( temp 4-component vector of float)
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
0:? 'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform 4X4 matrix of float m44, layout( row_major std140) uniform 4X3 matrix of float m43, layout( row_major std140) uniform 3X4 matrix of float m34, layout( row_major std140) uniform 3X3 matrix of float m33, layout( row_major std140) uniform 2X4 matrix of float m24, layout( row_major std140) uniform 4X2 matrix of float m42, layout( row_major std140) uniform 4-component vector of float v4, layout( row_major std140) uniform 3-component vector of float v3, layout( row_major std140) uniform 2-component vector of float v2})
|
||||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80002
|
// Generated by (magic number): 80002
|
||||||
// Id's are bound by 139
|
// Id's are bound by 231
|
||||||
|
|
||||||
Capability Shader
|
Capability Shader
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Fragment 4 "main" 137
|
EntryPoint Fragment 4 "main" 229
|
||||||
ExecutionMode 4 OriginUpperLeft
|
ExecutionMode 4 OriginUpperLeft
|
||||||
Source HLSL 500
|
Source HLSL 500
|
||||||
Name 4 "main"
|
Name 4 "main"
|
||||||
Name 9 "@main("
|
Name 9 "@main("
|
||||||
Name 12 "r00"
|
Name 12 "r00"
|
||||||
Name 20 "Matrix"
|
Name 21 "Matrix"
|
||||||
MemberName 20(Matrix) 0 "m44"
|
MemberName 21(Matrix) 0 "m44"
|
||||||
MemberName 20(Matrix) 1 "m43"
|
MemberName 21(Matrix) 1 "m43"
|
||||||
MemberName 20(Matrix) 2 "m34"
|
MemberName 21(Matrix) 2 "m34"
|
||||||
MemberName 20(Matrix) 3 "m24"
|
MemberName 21(Matrix) 3 "m33"
|
||||||
MemberName 20(Matrix) 4 "m42"
|
MemberName 21(Matrix) 4 "m24"
|
||||||
MemberName 20(Matrix) 5 "v4"
|
MemberName 21(Matrix) 5 "m42"
|
||||||
MemberName 20(Matrix) 6 "v3"
|
MemberName 21(Matrix) 6 "v4"
|
||||||
MemberName 20(Matrix) 7 "v2"
|
MemberName 21(Matrix) 7 "v3"
|
||||||
Name 22 ""
|
MemberName 21(Matrix) 8 "v2"
|
||||||
Name 36 "r01"
|
Name 23 ""
|
||||||
Name 48 "r10"
|
Name 37 "r01"
|
||||||
Name 74 "r11"
|
Name 49 "r10"
|
||||||
Name 86 "r20"
|
Name 75 "r11"
|
||||||
Name 109 "r21"
|
Name 87 "r20"
|
||||||
Name 137 "@entryPointOutput"
|
Name 110 "r21"
|
||||||
MemberDecorate 20(Matrix) 0 RowMajor
|
Name 124 "r30"
|
||||||
MemberDecorate 20(Matrix) 0 Offset 0
|
Name 144 "r31"
|
||||||
MemberDecorate 20(Matrix) 0 MatrixStride 16
|
Name 162 "r32"
|
||||||
MemberDecorate 20(Matrix) 1 RowMajor
|
Name 181 "r33"
|
||||||
MemberDecorate 20(Matrix) 1 Offset 64
|
Name 229 "@entryPointOutput"
|
||||||
MemberDecorate 20(Matrix) 1 MatrixStride 16
|
MemberDecorate 21(Matrix) 0 RowMajor
|
||||||
MemberDecorate 20(Matrix) 2 RowMajor
|
MemberDecorate 21(Matrix) 0 Offset 0
|
||||||
MemberDecorate 20(Matrix) 2 Offset 112
|
MemberDecorate 21(Matrix) 0 MatrixStride 16
|
||||||
MemberDecorate 20(Matrix) 2 MatrixStride 16
|
MemberDecorate 21(Matrix) 1 RowMajor
|
||||||
MemberDecorate 20(Matrix) 3 RowMajor
|
MemberDecorate 21(Matrix) 1 Offset 64
|
||||||
MemberDecorate 20(Matrix) 3 Offset 176
|
MemberDecorate 21(Matrix) 1 MatrixStride 16
|
||||||
MemberDecorate 20(Matrix) 3 MatrixStride 16
|
MemberDecorate 21(Matrix) 2 RowMajor
|
||||||
MemberDecorate 20(Matrix) 4 RowMajor
|
MemberDecorate 21(Matrix) 2 Offset 112
|
||||||
MemberDecorate 20(Matrix) 4 Offset 240
|
MemberDecorate 21(Matrix) 2 MatrixStride 16
|
||||||
MemberDecorate 20(Matrix) 4 MatrixStride 16
|
MemberDecorate 21(Matrix) 3 RowMajor
|
||||||
MemberDecorate 20(Matrix) 5 Offset 272
|
MemberDecorate 21(Matrix) 3 Offset 176
|
||||||
MemberDecorate 20(Matrix) 6 Offset 288
|
MemberDecorate 21(Matrix) 3 MatrixStride 16
|
||||||
MemberDecorate 20(Matrix) 7 Offset 304
|
MemberDecorate 21(Matrix) 4 RowMajor
|
||||||
Decorate 20(Matrix) Block
|
MemberDecorate 21(Matrix) 4 Offset 224
|
||||||
Decorate 22 DescriptorSet 0
|
MemberDecorate 21(Matrix) 4 MatrixStride 16
|
||||||
Decorate 137(@entryPointOutput) Location 0
|
MemberDecorate 21(Matrix) 5 RowMajor
|
||||||
|
MemberDecorate 21(Matrix) 5 Offset 288
|
||||||
|
MemberDecorate 21(Matrix) 5 MatrixStride 16
|
||||||
|
MemberDecorate 21(Matrix) 6 Offset 320
|
||||||
|
MemberDecorate 21(Matrix) 7 Offset 336
|
||||||
|
MemberDecorate 21(Matrix) 8 Offset 352
|
||||||
|
Decorate 21(Matrix) Block
|
||||||
|
Decorate 23 DescriptorSet 0
|
||||||
|
Decorate 229(@entryPointOutput) Location 0
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeFloat 32
|
6: TypeFloat 32
|
||||||
@ -275,139 +441,235 @@ gl_FragCoord origin is upper left
|
|||||||
14: TypeVector 6(float) 3
|
14: TypeVector 6(float) 3
|
||||||
15: TypeMatrix 14(fvec3) 4
|
15: TypeMatrix 14(fvec3) 4
|
||||||
16: TypeMatrix 7(fvec4) 3
|
16: TypeMatrix 7(fvec4) 3
|
||||||
17: TypeMatrix 7(fvec4) 2
|
17: TypeMatrix 14(fvec3) 3
|
||||||
18: TypeVector 6(float) 2
|
18: TypeMatrix 7(fvec4) 2
|
||||||
19: TypeMatrix 18(fvec2) 4
|
19: TypeVector 6(float) 2
|
||||||
20(Matrix): TypeStruct 13 15 16 17 19 7(fvec4) 14(fvec3) 18(fvec2)
|
20: TypeMatrix 19(fvec2) 4
|
||||||
21: TypePointer Uniform 20(Matrix)
|
21(Matrix): TypeStruct 13 15 16 17 18 20 7(fvec4) 14(fvec3) 19(fvec2)
|
||||||
22: 21(ptr) Variable Uniform
|
22: TypePointer Uniform 21(Matrix)
|
||||||
23: TypeInt 32 1
|
23: 22(ptr) Variable Uniform
|
||||||
24: 23(int) Constant 7
|
24: TypeInt 32 1
|
||||||
25: TypePointer Uniform 18(fvec2)
|
25: 24(int) Constant 8
|
||||||
28: 23(int) Constant 6
|
26: TypePointer Uniform 19(fvec2)
|
||||||
29: TypePointer Uniform 14(fvec3)
|
29: 24(int) Constant 7
|
||||||
37: 23(int) Constant 5
|
30: TypePointer Uniform 14(fvec3)
|
||||||
38: TypePointer Uniform 7(fvec4)
|
38: 24(int) Constant 6
|
||||||
47: TypePointer Function 7(fvec4)
|
39: TypePointer Uniform 7(fvec4)
|
||||||
49: 23(int) Constant 0
|
48: TypePointer Function 7(fvec4)
|
||||||
50: TypePointer Uniform 13
|
50: 24(int) Constant 0
|
||||||
53: 6(float) Constant 1065353216
|
51: TypePointer Uniform 13
|
||||||
54: 6(float) Constant 0
|
54: 6(float) Constant 1065353216
|
||||||
75: 23(int) Constant 2
|
55: 6(float) Constant 0
|
||||||
76: TypePointer Uniform 16
|
76: 24(int) Constant 2
|
||||||
116: 23(int) Constant 1
|
77: TypePointer Uniform 16
|
||||||
117: TypePointer Uniform 15
|
117: 24(int) Constant 1
|
||||||
136: TypePointer Output 7(fvec4)
|
118: TypePointer Uniform 15
|
||||||
137(@entryPointOutput): 136(ptr) Variable Output
|
122: TypeMatrix 14(fvec3) 2
|
||||||
|
123: TypePointer Function 122
|
||||||
|
125: 24(int) Constant 3
|
||||||
|
126: TypePointer Uniform 17
|
||||||
|
129: 24(int) Constant 4
|
||||||
|
130: TypePointer Uniform 18
|
||||||
|
143: TypePointer Function 16
|
||||||
|
149: TypeMatrix 19(fvec2) 3
|
||||||
|
161: TypePointer Function 149
|
||||||
|
163: 24(int) Constant 5
|
||||||
|
164: TypePointer Uniform 20
|
||||||
|
180: TypePointer Function 15
|
||||||
|
209: TypeInt 32 0
|
||||||
|
210: 209(int) Constant 0
|
||||||
|
228: TypePointer Output 7(fvec4)
|
||||||
|
229(@entryPointOutput): 228(ptr) Variable Output
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
138: 7(fvec4) FunctionCall 9(@main()
|
230: 7(fvec4) FunctionCall 9(@main()
|
||||||
Store 137(@entryPointOutput) 138
|
Store 229(@entryPointOutput) 230
|
||||||
Return
|
Return
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
9(@main(): 7(fvec4) Function None 8
|
9(@main(): 7(fvec4) Function None 8
|
||||||
10: Label
|
10: Label
|
||||||
12(r00): 11(ptr) Variable Function
|
12(r00): 11(ptr) Variable Function
|
||||||
36(r01): 11(ptr) Variable Function
|
37(r01): 11(ptr) Variable Function
|
||||||
48(r10): 47(ptr) Variable Function
|
49(r10): 48(ptr) Variable Function
|
||||||
74(r11): 47(ptr) Variable Function
|
75(r11): 48(ptr) Variable Function
|
||||||
86(r20): 47(ptr) Variable Function
|
87(r20): 48(ptr) Variable Function
|
||||||
109(r21): 47(ptr) Variable Function
|
110(r21): 48(ptr) Variable Function
|
||||||
26: 25(ptr) AccessChain 22 24
|
124(r30): 123(ptr) Variable Function
|
||||||
27: 18(fvec2) Load 26
|
144(r31): 143(ptr) Variable Function
|
||||||
30: 29(ptr) AccessChain 22 28
|
162(r32): 161(ptr) Variable Function
|
||||||
31: 14(fvec3) Load 30
|
181(r33): 180(ptr) Variable Function
|
||||||
32: 6(float) CompositeExtract 31 0
|
27: 26(ptr) AccessChain 23 25
|
||||||
33: 6(float) CompositeExtract 31 1
|
28: 19(fvec2) Load 27
|
||||||
34: 18(fvec2) CompositeConstruct 32 33
|
31: 30(ptr) AccessChain 23 29
|
||||||
35: 6(float) Dot 27 34
|
32: 14(fvec3) Load 31
|
||||||
Store 12(r00) 35
|
33: 6(float) CompositeExtract 32 0
|
||||||
39: 38(ptr) AccessChain 22 37
|
34: 6(float) CompositeExtract 32 1
|
||||||
40: 7(fvec4) Load 39
|
35: 19(fvec2) CompositeConstruct 33 34
|
||||||
41: 6(float) CompositeExtract 40 0
|
36: 6(float) Dot 28 35
|
||||||
42: 6(float) CompositeExtract 40 1
|
Store 12(r00) 36
|
||||||
43: 18(fvec2) CompositeConstruct 41 42
|
40: 39(ptr) AccessChain 23 38
|
||||||
44: 25(ptr) AccessChain 22 24
|
41: 7(fvec4) Load 40
|
||||||
45: 18(fvec2) Load 44
|
42: 6(float) CompositeExtract 41 0
|
||||||
46: 6(float) Dot 43 45
|
43: 6(float) CompositeExtract 41 1
|
||||||
Store 36(r01) 46
|
44: 19(fvec2) CompositeConstruct 42 43
|
||||||
51: 50(ptr) AccessChain 22 49
|
45: 26(ptr) AccessChain 23 25
|
||||||
52: 13 Load 51
|
46: 19(fvec2) Load 45
|
||||||
55: 6(float) CompositeExtract 52 0 0
|
47: 6(float) Dot 44 46
|
||||||
56: 6(float) CompositeExtract 52 0 1
|
Store 37(r01) 47
|
||||||
57: 6(float) CompositeExtract 52 0 2
|
52: 51(ptr) AccessChain 23 50
|
||||||
58: 6(float) CompositeExtract 52 0 3
|
53: 13 Load 52
|
||||||
59: 6(float) CompositeExtract 52 1 0
|
56: 6(float) CompositeExtract 53 0 0
|
||||||
60: 6(float) CompositeExtract 52 1 1
|
57: 6(float) CompositeExtract 53 0 1
|
||||||
61: 6(float) CompositeExtract 52 1 2
|
58: 6(float) CompositeExtract 53 0 2
|
||||||
62: 6(float) CompositeExtract 52 1 3
|
59: 6(float) CompositeExtract 53 0 3
|
||||||
63: 6(float) CompositeExtract 52 2 0
|
60: 6(float) CompositeExtract 53 1 0
|
||||||
64: 6(float) CompositeExtract 52 2 1
|
61: 6(float) CompositeExtract 53 1 1
|
||||||
65: 6(float) CompositeExtract 52 2 2
|
62: 6(float) CompositeExtract 53 1 2
|
||||||
66: 6(float) CompositeExtract 52 2 3
|
63: 6(float) CompositeExtract 53 1 3
|
||||||
67: 7(fvec4) CompositeConstruct 55 56 57 58
|
64: 6(float) CompositeExtract 53 2 0
|
||||||
68: 7(fvec4) CompositeConstruct 59 60 61 62
|
65: 6(float) CompositeExtract 53 2 1
|
||||||
69: 7(fvec4) CompositeConstruct 63 64 65 66
|
66: 6(float) CompositeExtract 53 2 2
|
||||||
70: 16 CompositeConstruct 67 68 69
|
67: 6(float) CompositeExtract 53 2 3
|
||||||
71: 29(ptr) AccessChain 22 28
|
68: 7(fvec4) CompositeConstruct 56 57 58 59
|
||||||
72: 14(fvec3) Load 71
|
69: 7(fvec4) CompositeConstruct 60 61 62 63
|
||||||
73: 7(fvec4) MatrixTimesVector 70 72
|
70: 7(fvec4) CompositeConstruct 64 65 66 67
|
||||||
Store 48(r10) 73
|
71: 16 CompositeConstruct 68 69 70
|
||||||
77: 76(ptr) AccessChain 22 75
|
72: 30(ptr) AccessChain 23 29
|
||||||
78: 16 Load 77
|
73: 14(fvec3) Load 72
|
||||||
79: 38(ptr) AccessChain 22 37
|
74: 7(fvec4) MatrixTimesVector 71 73
|
||||||
80: 7(fvec4) Load 79
|
Store 49(r10) 74
|
||||||
81: 6(float) CompositeExtract 80 0
|
78: 77(ptr) AccessChain 23 76
|
||||||
82: 6(float) CompositeExtract 80 1
|
79: 16 Load 78
|
||||||
83: 6(float) CompositeExtract 80 2
|
80: 39(ptr) AccessChain 23 38
|
||||||
84: 14(fvec3) CompositeConstruct 81 82 83
|
81: 7(fvec4) Load 80
|
||||||
85: 7(fvec4) MatrixTimesVector 78 84
|
82: 6(float) CompositeExtract 81 0
|
||||||
Store 74(r11) 85
|
83: 6(float) CompositeExtract 81 1
|
||||||
87: 29(ptr) AccessChain 22 28
|
84: 6(float) CompositeExtract 81 2
|
||||||
88: 14(fvec3) Load 87
|
85: 14(fvec3) CompositeConstruct 82 83 84
|
||||||
89: 50(ptr) AccessChain 22 49
|
86: 7(fvec4) MatrixTimesVector 79 85
|
||||||
90: 13 Load 89
|
Store 75(r11) 86
|
||||||
91: 6(float) CompositeExtract 90 0 0
|
88: 30(ptr) AccessChain 23 29
|
||||||
92: 6(float) CompositeExtract 90 0 1
|
89: 14(fvec3) Load 88
|
||||||
93: 6(float) CompositeExtract 90 0 2
|
90: 51(ptr) AccessChain 23 50
|
||||||
94: 6(float) CompositeExtract 90 1 0
|
91: 13 Load 90
|
||||||
95: 6(float) CompositeExtract 90 1 1
|
92: 6(float) CompositeExtract 91 0 0
|
||||||
96: 6(float) CompositeExtract 90 1 2
|
93: 6(float) CompositeExtract 91 0 1
|
||||||
97: 6(float) CompositeExtract 90 2 0
|
94: 6(float) CompositeExtract 91 0 2
|
||||||
98: 6(float) CompositeExtract 90 2 1
|
95: 6(float) CompositeExtract 91 1 0
|
||||||
99: 6(float) CompositeExtract 90 2 2
|
96: 6(float) CompositeExtract 91 1 1
|
||||||
100: 6(float) CompositeExtract 90 3 0
|
97: 6(float) CompositeExtract 91 1 2
|
||||||
101: 6(float) CompositeExtract 90 3 1
|
98: 6(float) CompositeExtract 91 2 0
|
||||||
102: 6(float) CompositeExtract 90 3 2
|
99: 6(float) CompositeExtract 91 2 1
|
||||||
103: 14(fvec3) CompositeConstruct 91 92 93
|
100: 6(float) CompositeExtract 91 2 2
|
||||||
104: 14(fvec3) CompositeConstruct 94 95 96
|
101: 6(float) CompositeExtract 91 3 0
|
||||||
105: 14(fvec3) CompositeConstruct 97 98 99
|
102: 6(float) CompositeExtract 91 3 1
|
||||||
106: 14(fvec3) CompositeConstruct 100 101 102
|
103: 6(float) CompositeExtract 91 3 2
|
||||||
107: 15 CompositeConstruct 103 104 105 106
|
104: 14(fvec3) CompositeConstruct 92 93 94
|
||||||
108: 7(fvec4) VectorTimesMatrix 88 107
|
105: 14(fvec3) CompositeConstruct 95 96 97
|
||||||
Store 86(r20) 108
|
106: 14(fvec3) CompositeConstruct 98 99 100
|
||||||
110: 38(ptr) AccessChain 22 37
|
107: 14(fvec3) CompositeConstruct 101 102 103
|
||||||
111: 7(fvec4) Load 110
|
108: 15 CompositeConstruct 104 105 106 107
|
||||||
112: 6(float) CompositeExtract 111 0
|
109: 7(fvec4) VectorTimesMatrix 89 108
|
||||||
113: 6(float) CompositeExtract 111 1
|
Store 87(r20) 109
|
||||||
114: 6(float) CompositeExtract 111 2
|
111: 39(ptr) AccessChain 23 38
|
||||||
115: 14(fvec3) CompositeConstruct 112 113 114
|
112: 7(fvec4) Load 111
|
||||||
118: 117(ptr) AccessChain 22 116
|
113: 6(float) CompositeExtract 112 0
|
||||||
119: 15 Load 118
|
114: 6(float) CompositeExtract 112 1
|
||||||
120: 7(fvec4) VectorTimesMatrix 115 119
|
115: 6(float) CompositeExtract 112 2
|
||||||
Store 109(r21) 120
|
116: 14(fvec3) CompositeConstruct 113 114 115
|
||||||
121: 7(fvec4) Load 48(r10)
|
119: 118(ptr) AccessChain 23 117
|
||||||
122: 7(fvec4) Load 74(r11)
|
120: 15 Load 119
|
||||||
123: 7(fvec4) FAdd 121 122
|
121: 7(fvec4) VectorTimesMatrix 116 120
|
||||||
124: 7(fvec4) Load 86(r20)
|
Store 110(r21) 121
|
||||||
125: 7(fvec4) FAdd 123 124
|
127: 126(ptr) AccessChain 23 125
|
||||||
126: 7(fvec4) Load 109(r21)
|
128: 17 Load 127
|
||||||
127: 7(fvec4) FAdd 125 126
|
131: 130(ptr) AccessChain 23 129
|
||||||
128: 6(float) Load 12(r00)
|
132: 18 Load 131
|
||||||
129: 7(fvec4) CompositeConstruct 128 128 128 128
|
133: 6(float) CompositeExtract 132 0 0
|
||||||
130: 7(fvec4) FAdd 127 129
|
134: 6(float) CompositeExtract 132 0 1
|
||||||
131: 6(float) Load 36(r01)
|
135: 6(float) CompositeExtract 132 0 2
|
||||||
132: 7(fvec4) CompositeConstruct 131 131 131 131
|
136: 6(float) CompositeExtract 132 1 0
|
||||||
133: 7(fvec4) FAdd 130 132
|
137: 6(float) CompositeExtract 132 1 1
|
||||||
ReturnValue 133
|
138: 6(float) CompositeExtract 132 1 2
|
||||||
|
139: 14(fvec3) CompositeConstruct 133 134 135
|
||||||
|
140: 14(fvec3) CompositeConstruct 136 137 138
|
||||||
|
141: 122 CompositeConstruct 139 140
|
||||||
|
142: 122 MatrixTimesMatrix 128 141
|
||||||
|
Store 124(r30) 142
|
||||||
|
145: 130(ptr) AccessChain 23 129
|
||||||
|
146: 18 Load 145
|
||||||
|
147: 126(ptr) AccessChain 23 125
|
||||||
|
148: 17 Load 147
|
||||||
|
150: 6(float) CompositeExtract 148 0 0
|
||||||
|
151: 6(float) CompositeExtract 148 0 1
|
||||||
|
152: 6(float) CompositeExtract 148 1 0
|
||||||
|
153: 6(float) CompositeExtract 148 1 1
|
||||||
|
154: 6(float) CompositeExtract 148 2 0
|
||||||
|
155: 6(float) CompositeExtract 148 2 1
|
||||||
|
156: 19(fvec2) CompositeConstruct 150 151
|
||||||
|
157: 19(fvec2) CompositeConstruct 152 153
|
||||||
|
158: 19(fvec2) CompositeConstruct 154 155
|
||||||
|
159: 149 CompositeConstruct 156 157 158
|
||||||
|
160: 16 MatrixTimesMatrix 146 159
|
||||||
|
Store 144(r31) 160
|
||||||
|
165: 164(ptr) AccessChain 23 163
|
||||||
|
166: 20 Load 165
|
||||||
|
167: 6(float) CompositeExtract 166 0 0
|
||||||
|
168: 6(float) CompositeExtract 166 0 1
|
||||||
|
169: 6(float) CompositeExtract 166 1 0
|
||||||
|
170: 6(float) CompositeExtract 166 1 1
|
||||||
|
171: 6(float) CompositeExtract 166 2 0
|
||||||
|
172: 6(float) CompositeExtract 166 2 1
|
||||||
|
173: 19(fvec2) CompositeConstruct 167 168
|
||||||
|
174: 19(fvec2) CompositeConstruct 169 170
|
||||||
|
175: 19(fvec2) CompositeConstruct 171 172
|
||||||
|
176: 149 CompositeConstruct 173 174 175
|
||||||
|
177: 126(ptr) AccessChain 23 125
|
||||||
|
178: 17 Load 177
|
||||||
|
179: 149 MatrixTimesMatrix 176 178
|
||||||
|
Store 162(r32) 179
|
||||||
|
182: 126(ptr) AccessChain 23 125
|
||||||
|
183: 17 Load 182
|
||||||
|
184: 6(float) CompositeExtract 183 0 0
|
||||||
|
185: 6(float) CompositeExtract 183 0 1
|
||||||
|
186: 6(float) CompositeExtract 183 0 2
|
||||||
|
187: 6(float) CompositeExtract 183 1 0
|
||||||
|
188: 6(float) CompositeExtract 183 1 1
|
||||||
|
189: 6(float) CompositeExtract 183 1 2
|
||||||
|
190: 14(fvec3) CompositeConstruct 184 185 186
|
||||||
|
191: 14(fvec3) CompositeConstruct 187 188 189
|
||||||
|
192: 122 CompositeConstruct 190 191
|
||||||
|
193: 164(ptr) AccessChain 23 163
|
||||||
|
194: 20 Load 193
|
||||||
|
195: 15 MatrixTimesMatrix 192 194
|
||||||
|
Store 181(r33) 195
|
||||||
|
196: 7(fvec4) Load 49(r10)
|
||||||
|
197: 7(fvec4) Load 75(r11)
|
||||||
|
198: 7(fvec4) FAdd 196 197
|
||||||
|
199: 7(fvec4) Load 87(r20)
|
||||||
|
200: 7(fvec4) FAdd 198 199
|
||||||
|
201: 7(fvec4) Load 110(r21)
|
||||||
|
202: 7(fvec4) FAdd 200 201
|
||||||
|
203: 6(float) Load 12(r00)
|
||||||
|
204: 7(fvec4) CompositeConstruct 203 203 203 203
|
||||||
|
205: 7(fvec4) FAdd 202 204
|
||||||
|
206: 6(float) Load 37(r01)
|
||||||
|
207: 7(fvec4) CompositeConstruct 206 206 206 206
|
||||||
|
208: 7(fvec4) FAdd 205 207
|
||||||
|
211: 11(ptr) AccessChain 124(r30) 50 210
|
||||||
|
212: 6(float) Load 211
|
||||||
|
213: 7(fvec4) CompositeConstruct 212 212 212 212
|
||||||
|
214: 7(fvec4) FAdd 208 213
|
||||||
|
215: 48(ptr) AccessChain 144(r31) 50
|
||||||
|
216: 7(fvec4) Load 215
|
||||||
|
217: 7(fvec4) FAdd 214 216
|
||||||
|
218: 11(ptr) AccessChain 162(r32) 50 210
|
||||||
|
219: 6(float) Load 218
|
||||||
|
220: 7(fvec4) CompositeConstruct 219 219 219 219
|
||||||
|
221: 7(fvec4) FAdd 217 220
|
||||||
|
222: 15 Load 181(r33)
|
||||||
|
223: 16 Transpose 222
|
||||||
|
224: 7(fvec4) CompositeExtract 223 0
|
||||||
|
225: 7(fvec4) FAdd 221 224
|
||||||
|
ReturnValue 225
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
@ -6,6 +6,7 @@ cbuffer Matrix
|
|||||||
float4x4 m44;
|
float4x4 m44;
|
||||||
float4x3 m43;
|
float4x3 m43;
|
||||||
float3x4 m34;
|
float3x4 m34;
|
||||||
|
float3x3 m33;
|
||||||
float2x4 m24;
|
float2x4 m24;
|
||||||
float4x2 m42;
|
float4x2 m42;
|
||||||
float4 v4;
|
float4 v4;
|
||||||
@ -27,11 +28,11 @@ float4 main() : SV_Target0
|
|||||||
float4 r20 = mul(m44, v3); // float4 = float4x4 * float3; // clamp mat to float4x3;
|
float4 r20 = mul(m44, v3); // float4 = float4x4 * float3; // clamp mat to float4x3;
|
||||||
float4 r21 = mul(m43, v4); // truncate vector to vec3
|
float4 r21 = mul(m43, v4); // truncate vector to vec3
|
||||||
|
|
||||||
// // m*m
|
// m*m
|
||||||
// float2x3 r30 = mul(m24, m33); // float2x3 = float2x4 * float3x3;
|
float2x3 r30 = mul(m24, m33); // float2x3 = float2x4 * float3x3;
|
||||||
// float3x4 r31 = mul(m33, m24); // float3x4 = float3x3 * float2x4;
|
float3x4 r31 = mul(m33, m24); // float3x4 = float3x3 * float2x4;
|
||||||
// float3x2 r32 = mul(m33, m42); // float3x2 = float3x3 * float4x2;
|
float3x2 r32 = mul(m33, m42); // float3x2 = float3x3 * float4x2;
|
||||||
// float4x3 r33 = mul(m42, m33); // float4x3 = float4x2 * float3x3;
|
float4x3 r33 = mul(m42, m33); // float4x3 = float4x2 * float3x3;
|
||||||
|
|
||||||
return r10 + r11 + r20 + r21 + r00 + r01; // + r30[0].x + r31[0] + r32[0].x + transpose(r33)[0];
|
return r10 + r11 + r20 + r21 + r00 + r01 + r30[0].x + r31[0] + r32[0].x + transpose(r33)[0];
|
||||||
}
|
}
|
||||||
|
@ -5178,7 +5178,7 @@ void HlslParseContext::pushFrontArguments(TIntermTyped* front, TIntermTyped*& ar
|
|||||||
//
|
//
|
||||||
// HLSL allows mismatched dimensions on vec*mat, mat*vec, vec*vec, and mat*mat. This is a
|
// HLSL allows mismatched dimensions on vec*mat, mat*vec, vec*vec, and mat*mat. This is a
|
||||||
// situation not well suited to resolution in intrinsic selection, but we can do so here, since we
|
// situation not well suited to resolution in intrinsic selection, but we can do so here, since we
|
||||||
// can look at both arguments insert explicit shape changes here, if required.
|
// can look at both arguments insert explicit shape changes if required.
|
||||||
//
|
//
|
||||||
void HlslParseContext::addGenMulArgumentConversion(const TSourceLoc& loc, TFunction& call, TIntermTyped*& args)
|
void HlslParseContext::addGenMulArgumentConversion(const TSourceLoc& loc, TFunction& call, TIntermTyped*& args)
|
||||||
{
|
{
|
||||||
@ -5224,12 +5224,23 @@ void HlslParseContext::addGenMulArgumentConversion(const TSourceLoc& loc, TFunct
|
|||||||
arg1 = addConstructor(loc, arg1, truncType);
|
arg1 = addConstructor(loc, arg1, truncType);
|
||||||
}
|
}
|
||||||
} else if (arg0->isMatrix() && arg1->isMatrix()) {
|
} else if (arg0->isMatrix() && arg1->isMatrix()) {
|
||||||
// mat * mat
|
// mat * mat: we clamp the smaller inner dimension to match the other matrix size.
|
||||||
|
// Remember, HLSL Mrc = GLSL/SPIRV Mcr.
|
||||||
|
if (arg0->getMatrixRows() > arg1->getMatrixCols()) {
|
||||||
|
const TType truncType(arg0->getBasicType(), arg0->getQualifier().storage, arg0->getQualifier().precision,
|
||||||
|
0, arg0->getMatrixCols(), arg1->getMatrixCols());
|
||||||
|
arg0 = addConstructor(loc, arg0, truncType);
|
||||||
|
} else if (arg0->getMatrixRows() < arg1->getMatrixCols()) {
|
||||||
|
const TType truncType(arg1->getBasicType(), arg1->getQualifier().storage, arg1->getQualifier().precision,
|
||||||
|
0, arg0->getMatrixRows(), arg1->getMatrixRows());
|
||||||
|
arg1 = addConstructor(loc, arg1, truncType);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// It's something with scalars: we'll just leave it alone.
|
// It's something with scalars: we'll just leave it alone. Function selection will handle it
|
||||||
|
// downstream.
|
||||||
}
|
}
|
||||||
|
|
||||||
// Put arguments back.
|
// Put arguments back. (They might be unchanged, in which case this is harmless).
|
||||||
argAggregate->getSequence()[0] = arg0;
|
argAggregate->getSequence()[0] = arg0;
|
||||||
argAggregate->getSequence()[1] = arg1;
|
argAggregate->getSequence()[1] = arg1;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user