This PR adds a CreateParseContext() fn analogous to CreateBuiltInParseables(), to create a language specific built in parser. (This code was present before but not encapsualted in a fn). This can now be used to create a source language specific parser for builtins. Along with this, the code creating HLSL intrinsic prototypes can now produce them in HLSL syntax, rather than GLSL syntax. This relaxes certain prior restrictions at the parser level. Lower layers (e.g, SPIR-V) may still have such restrictions, such as around Nx1 matrices: this code does not impact that. This PR also fleshes out matrix types for bools and ints, both of which were partially in place before. This was easier than maintaining the restrictions in the HLSL prototype generator to avoid creating protoypes with those types. Many tests change because the result type from intrinsics moves from "global" to "temp". Several new tests are added for the new types.
739 lines
34 KiB
Plaintext
739 lines
34 KiB
Plaintext
hlsl.matType.int.frag
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:3 Function Definition: TestIntMatTypes( (temp void)
|
|
0:3 Function Parameters:
|
|
0:? Sequence
|
|
0:25 Sequence
|
|
0:25 move second child to first child (temp 1X1 matrix of int)
|
|
0:25 'r00' (temp 1X1 matrix of int)
|
|
0:25 transpose (temp 1X1 matrix of int)
|
|
0:25 'i1x1' (temp 1X1 matrix of int)
|
|
0:26 Sequence
|
|
0:26 move second child to first child (temp 1X2 matrix of int)
|
|
0:26 'r01' (temp 1X2 matrix of int)
|
|
0:26 transpose (temp 1X2 matrix of int)
|
|
0:26 'i2x1' (temp 2X1 matrix of int)
|
|
0:27 Sequence
|
|
0:27 move second child to first child (temp 1X3 matrix of int)
|
|
0:27 'r02' (temp 1X3 matrix of int)
|
|
0:27 transpose (temp 1X3 matrix of int)
|
|
0:27 'i3x1' (temp 3X1 matrix of int)
|
|
0:28 Sequence
|
|
0:28 move second child to first child (temp 1X4 matrix of int)
|
|
0:28 'r03' (temp 1X4 matrix of int)
|
|
0:28 transpose (temp 1X4 matrix of int)
|
|
0:28 'i4x1' (temp 4X1 matrix of int)
|
|
0:30 Sequence
|
|
0:30 move second child to first child (temp 2X1 matrix of int)
|
|
0:30 'r10' (temp 2X1 matrix of int)
|
|
0:30 transpose (temp 2X1 matrix of int)
|
|
0:30 'i1x2' (temp 1X2 matrix of int)
|
|
0:31 Sequence
|
|
0:31 move second child to first child (temp 2X2 matrix of int)
|
|
0:31 'r11' (temp 2X2 matrix of int)
|
|
0:31 transpose (temp 2X2 matrix of int)
|
|
0:31 'i2x2' (temp 2X2 matrix of int)
|
|
0:32 Sequence
|
|
0:32 move second child to first child (temp 2X3 matrix of int)
|
|
0:32 'r12' (temp 2X3 matrix of int)
|
|
0:32 transpose (temp 2X3 matrix of int)
|
|
0:32 'i3x2' (temp 3X2 matrix of int)
|
|
0:33 Sequence
|
|
0:33 move second child to first child (temp 2X4 matrix of int)
|
|
0:33 'r13' (temp 2X4 matrix of int)
|
|
0:33 transpose (temp 2X4 matrix of int)
|
|
0:33 'i4x2' (temp 4X2 matrix of int)
|
|
0:35 Sequence
|
|
0:35 move second child to first child (temp 3X1 matrix of int)
|
|
0:35 'r20' (temp 3X1 matrix of int)
|
|
0:35 transpose (temp 3X1 matrix of int)
|
|
0:35 'i1x3' (temp 1X3 matrix of int)
|
|
0:36 Sequence
|
|
0:36 move second child to first child (temp 3X2 matrix of int)
|
|
0:36 'r21' (temp 3X2 matrix of int)
|
|
0:36 transpose (temp 3X2 matrix of int)
|
|
0:36 'i2x3' (temp 2X3 matrix of int)
|
|
0:37 Sequence
|
|
0:37 move second child to first child (temp 3X3 matrix of int)
|
|
0:37 'r22' (temp 3X3 matrix of int)
|
|
0:37 transpose (temp 3X3 matrix of int)
|
|
0:37 'i3x3' (temp 3X3 matrix of int)
|
|
0:38 Sequence
|
|
0:38 move second child to first child (temp 3X4 matrix of int)
|
|
0:38 'r23' (temp 3X4 matrix of int)
|
|
0:38 transpose (temp 3X4 matrix of int)
|
|
0:38 'i4x3' (temp 4X3 matrix of int)
|
|
0:40 Sequence
|
|
0:40 move second child to first child (temp 4X1 matrix of int)
|
|
0:40 'r30' (temp 4X1 matrix of int)
|
|
0:40 transpose (temp 4X1 matrix of int)
|
|
0:40 'i1x4' (temp 1X4 matrix of int)
|
|
0:41 Sequence
|
|
0:41 move second child to first child (temp 4X2 matrix of int)
|
|
0:41 'r31' (temp 4X2 matrix of int)
|
|
0:41 transpose (temp 4X2 matrix of int)
|
|
0:41 'i2x4' (temp 2X4 matrix of int)
|
|
0:42 Sequence
|
|
0:42 move second child to first child (temp 4X3 matrix of int)
|
|
0:42 'r32' (temp 4X3 matrix of int)
|
|
0:42 transpose (temp 4X3 matrix of int)
|
|
0:42 'i3x4' (temp 3X4 matrix of int)
|
|
0:43 Sequence
|
|
0:43 move second child to first child (temp 4X4 matrix of int)
|
|
0:43 'r33' (temp 4X4 matrix of int)
|
|
0:43 transpose (temp 4X4 matrix of int)
|
|
0:43 'i4x4' (temp 4X4 matrix of int)
|
|
0:47 Function Definition: TestUintMatTypes( (temp void)
|
|
0:47 Function Parameters:
|
|
0:? Sequence
|
|
0:69 Sequence
|
|
0:69 move second child to first child (temp 1X1 matrix of uint)
|
|
0:69 'r00' (temp 1X1 matrix of uint)
|
|
0:69 transpose (temp 1X1 matrix of uint)
|
|
0:69 'u1x1' (temp 1X1 matrix of uint)
|
|
0:70 Sequence
|
|
0:70 move second child to first child (temp 1X2 matrix of uint)
|
|
0:70 'r01' (temp 1X2 matrix of uint)
|
|
0:70 transpose (temp 1X2 matrix of uint)
|
|
0:70 'u2x1' (temp 2X1 matrix of uint)
|
|
0:71 Sequence
|
|
0:71 move second child to first child (temp 1X3 matrix of uint)
|
|
0:71 'r02' (temp 1X3 matrix of uint)
|
|
0:71 transpose (temp 1X3 matrix of uint)
|
|
0:71 'u3x1' (temp 3X1 matrix of uint)
|
|
0:72 Sequence
|
|
0:72 move second child to first child (temp 1X4 matrix of uint)
|
|
0:72 'r03' (temp 1X4 matrix of uint)
|
|
0:72 transpose (temp 1X4 matrix of uint)
|
|
0:72 'u4x1' (temp 4X1 matrix of uint)
|
|
0:74 Sequence
|
|
0:74 move second child to first child (temp 2X1 matrix of uint)
|
|
0:74 'r10' (temp 2X1 matrix of uint)
|
|
0:74 transpose (temp 2X1 matrix of uint)
|
|
0:74 'u1x2' (temp 1X2 matrix of uint)
|
|
0:75 Sequence
|
|
0:75 move second child to first child (temp 2X2 matrix of uint)
|
|
0:75 'r11' (temp 2X2 matrix of uint)
|
|
0:75 transpose (temp 2X2 matrix of uint)
|
|
0:75 'u2x2' (temp 2X2 matrix of uint)
|
|
0:76 Sequence
|
|
0:76 move second child to first child (temp 2X3 matrix of uint)
|
|
0:76 'r12' (temp 2X3 matrix of uint)
|
|
0:76 transpose (temp 2X3 matrix of uint)
|
|
0:76 'u3x2' (temp 3X2 matrix of uint)
|
|
0:77 Sequence
|
|
0:77 move second child to first child (temp 2X4 matrix of uint)
|
|
0:77 'r13' (temp 2X4 matrix of uint)
|
|
0:77 transpose (temp 2X4 matrix of uint)
|
|
0:77 'u4x2' (temp 4X2 matrix of uint)
|
|
0:79 Sequence
|
|
0:79 move second child to first child (temp 3X1 matrix of uint)
|
|
0:79 'r20' (temp 3X1 matrix of uint)
|
|
0:79 transpose (temp 3X1 matrix of uint)
|
|
0:79 'u1x3' (temp 1X3 matrix of uint)
|
|
0:80 Sequence
|
|
0:80 move second child to first child (temp 3X2 matrix of uint)
|
|
0:80 'r21' (temp 3X2 matrix of uint)
|
|
0:80 transpose (temp 3X2 matrix of uint)
|
|
0:80 'u2x3' (temp 2X3 matrix of uint)
|
|
0:81 Sequence
|
|
0:81 move second child to first child (temp 3X3 matrix of uint)
|
|
0:81 'r22' (temp 3X3 matrix of uint)
|
|
0:81 transpose (temp 3X3 matrix of uint)
|
|
0:81 'u3x3' (temp 3X3 matrix of uint)
|
|
0:82 Sequence
|
|
0:82 move second child to first child (temp 3X4 matrix of uint)
|
|
0:82 'r23' (temp 3X4 matrix of uint)
|
|
0:82 transpose (temp 3X4 matrix of uint)
|
|
0:82 'u4x3' (temp 4X3 matrix of uint)
|
|
0:84 Sequence
|
|
0:84 move second child to first child (temp 4X1 matrix of uint)
|
|
0:84 'r30' (temp 4X1 matrix of uint)
|
|
0:84 transpose (temp 4X1 matrix of uint)
|
|
0:84 'u1x4' (temp 1X4 matrix of uint)
|
|
0:85 Sequence
|
|
0:85 move second child to first child (temp 4X2 matrix of uint)
|
|
0:85 'r31' (temp 4X2 matrix of uint)
|
|
0:85 transpose (temp 4X2 matrix of uint)
|
|
0:85 'u2x4' (temp 2X4 matrix of uint)
|
|
0:86 Sequence
|
|
0:86 move second child to first child (temp 4X3 matrix of uint)
|
|
0:86 'r32' (temp 4X3 matrix of uint)
|
|
0:86 transpose (temp 4X3 matrix of uint)
|
|
0:86 'u3x4' (temp 3X4 matrix of uint)
|
|
0:87 Sequence
|
|
0:87 move second child to first child (temp 4X4 matrix of uint)
|
|
0:87 'r33' (temp 4X4 matrix of uint)
|
|
0:87 transpose (temp 4X4 matrix of uint)
|
|
0:87 'u4x4' (temp 4X4 matrix of uint)
|
|
0:93 Function Definition: main( (temp structure{temp 4-component vector of float color})
|
|
0:93 Function Parameters:
|
|
0:? Sequence
|
|
0:95 move second child to first child (temp 4-component vector of float)
|
|
0:95 color: direct index for structure (temp 4-component vector of float)
|
|
0:95 'ps_output' (temp structure{temp 4-component vector of float color})
|
|
0:95 Constant:
|
|
0:95 0 (const int)
|
|
0:? Constant:
|
|
0:? 0.000000
|
|
0:? 0.000000
|
|
0:? 0.000000
|
|
0:? 0.000000
|
|
0:96 Sequence
|
|
0:96 Sequence
|
|
0:96 move second child to first child (temp 4-component vector of float)
|
|
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
|
0:96 color: direct index for structure (temp 4-component vector of float)
|
|
0:96 'ps_output' (temp structure{temp 4-component vector of float color})
|
|
0:96 Constant:
|
|
0:96 0 (const int)
|
|
0:96 Branch: Return
|
|
0:? Linker Objects
|
|
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:3 Function Definition: TestIntMatTypes( (temp void)
|
|
0:3 Function Parameters:
|
|
0:? Sequence
|
|
0:25 Sequence
|
|
0:25 move second child to first child (temp 1X1 matrix of int)
|
|
0:25 'r00' (temp 1X1 matrix of int)
|
|
0:25 transpose (temp 1X1 matrix of int)
|
|
0:25 'i1x1' (temp 1X1 matrix of int)
|
|
0:26 Sequence
|
|
0:26 move second child to first child (temp 1X2 matrix of int)
|
|
0:26 'r01' (temp 1X2 matrix of int)
|
|
0:26 transpose (temp 1X2 matrix of int)
|
|
0:26 'i2x1' (temp 2X1 matrix of int)
|
|
0:27 Sequence
|
|
0:27 move second child to first child (temp 1X3 matrix of int)
|
|
0:27 'r02' (temp 1X3 matrix of int)
|
|
0:27 transpose (temp 1X3 matrix of int)
|
|
0:27 'i3x1' (temp 3X1 matrix of int)
|
|
0:28 Sequence
|
|
0:28 move second child to first child (temp 1X4 matrix of int)
|
|
0:28 'r03' (temp 1X4 matrix of int)
|
|
0:28 transpose (temp 1X4 matrix of int)
|
|
0:28 'i4x1' (temp 4X1 matrix of int)
|
|
0:30 Sequence
|
|
0:30 move second child to first child (temp 2X1 matrix of int)
|
|
0:30 'r10' (temp 2X1 matrix of int)
|
|
0:30 transpose (temp 2X1 matrix of int)
|
|
0:30 'i1x2' (temp 1X2 matrix of int)
|
|
0:31 Sequence
|
|
0:31 move second child to first child (temp 2X2 matrix of int)
|
|
0:31 'r11' (temp 2X2 matrix of int)
|
|
0:31 transpose (temp 2X2 matrix of int)
|
|
0:31 'i2x2' (temp 2X2 matrix of int)
|
|
0:32 Sequence
|
|
0:32 move second child to first child (temp 2X3 matrix of int)
|
|
0:32 'r12' (temp 2X3 matrix of int)
|
|
0:32 transpose (temp 2X3 matrix of int)
|
|
0:32 'i3x2' (temp 3X2 matrix of int)
|
|
0:33 Sequence
|
|
0:33 move second child to first child (temp 2X4 matrix of int)
|
|
0:33 'r13' (temp 2X4 matrix of int)
|
|
0:33 transpose (temp 2X4 matrix of int)
|
|
0:33 'i4x2' (temp 4X2 matrix of int)
|
|
0:35 Sequence
|
|
0:35 move second child to first child (temp 3X1 matrix of int)
|
|
0:35 'r20' (temp 3X1 matrix of int)
|
|
0:35 transpose (temp 3X1 matrix of int)
|
|
0:35 'i1x3' (temp 1X3 matrix of int)
|
|
0:36 Sequence
|
|
0:36 move second child to first child (temp 3X2 matrix of int)
|
|
0:36 'r21' (temp 3X2 matrix of int)
|
|
0:36 transpose (temp 3X2 matrix of int)
|
|
0:36 'i2x3' (temp 2X3 matrix of int)
|
|
0:37 Sequence
|
|
0:37 move second child to first child (temp 3X3 matrix of int)
|
|
0:37 'r22' (temp 3X3 matrix of int)
|
|
0:37 transpose (temp 3X3 matrix of int)
|
|
0:37 'i3x3' (temp 3X3 matrix of int)
|
|
0:38 Sequence
|
|
0:38 move second child to first child (temp 3X4 matrix of int)
|
|
0:38 'r23' (temp 3X4 matrix of int)
|
|
0:38 transpose (temp 3X4 matrix of int)
|
|
0:38 'i4x3' (temp 4X3 matrix of int)
|
|
0:40 Sequence
|
|
0:40 move second child to first child (temp 4X1 matrix of int)
|
|
0:40 'r30' (temp 4X1 matrix of int)
|
|
0:40 transpose (temp 4X1 matrix of int)
|
|
0:40 'i1x4' (temp 1X4 matrix of int)
|
|
0:41 Sequence
|
|
0:41 move second child to first child (temp 4X2 matrix of int)
|
|
0:41 'r31' (temp 4X2 matrix of int)
|
|
0:41 transpose (temp 4X2 matrix of int)
|
|
0:41 'i2x4' (temp 2X4 matrix of int)
|
|
0:42 Sequence
|
|
0:42 move second child to first child (temp 4X3 matrix of int)
|
|
0:42 'r32' (temp 4X3 matrix of int)
|
|
0:42 transpose (temp 4X3 matrix of int)
|
|
0:42 'i3x4' (temp 3X4 matrix of int)
|
|
0:43 Sequence
|
|
0:43 move second child to first child (temp 4X4 matrix of int)
|
|
0:43 'r33' (temp 4X4 matrix of int)
|
|
0:43 transpose (temp 4X4 matrix of int)
|
|
0:43 'i4x4' (temp 4X4 matrix of int)
|
|
0:47 Function Definition: TestUintMatTypes( (temp void)
|
|
0:47 Function Parameters:
|
|
0:? Sequence
|
|
0:69 Sequence
|
|
0:69 move second child to first child (temp 1X1 matrix of uint)
|
|
0:69 'r00' (temp 1X1 matrix of uint)
|
|
0:69 transpose (temp 1X1 matrix of uint)
|
|
0:69 'u1x1' (temp 1X1 matrix of uint)
|
|
0:70 Sequence
|
|
0:70 move second child to first child (temp 1X2 matrix of uint)
|
|
0:70 'r01' (temp 1X2 matrix of uint)
|
|
0:70 transpose (temp 1X2 matrix of uint)
|
|
0:70 'u2x1' (temp 2X1 matrix of uint)
|
|
0:71 Sequence
|
|
0:71 move second child to first child (temp 1X3 matrix of uint)
|
|
0:71 'r02' (temp 1X3 matrix of uint)
|
|
0:71 transpose (temp 1X3 matrix of uint)
|
|
0:71 'u3x1' (temp 3X1 matrix of uint)
|
|
0:72 Sequence
|
|
0:72 move second child to first child (temp 1X4 matrix of uint)
|
|
0:72 'r03' (temp 1X4 matrix of uint)
|
|
0:72 transpose (temp 1X4 matrix of uint)
|
|
0:72 'u4x1' (temp 4X1 matrix of uint)
|
|
0:74 Sequence
|
|
0:74 move second child to first child (temp 2X1 matrix of uint)
|
|
0:74 'r10' (temp 2X1 matrix of uint)
|
|
0:74 transpose (temp 2X1 matrix of uint)
|
|
0:74 'u1x2' (temp 1X2 matrix of uint)
|
|
0:75 Sequence
|
|
0:75 move second child to first child (temp 2X2 matrix of uint)
|
|
0:75 'r11' (temp 2X2 matrix of uint)
|
|
0:75 transpose (temp 2X2 matrix of uint)
|
|
0:75 'u2x2' (temp 2X2 matrix of uint)
|
|
0:76 Sequence
|
|
0:76 move second child to first child (temp 2X3 matrix of uint)
|
|
0:76 'r12' (temp 2X3 matrix of uint)
|
|
0:76 transpose (temp 2X3 matrix of uint)
|
|
0:76 'u3x2' (temp 3X2 matrix of uint)
|
|
0:77 Sequence
|
|
0:77 move second child to first child (temp 2X4 matrix of uint)
|
|
0:77 'r13' (temp 2X4 matrix of uint)
|
|
0:77 transpose (temp 2X4 matrix of uint)
|
|
0:77 'u4x2' (temp 4X2 matrix of uint)
|
|
0:79 Sequence
|
|
0:79 move second child to first child (temp 3X1 matrix of uint)
|
|
0:79 'r20' (temp 3X1 matrix of uint)
|
|
0:79 transpose (temp 3X1 matrix of uint)
|
|
0:79 'u1x3' (temp 1X3 matrix of uint)
|
|
0:80 Sequence
|
|
0:80 move second child to first child (temp 3X2 matrix of uint)
|
|
0:80 'r21' (temp 3X2 matrix of uint)
|
|
0:80 transpose (temp 3X2 matrix of uint)
|
|
0:80 'u2x3' (temp 2X3 matrix of uint)
|
|
0:81 Sequence
|
|
0:81 move second child to first child (temp 3X3 matrix of uint)
|
|
0:81 'r22' (temp 3X3 matrix of uint)
|
|
0:81 transpose (temp 3X3 matrix of uint)
|
|
0:81 'u3x3' (temp 3X3 matrix of uint)
|
|
0:82 Sequence
|
|
0:82 move second child to first child (temp 3X4 matrix of uint)
|
|
0:82 'r23' (temp 3X4 matrix of uint)
|
|
0:82 transpose (temp 3X4 matrix of uint)
|
|
0:82 'u4x3' (temp 4X3 matrix of uint)
|
|
0:84 Sequence
|
|
0:84 move second child to first child (temp 4X1 matrix of uint)
|
|
0:84 'r30' (temp 4X1 matrix of uint)
|
|
0:84 transpose (temp 4X1 matrix of uint)
|
|
0:84 'u1x4' (temp 1X4 matrix of uint)
|
|
0:85 Sequence
|
|
0:85 move second child to first child (temp 4X2 matrix of uint)
|
|
0:85 'r31' (temp 4X2 matrix of uint)
|
|
0:85 transpose (temp 4X2 matrix of uint)
|
|
0:85 'u2x4' (temp 2X4 matrix of uint)
|
|
0:86 Sequence
|
|
0:86 move second child to first child (temp 4X3 matrix of uint)
|
|
0:86 'r32' (temp 4X3 matrix of uint)
|
|
0:86 transpose (temp 4X3 matrix of uint)
|
|
0:86 'u3x4' (temp 3X4 matrix of uint)
|
|
0:87 Sequence
|
|
0:87 move second child to first child (temp 4X4 matrix of uint)
|
|
0:87 'r33' (temp 4X4 matrix of uint)
|
|
0:87 transpose (temp 4X4 matrix of uint)
|
|
0:87 'u4x4' (temp 4X4 matrix of uint)
|
|
0:93 Function Definition: main( (temp structure{temp 4-component vector of float color})
|
|
0:93 Function Parameters:
|
|
0:? Sequence
|
|
0:95 move second child to first child (temp 4-component vector of float)
|
|
0:95 color: direct index for structure (temp 4-component vector of float)
|
|
0:95 'ps_output' (temp structure{temp 4-component vector of float color})
|
|
0:95 Constant:
|
|
0:95 0 (const int)
|
|
0:? Constant:
|
|
0:? 0.000000
|
|
0:? 0.000000
|
|
0:? 0.000000
|
|
0:? 0.000000
|
|
0:96 Sequence
|
|
0:96 Sequence
|
|
0:96 move second child to first child (temp 4-component vector of float)
|
|
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
|
0:96 color: direct index for structure (temp 4-component vector of float)
|
|
0:96 'ps_output' (temp structure{temp 4-component vector of float color})
|
|
0:96 Constant:
|
|
0:96 0 (const int)
|
|
0:96 Branch: Return
|
|
0:? Linker Objects
|
|
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 227
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 223
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Name 4 "main"
|
|
Name 6 "TestIntMatTypes("
|
|
Name 8 "TestUintMatTypes("
|
|
Name 14 "r00"
|
|
Name 15 "i1x1"
|
|
Name 21 "r01"
|
|
Name 24 "i2x1"
|
|
Name 30 "r02"
|
|
Name 33 "i3x1"
|
|
Name 39 "r03"
|
|
Name 42 "i4x1"
|
|
Name 45 "r10"
|
|
Name 46 "i1x2"
|
|
Name 51 "r11"
|
|
Name 52 "i2x2"
|
|
Name 57 "r12"
|
|
Name 60 "i3x2"
|
|
Name 65 "r13"
|
|
Name 68 "i4x2"
|
|
Name 71 "r20"
|
|
Name 72 "i1x3"
|
|
Name 75 "r21"
|
|
Name 76 "i2x3"
|
|
Name 81 "r22"
|
|
Name 82 "i3x3"
|
|
Name 87 "r23"
|
|
Name 90 "i4x3"
|
|
Name 93 "r30"
|
|
Name 94 "i1x4"
|
|
Name 97 "r31"
|
|
Name 98 "i2x4"
|
|
Name 101 "r32"
|
|
Name 102 "i3x4"
|
|
Name 107 "r33"
|
|
Name 108 "i4x4"
|
|
Name 115 "r00"
|
|
Name 116 "u1x1"
|
|
Name 122 "r01"
|
|
Name 125 "u2x1"
|
|
Name 131 "r02"
|
|
Name 134 "u3x1"
|
|
Name 140 "r03"
|
|
Name 143 "u4x1"
|
|
Name 146 "r10"
|
|
Name 147 "u1x2"
|
|
Name 152 "r11"
|
|
Name 153 "u2x2"
|
|
Name 158 "r12"
|
|
Name 161 "u3x2"
|
|
Name 166 "r13"
|
|
Name 169 "u4x2"
|
|
Name 172 "r20"
|
|
Name 173 "u1x3"
|
|
Name 176 "r21"
|
|
Name 177 "u2x3"
|
|
Name 182 "r22"
|
|
Name 183 "u3x3"
|
|
Name 188 "r23"
|
|
Name 191 "u4x3"
|
|
Name 194 "r30"
|
|
Name 195 "u1x4"
|
|
Name 198 "r31"
|
|
Name 199 "u2x4"
|
|
Name 202 "r32"
|
|
Name 203 "u3x4"
|
|
Name 208 "r33"
|
|
Name 209 "u4x4"
|
|
Name 214 "PS_OUTPUT"
|
|
MemberName 214(PS_OUTPUT) 0 "color"
|
|
Name 216 "ps_output"
|
|
Name 223 "color"
|
|
Decorate 223(color) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
10: TypeInt 32 1
|
|
11: TypeVector 10(int) 1
|
|
12: TypeMatrix 11(ivec) 1
|
|
13: TypePointer Function 12
|
|
18: TypeVector 10(int) 2
|
|
19: TypeMatrix 18(ivec2) 1
|
|
20: TypePointer Function 19
|
|
22: TypeMatrix 11(ivec) 2
|
|
23: TypePointer Function 22
|
|
27: TypeVector 10(int) 3
|
|
28: TypeMatrix 27(ivec3) 1
|
|
29: TypePointer Function 28
|
|
31: TypeMatrix 11(ivec) 3
|
|
32: TypePointer Function 31
|
|
36: TypeVector 10(int) 4
|
|
37: TypeMatrix 36(ivec4) 1
|
|
38: TypePointer Function 37
|
|
40: TypeMatrix 11(ivec) 4
|
|
41: TypePointer Function 40
|
|
49: TypeMatrix 18(ivec2) 2
|
|
50: TypePointer Function 49
|
|
55: TypeMatrix 27(ivec3) 2
|
|
56: TypePointer Function 55
|
|
58: TypeMatrix 18(ivec2) 3
|
|
59: TypePointer Function 58
|
|
63: TypeMatrix 36(ivec4) 2
|
|
64: TypePointer Function 63
|
|
66: TypeMatrix 18(ivec2) 4
|
|
67: TypePointer Function 66
|
|
79: TypeMatrix 27(ivec3) 3
|
|
80: TypePointer Function 79
|
|
85: TypeMatrix 36(ivec4) 3
|
|
86: TypePointer Function 85
|
|
88: TypeMatrix 27(ivec3) 4
|
|
89: TypePointer Function 88
|
|
105: TypeMatrix 36(ivec4) 4
|
|
106: TypePointer Function 105
|
|
111: TypeInt 32 0
|
|
112: TypeVector 111(int) 1
|
|
113: TypeMatrix 112(ivec) 1
|
|
114: TypePointer Function 113
|
|
119: TypeVector 111(int) 2
|
|
120: TypeMatrix 119(ivec2) 1
|
|
121: TypePointer Function 120
|
|
123: TypeMatrix 112(ivec) 2
|
|
124: TypePointer Function 123
|
|
128: TypeVector 111(int) 3
|
|
129: TypeMatrix 128(ivec3) 1
|
|
130: TypePointer Function 129
|
|
132: TypeMatrix 112(ivec) 3
|
|
133: TypePointer Function 132
|
|
137: TypeVector 111(int) 4
|
|
138: TypeMatrix 137(ivec4) 1
|
|
139: TypePointer Function 138
|
|
141: TypeMatrix 112(ivec) 4
|
|
142: TypePointer Function 141
|
|
150: TypeMatrix 119(ivec2) 2
|
|
151: TypePointer Function 150
|
|
156: TypeMatrix 128(ivec3) 2
|
|
157: TypePointer Function 156
|
|
159: TypeMatrix 119(ivec2) 3
|
|
160: TypePointer Function 159
|
|
164: TypeMatrix 137(ivec4) 2
|
|
165: TypePointer Function 164
|
|
167: TypeMatrix 119(ivec2) 4
|
|
168: TypePointer Function 167
|
|
180: TypeMatrix 128(ivec3) 3
|
|
181: TypePointer Function 180
|
|
186: TypeMatrix 137(ivec4) 3
|
|
187: TypePointer Function 186
|
|
189: TypeMatrix 128(ivec3) 4
|
|
190: TypePointer Function 189
|
|
206: TypeMatrix 137(ivec4) 4
|
|
207: TypePointer Function 206
|
|
212: TypeFloat 32
|
|
213: TypeVector 212(float) 4
|
|
214(PS_OUTPUT): TypeStruct 213(fvec4)
|
|
215: TypePointer Function 214(PS_OUTPUT)
|
|
217: 10(int) Constant 0
|
|
218: 212(float) Constant 0
|
|
219: 213(fvec4) ConstantComposite 218 218 218 218
|
|
220: TypePointer Function 213(fvec4)
|
|
222: TypePointer Output 213(fvec4)
|
|
223(color): 222(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
216(ps_output): 215(ptr) Variable Function
|
|
221: 220(ptr) AccessChain 216(ps_output) 217
|
|
Store 221 219
|
|
224: 220(ptr) AccessChain 216(ps_output) 217
|
|
225: 213(fvec4) Load 224
|
|
Store 223(color) 225
|
|
Return
|
|
FunctionEnd
|
|
6(TestIntMatTypes(): 2 Function None 3
|
|
7: Label
|
|
14(r00): 13(ptr) Variable Function
|
|
15(i1x1): 13(ptr) Variable Function
|
|
21(r01): 20(ptr) Variable Function
|
|
24(i2x1): 23(ptr) Variable Function
|
|
30(r02): 29(ptr) Variable Function
|
|
33(i3x1): 32(ptr) Variable Function
|
|
39(r03): 38(ptr) Variable Function
|
|
42(i4x1): 41(ptr) Variable Function
|
|
45(r10): 23(ptr) Variable Function
|
|
46(i1x2): 20(ptr) Variable Function
|
|
51(r11): 50(ptr) Variable Function
|
|
52(i2x2): 50(ptr) Variable Function
|
|
57(r12): 56(ptr) Variable Function
|
|
60(i3x2): 59(ptr) Variable Function
|
|
65(r13): 64(ptr) Variable Function
|
|
68(i4x2): 67(ptr) Variable Function
|
|
71(r20): 32(ptr) Variable Function
|
|
72(i1x3): 29(ptr) Variable Function
|
|
75(r21): 59(ptr) Variable Function
|
|
76(i2x3): 56(ptr) Variable Function
|
|
81(r22): 80(ptr) Variable Function
|
|
82(i3x3): 80(ptr) Variable Function
|
|
87(r23): 86(ptr) Variable Function
|
|
90(i4x3): 89(ptr) Variable Function
|
|
93(r30): 41(ptr) Variable Function
|
|
94(i1x4): 38(ptr) Variable Function
|
|
97(r31): 67(ptr) Variable Function
|
|
98(i2x4): 64(ptr) Variable Function
|
|
101(r32): 89(ptr) Variable Function
|
|
102(i3x4): 86(ptr) Variable Function
|
|
107(r33): 106(ptr) Variable Function
|
|
108(i4x4): 106(ptr) Variable Function
|
|
16: 12 Load 15(i1x1)
|
|
17: 12 Transpose 16
|
|
Store 14(r00) 17
|
|
25: 22 Load 24(i2x1)
|
|
26: 19 Transpose 25
|
|
Store 21(r01) 26
|
|
34: 31 Load 33(i3x1)
|
|
35: 28 Transpose 34
|
|
Store 30(r02) 35
|
|
43: 40 Load 42(i4x1)
|
|
44: 37 Transpose 43
|
|
Store 39(r03) 44
|
|
47: 19 Load 46(i1x2)
|
|
48: 22 Transpose 47
|
|
Store 45(r10) 48
|
|
53: 49 Load 52(i2x2)
|
|
54: 49 Transpose 53
|
|
Store 51(r11) 54
|
|
61: 58 Load 60(i3x2)
|
|
62: 55 Transpose 61
|
|
Store 57(r12) 62
|
|
69: 66 Load 68(i4x2)
|
|
70: 63 Transpose 69
|
|
Store 65(r13) 70
|
|
73: 28 Load 72(i1x3)
|
|
74: 31 Transpose 73
|
|
Store 71(r20) 74
|
|
77: 55 Load 76(i2x3)
|
|
78: 58 Transpose 77
|
|
Store 75(r21) 78
|
|
83: 79 Load 82(i3x3)
|
|
84: 79 Transpose 83
|
|
Store 81(r22) 84
|
|
91: 88 Load 90(i4x3)
|
|
92: 85 Transpose 91
|
|
Store 87(r23) 92
|
|
95: 37 Load 94(i1x4)
|
|
96: 40 Transpose 95
|
|
Store 93(r30) 96
|
|
99: 63 Load 98(i2x4)
|
|
100: 66 Transpose 99
|
|
Store 97(r31) 100
|
|
103: 85 Load 102(i3x4)
|
|
104: 88 Transpose 103
|
|
Store 101(r32) 104
|
|
109: 105 Load 108(i4x4)
|
|
110: 105 Transpose 109
|
|
Store 107(r33) 110
|
|
Return
|
|
FunctionEnd
|
|
8(TestUintMatTypes(): 2 Function None 3
|
|
9: Label
|
|
115(r00): 114(ptr) Variable Function
|
|
116(u1x1): 114(ptr) Variable Function
|
|
122(r01): 121(ptr) Variable Function
|
|
125(u2x1): 124(ptr) Variable Function
|
|
131(r02): 130(ptr) Variable Function
|
|
134(u3x1): 133(ptr) Variable Function
|
|
140(r03): 139(ptr) Variable Function
|
|
143(u4x1): 142(ptr) Variable Function
|
|
146(r10): 124(ptr) Variable Function
|
|
147(u1x2): 121(ptr) Variable Function
|
|
152(r11): 151(ptr) Variable Function
|
|
153(u2x2): 151(ptr) Variable Function
|
|
158(r12): 157(ptr) Variable Function
|
|
161(u3x2): 160(ptr) Variable Function
|
|
166(r13): 165(ptr) Variable Function
|
|
169(u4x2): 168(ptr) Variable Function
|
|
172(r20): 133(ptr) Variable Function
|
|
173(u1x3): 130(ptr) Variable Function
|
|
176(r21): 160(ptr) Variable Function
|
|
177(u2x3): 157(ptr) Variable Function
|
|
182(r22): 181(ptr) Variable Function
|
|
183(u3x3): 181(ptr) Variable Function
|
|
188(r23): 187(ptr) Variable Function
|
|
191(u4x3): 190(ptr) Variable Function
|
|
194(r30): 142(ptr) Variable Function
|
|
195(u1x4): 139(ptr) Variable Function
|
|
198(r31): 168(ptr) Variable Function
|
|
199(u2x4): 165(ptr) Variable Function
|
|
202(r32): 190(ptr) Variable Function
|
|
203(u3x4): 187(ptr) Variable Function
|
|
208(r33): 207(ptr) Variable Function
|
|
209(u4x4): 207(ptr) Variable Function
|
|
117: 113 Load 116(u1x1)
|
|
118: 113 Transpose 117
|
|
Store 115(r00) 118
|
|
126: 123 Load 125(u2x1)
|
|
127: 120 Transpose 126
|
|
Store 122(r01) 127
|
|
135: 132 Load 134(u3x1)
|
|
136: 129 Transpose 135
|
|
Store 131(r02) 136
|
|
144: 141 Load 143(u4x1)
|
|
145: 138 Transpose 144
|
|
Store 140(r03) 145
|
|
148: 120 Load 147(u1x2)
|
|
149: 123 Transpose 148
|
|
Store 146(r10) 149
|
|
154: 150 Load 153(u2x2)
|
|
155: 150 Transpose 154
|
|
Store 152(r11) 155
|
|
162: 159 Load 161(u3x2)
|
|
163: 156 Transpose 162
|
|
Store 158(r12) 163
|
|
170: 167 Load 169(u4x2)
|
|
171: 164 Transpose 170
|
|
Store 166(r13) 171
|
|
174: 129 Load 173(u1x3)
|
|
175: 132 Transpose 174
|
|
Store 172(r20) 175
|
|
178: 156 Load 177(u2x3)
|
|
179: 159 Transpose 178
|
|
Store 176(r21) 179
|
|
184: 180 Load 183(u3x3)
|
|
185: 180 Transpose 184
|
|
Store 182(r22) 185
|
|
192: 189 Load 191(u4x3)
|
|
193: 186 Transpose 192
|
|
Store 188(r23) 193
|
|
196: 138 Load 195(u1x4)
|
|
197: 141 Transpose 196
|
|
Store 194(r30) 197
|
|
200: 164 Load 199(u2x4)
|
|
201: 167 Transpose 200
|
|
Store 198(r31) 201
|
|
204: 186 Load 203(u3x4)
|
|
205: 189 Transpose 204
|
|
Store 202(r32) 205
|
|
210: 206 Load 209(u4x4)
|
|
211: 206 Transpose 210
|
|
Store 208(r33) 211
|
|
Return
|
|
FunctionEnd
|