mirror of
https://github.com/RPCS3/glslang.git
synced 2024-11-28 05:30:33 +00:00
000c818efb
This allows global initializers to use $Global members.
421 lines
18 KiB
Plaintext
421 lines
18 KiB
Plaintext
hlsl.matrixindex.frag
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:10 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
|
|
0:10 Function Parameters:
|
|
0:? Sequence
|
|
0:22 Sequence
|
|
0:22 move second child to first child ( temp float)
|
|
0:22 'e1_00' ( temp float)
|
|
0:22 Constant:
|
|
0:22 10.000000
|
|
0:23 Sequence
|
|
0:23 move second child to first child ( temp float)
|
|
0:23 'e1_01' ( temp float)
|
|
0:23 Constant:
|
|
0:23 11.000000
|
|
0:24 Sequence
|
|
0:24 move second child to first child ( temp float)
|
|
0:24 'e1_10' ( temp float)
|
|
0:24 Constant:
|
|
0:24 12.000000
|
|
0:25 Sequence
|
|
0:25 move second child to first child ( temp float)
|
|
0:25 'e1_11' ( temp float)
|
|
0:25 Constant:
|
|
0:25 13.000000
|
|
0:26 Sequence
|
|
0:26 move second child to first child ( temp float)
|
|
0:26 'e1_20' ( temp float)
|
|
0:26 Constant:
|
|
0:26 14.000000
|
|
0:27 Sequence
|
|
0:27 move second child to first child ( temp float)
|
|
0:27 'e1_21' ( temp float)
|
|
0:27 Constant:
|
|
0:27 15.000000
|
|
0:29 Sequence
|
|
0:29 move second child to first child ( temp float)
|
|
0:29 'e2_00' ( temp float)
|
|
0:29 Constant:
|
|
0:29 20.000000
|
|
0:30 Sequence
|
|
0:30 move second child to first child ( temp float)
|
|
0:30 'e2_01' ( temp float)
|
|
0:30 Constant:
|
|
0:30 21.000000
|
|
0:31 Sequence
|
|
0:31 move second child to first child ( temp float)
|
|
0:31 'e2_10' ( temp float)
|
|
0:31 Constant:
|
|
0:31 22.000000
|
|
0:32 Sequence
|
|
0:32 move second child to first child ( temp float)
|
|
0:32 'e2_11' ( temp float)
|
|
0:32 Constant:
|
|
0:32 23.000000
|
|
0:33 Sequence
|
|
0:33 move second child to first child ( temp float)
|
|
0:33 'e2_20' ( temp float)
|
|
0:33 Constant:
|
|
0:33 24.000000
|
|
0:34 Sequence
|
|
0:34 move second child to first child ( temp float)
|
|
0:34 'e2_21' ( temp float)
|
|
0:34 Constant:
|
|
0:34 25.000000
|
|
0:39 Sequence
|
|
0:39 move second child to first child ( temp 2-component vector of float)
|
|
0:39 'r0a' ( temp 2-component vector of float)
|
|
0:39 Constant:
|
|
0:39 10.000000
|
|
0:39 11.000000
|
|
0:40 Sequence
|
|
0:40 move second child to first child ( temp 2-component vector of float)
|
|
0:40 'r1a' ( temp 2-component vector of float)
|
|
0:40 Constant:
|
|
0:40 12.000000
|
|
0:40 13.000000
|
|
0:41 Sequence
|
|
0:41 move second child to first child ( temp 2-component vector of float)
|
|
0:41 'r2a' ( temp 2-component vector of float)
|
|
0:41 Constant:
|
|
0:41 14.000000
|
|
0:41 15.000000
|
|
0:43 Sequence
|
|
0:43 move second child to first child ( temp 2-component vector of float)
|
|
0:43 'r0b' ( temp 2-component vector of float)
|
|
0:43 indirect index ( temp 2-component vector of float)
|
|
0:43 Constant:
|
|
0:43 20.000000
|
|
0:43 21.000000
|
|
0:43 22.000000
|
|
0:43 23.000000
|
|
0:43 24.000000
|
|
0:43 25.000000
|
|
0:43 idx: direct index for structure ( uniform int)
|
|
0:43 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um})
|
|
0:43 Constant:
|
|
0:43 0 (const uint)
|
|
0:44 Sequence
|
|
0:44 move second child to first child ( temp 2-component vector of float)
|
|
0:44 'r0c' ( temp 2-component vector of float)
|
|
0:44 indirect index ( temp 2-component vector of float)
|
|
0:44 um: direct index for structure ( uniform 3X2 matrix of float)
|
|
0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um})
|
|
0:44 Constant:
|
|
0:44 1 (const uint)
|
|
0:44 idx: direct index for structure ( uniform int)
|
|
0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um})
|
|
0:44 Constant:
|
|
0:44 0 (const uint)
|
|
0:47 move second child to first child ( temp 4-component vector of float)
|
|
0:47 Color: direct index for structure ( temp 4-component vector of float)
|
|
0:47 'psout' ( temp structure{ temp 4-component vector of float Color})
|
|
0:47 Constant:
|
|
0:47 0 (const int)
|
|
0:47 Construct vec4 ( temp 4-component vector of float)
|
|
0:47 'e2_11' ( temp float)
|
|
0:48 Branch: Return with expression
|
|
0:48 'psout' ( temp structure{ temp 4-component vector of float Color})
|
|
0:10 Function Definition: main( ( temp void)
|
|
0:10 Function Parameters:
|
|
0:? Sequence
|
|
0:10 Sequence
|
|
0:10 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'Color' (layout( location=0) out 4-component vector of float)
|
|
0:10 Color: direct index for structure ( temp 4-component vector of float)
|
|
0:10 Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
|
|
0:10 Constant:
|
|
0:10 0 (const int)
|
|
0:? Linker Objects
|
|
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um})
|
|
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:10 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
|
|
0:10 Function Parameters:
|
|
0:? Sequence
|
|
0:22 Sequence
|
|
0:22 move second child to first child ( temp float)
|
|
0:22 'e1_00' ( temp float)
|
|
0:22 Constant:
|
|
0:22 10.000000
|
|
0:23 Sequence
|
|
0:23 move second child to first child ( temp float)
|
|
0:23 'e1_01' ( temp float)
|
|
0:23 Constant:
|
|
0:23 11.000000
|
|
0:24 Sequence
|
|
0:24 move second child to first child ( temp float)
|
|
0:24 'e1_10' ( temp float)
|
|
0:24 Constant:
|
|
0:24 12.000000
|
|
0:25 Sequence
|
|
0:25 move second child to first child ( temp float)
|
|
0:25 'e1_11' ( temp float)
|
|
0:25 Constant:
|
|
0:25 13.000000
|
|
0:26 Sequence
|
|
0:26 move second child to first child ( temp float)
|
|
0:26 'e1_20' ( temp float)
|
|
0:26 Constant:
|
|
0:26 14.000000
|
|
0:27 Sequence
|
|
0:27 move second child to first child ( temp float)
|
|
0:27 'e1_21' ( temp float)
|
|
0:27 Constant:
|
|
0:27 15.000000
|
|
0:29 Sequence
|
|
0:29 move second child to first child ( temp float)
|
|
0:29 'e2_00' ( temp float)
|
|
0:29 Constant:
|
|
0:29 20.000000
|
|
0:30 Sequence
|
|
0:30 move second child to first child ( temp float)
|
|
0:30 'e2_01' ( temp float)
|
|
0:30 Constant:
|
|
0:30 21.000000
|
|
0:31 Sequence
|
|
0:31 move second child to first child ( temp float)
|
|
0:31 'e2_10' ( temp float)
|
|
0:31 Constant:
|
|
0:31 22.000000
|
|
0:32 Sequence
|
|
0:32 move second child to first child ( temp float)
|
|
0:32 'e2_11' ( temp float)
|
|
0:32 Constant:
|
|
0:32 23.000000
|
|
0:33 Sequence
|
|
0:33 move second child to first child ( temp float)
|
|
0:33 'e2_20' ( temp float)
|
|
0:33 Constant:
|
|
0:33 24.000000
|
|
0:34 Sequence
|
|
0:34 move second child to first child ( temp float)
|
|
0:34 'e2_21' ( temp float)
|
|
0:34 Constant:
|
|
0:34 25.000000
|
|
0:39 Sequence
|
|
0:39 move second child to first child ( temp 2-component vector of float)
|
|
0:39 'r0a' ( temp 2-component vector of float)
|
|
0:39 Constant:
|
|
0:39 10.000000
|
|
0:39 11.000000
|
|
0:40 Sequence
|
|
0:40 move second child to first child ( temp 2-component vector of float)
|
|
0:40 'r1a' ( temp 2-component vector of float)
|
|
0:40 Constant:
|
|
0:40 12.000000
|
|
0:40 13.000000
|
|
0:41 Sequence
|
|
0:41 move second child to first child ( temp 2-component vector of float)
|
|
0:41 'r2a' ( temp 2-component vector of float)
|
|
0:41 Constant:
|
|
0:41 14.000000
|
|
0:41 15.000000
|
|
0:43 Sequence
|
|
0:43 move second child to first child ( temp 2-component vector of float)
|
|
0:43 'r0b' ( temp 2-component vector of float)
|
|
0:43 indirect index ( temp 2-component vector of float)
|
|
0:43 Constant:
|
|
0:43 20.000000
|
|
0:43 21.000000
|
|
0:43 22.000000
|
|
0:43 23.000000
|
|
0:43 24.000000
|
|
0:43 25.000000
|
|
0:43 idx: direct index for structure ( uniform int)
|
|
0:43 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um})
|
|
0:43 Constant:
|
|
0:43 0 (const uint)
|
|
0:44 Sequence
|
|
0:44 move second child to first child ( temp 2-component vector of float)
|
|
0:44 'r0c' ( temp 2-component vector of float)
|
|
0:44 indirect index ( temp 2-component vector of float)
|
|
0:44 um: direct index for structure ( uniform 3X2 matrix of float)
|
|
0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um})
|
|
0:44 Constant:
|
|
0:44 1 (const uint)
|
|
0:44 idx: direct index for structure ( uniform int)
|
|
0:44 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um})
|
|
0:44 Constant:
|
|
0:44 0 (const uint)
|
|
0:47 move second child to first child ( temp 4-component vector of float)
|
|
0:47 Color: direct index for structure ( temp 4-component vector of float)
|
|
0:47 'psout' ( temp structure{ temp 4-component vector of float Color})
|
|
0:47 Constant:
|
|
0:47 0 (const int)
|
|
0:47 Construct vec4 ( temp 4-component vector of float)
|
|
0:47 'e2_11' ( temp float)
|
|
0:48 Branch: Return with expression
|
|
0:48 'psout' ( temp structure{ temp 4-component vector of float Color})
|
|
0:10 Function Definition: main( ( temp void)
|
|
0:10 Function Parameters:
|
|
0:? Sequence
|
|
0:10 Sequence
|
|
0:10 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'Color' (layout( location=0) out 4-component vector of float)
|
|
0:10 Color: direct index for structure ( temp 4-component vector of float)
|
|
0:10 Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
|
|
0:10 Constant:
|
|
0:10 0 (const int)
|
|
0:? Linker Objects
|
|
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int idx, uniform 3X2 matrix of float um})
|
|
0:? 'Color' (layout( location=0) out 4-component vector of float)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 83
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 80
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Name 4 "main"
|
|
Name 8 "PS_OUTPUT"
|
|
MemberName 8(PS_OUTPUT) 0 "Color"
|
|
Name 10 "@main("
|
|
Name 13 "e1_00"
|
|
Name 15 "e1_01"
|
|
Name 17 "e1_10"
|
|
Name 19 "e1_11"
|
|
Name 21 "e1_20"
|
|
Name 23 "e1_21"
|
|
Name 25 "e2_00"
|
|
Name 27 "e2_01"
|
|
Name 29 "e2_10"
|
|
Name 31 "e2_11"
|
|
Name 33 "e2_20"
|
|
Name 35 "e2_21"
|
|
Name 39 "r0a"
|
|
Name 41 "r1a"
|
|
Name 43 "r2a"
|
|
Name 45 "r0b"
|
|
Name 52 "$Global"
|
|
MemberName 52($Global) 0 "idx"
|
|
MemberName 52($Global) 1 "um"
|
|
Name 54 ""
|
|
Name 60 "indexable"
|
|
Name 63 "r0c"
|
|
Name 71 "psout"
|
|
Name 80 "Color"
|
|
MemberDecorate 52($Global) 0 Offset 0
|
|
MemberDecorate 52($Global) 1 RowMajor
|
|
MemberDecorate 52($Global) 1 Offset 16
|
|
MemberDecorate 52($Global) 1 MatrixStride 16
|
|
Decorate 52($Global) Block
|
|
Decorate 54 DescriptorSet 0
|
|
Decorate 80(Color) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8(PS_OUTPUT): TypeStruct 7(fvec4)
|
|
9: TypeFunction 8(PS_OUTPUT)
|
|
12: TypePointer Function 6(float)
|
|
14: 6(float) Constant 1092616192
|
|
16: 6(float) Constant 1093664768
|
|
18: 6(float) Constant 1094713344
|
|
20: 6(float) Constant 1095761920
|
|
22: 6(float) Constant 1096810496
|
|
24: 6(float) Constant 1097859072
|
|
26: 6(float) Constant 1101004800
|
|
28: 6(float) Constant 1101529088
|
|
30: 6(float) Constant 1102053376
|
|
32: 6(float) Constant 1102577664
|
|
34: 6(float) Constant 1103101952
|
|
36: 6(float) Constant 1103626240
|
|
37: TypeVector 6(float) 2
|
|
38: TypePointer Function 37(fvec2)
|
|
40: 37(fvec2) ConstantComposite 14 16
|
|
42: 37(fvec2) ConstantComposite 18 20
|
|
44: 37(fvec2) ConstantComposite 22 24
|
|
46: TypeMatrix 37(fvec2) 3
|
|
47: 37(fvec2) ConstantComposite 26 28
|
|
48: 37(fvec2) ConstantComposite 30 32
|
|
49: 37(fvec2) ConstantComposite 34 36
|
|
50: 46 ConstantComposite 47 48 49
|
|
51: TypeInt 32 1
|
|
52($Global): TypeStruct 51(int) 46
|
|
53: TypePointer Uniform 52($Global)
|
|
54: 53(ptr) Variable Uniform
|
|
55: 51(int) Constant 0
|
|
56: TypePointer Uniform 51(int)
|
|
59: TypePointer Function 46
|
|
64: 51(int) Constant 1
|
|
67: TypePointer Uniform 37(fvec2)
|
|
70: TypePointer Function 8(PS_OUTPUT)
|
|
74: TypePointer Function 7(fvec4)
|
|
79: TypePointer Output 7(fvec4)
|
|
80(Color): 79(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
81:8(PS_OUTPUT) FunctionCall 10(@main()
|
|
82: 7(fvec4) CompositeExtract 81 0
|
|
Store 80(Color) 82
|
|
Return
|
|
FunctionEnd
|
|
10(@main():8(PS_OUTPUT) Function None 9
|
|
11: Label
|
|
13(e1_00): 12(ptr) Variable Function
|
|
15(e1_01): 12(ptr) Variable Function
|
|
17(e1_10): 12(ptr) Variable Function
|
|
19(e1_11): 12(ptr) Variable Function
|
|
21(e1_20): 12(ptr) Variable Function
|
|
23(e1_21): 12(ptr) Variable Function
|
|
25(e2_00): 12(ptr) Variable Function
|
|
27(e2_01): 12(ptr) Variable Function
|
|
29(e2_10): 12(ptr) Variable Function
|
|
31(e2_11): 12(ptr) Variable Function
|
|
33(e2_20): 12(ptr) Variable Function
|
|
35(e2_21): 12(ptr) Variable Function
|
|
39(r0a): 38(ptr) Variable Function
|
|
41(r1a): 38(ptr) Variable Function
|
|
43(r2a): 38(ptr) Variable Function
|
|
45(r0b): 38(ptr) Variable Function
|
|
60(indexable): 59(ptr) Variable Function
|
|
63(r0c): 38(ptr) Variable Function
|
|
71(psout): 70(ptr) Variable Function
|
|
Store 13(e1_00) 14
|
|
Store 15(e1_01) 16
|
|
Store 17(e1_10) 18
|
|
Store 19(e1_11) 20
|
|
Store 21(e1_20) 22
|
|
Store 23(e1_21) 24
|
|
Store 25(e2_00) 26
|
|
Store 27(e2_01) 28
|
|
Store 29(e2_10) 30
|
|
Store 31(e2_11) 32
|
|
Store 33(e2_20) 34
|
|
Store 35(e2_21) 36
|
|
Store 39(r0a) 40
|
|
Store 41(r1a) 42
|
|
Store 43(r2a) 44
|
|
57: 56(ptr) AccessChain 54 55
|
|
58: 51(int) Load 57
|
|
Store 60(indexable) 50
|
|
61: 38(ptr) AccessChain 60(indexable) 58
|
|
62: 37(fvec2) Load 61
|
|
Store 45(r0b) 62
|
|
65: 56(ptr) AccessChain 54 55
|
|
66: 51(int) Load 65
|
|
68: 67(ptr) AccessChain 54 64 66
|
|
69: 37(fvec2) Load 68
|
|
Store 63(r0c) 69
|
|
72: 6(float) Load 31(e2_11)
|
|
73: 7(fvec4) CompositeConstruct 72 72 72 72
|
|
75: 74(ptr) AccessChain 71(psout) 55
|
|
Store 75 73
|
|
76:8(PS_OUTPUT) Load 71(psout)
|
|
ReturnValue 76
|
|
FunctionEnd
|