mirror of
https://github.com/RPCS3/glslang.git
synced 2024-12-24 20:25:48 +00:00
7ba6341a05
Before, it was only including explicit interface, sufficient for IO-Block-declared oriented interface, but not sufficient for all modes GLSL might be used with SPIR-V. Two things are accomplished now: 1) each id will appear exactly once 2) the OpEntryPoint list will union static use with declarations
172 lines
7.8 KiB
Plaintext
Executable File
172 lines
7.8 KiB
Plaintext
Executable File
spv.swizzle.frag
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 109
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 30 69
|
|
ExecutionMode 4 OriginLowerLeft
|
|
Source GLSL 110
|
|
Name 4 "main"
|
|
Name 8 "blendscale"
|
|
Name 12 "w"
|
|
Name 14 "u"
|
|
Name 16 "w_dep"
|
|
Name 18 "w_reorder"
|
|
Name 20 "w2"
|
|
Name 22 "w_flow"
|
|
Name 30 "t"
|
|
Name 49 "w_undef"
|
|
Name 56 "p"
|
|
Name 69 "gl_FragColor"
|
|
Name 81 "c"
|
|
Name 83 "rep"
|
|
Name 108 "blend"
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypePointer Function 6(float)
|
|
9: 6(float) Constant 1071971828
|
|
10: TypeVector 6(float) 4
|
|
11: TypePointer Function 10(fvec4)
|
|
13: TypePointer UniformConstant 10(fvec4)
|
|
14(u): 13(ptr) Variable UniformConstant
|
|
25: TypeInt 32 0
|
|
26: 25(int) Constant 2
|
|
28: TypeVector 6(float) 2
|
|
29: TypePointer Input 28(fvec2)
|
|
30(t): 29(ptr) Variable Input
|
|
35: 25(int) Constant 0
|
|
40: 25(int) Constant 1
|
|
54: TypeBool
|
|
55: TypePointer UniformConstant 54(bool)
|
|
56(p): 55(ptr) Variable UniformConstant
|
|
60: TypePointer Input 6(float)
|
|
68: TypePointer Output 10(fvec4)
|
|
69(gl_FragColor): 68(ptr) Variable Output
|
|
80: TypePointer Function 28(fvec2)
|
|
84: 6(float) Constant 0
|
|
85: 6(float) Constant 1065353216
|
|
86: 10(fvec4) ConstantComposite 84 84 84 85
|
|
92: 6(float) Constant 3212836864
|
|
102: 6(float) Constant 1079613850
|
|
107: TypePointer UniformConstant 6(float)
|
|
108(blend): 107(ptr) Variable UniformConstant
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
8(blendscale): 7(ptr) Variable Function
|
|
12(w): 11(ptr) Variable Function
|
|
16(w_dep): 11(ptr) Variable Function
|
|
18(w_reorder): 11(ptr) Variable Function
|
|
20(w2): 11(ptr) Variable Function
|
|
22(w_flow): 11(ptr) Variable Function
|
|
49(w_undef): 11(ptr) Variable Function
|
|
81(c): 80(ptr) Variable Function
|
|
83(rep): 11(ptr) Variable Function
|
|
Store 8(blendscale) 9
|
|
15: 10(fvec4) Load 14(u)
|
|
Store 12(w) 15
|
|
17: 10(fvec4) Load 14(u)
|
|
Store 16(w_dep) 17
|
|
19: 10(fvec4) Load 14(u)
|
|
Store 18(w_reorder) 19
|
|
21: 10(fvec4) Load 14(u)
|
|
Store 20(w2) 21
|
|
23: 10(fvec4) Load 14(u)
|
|
Store 22(w_flow) 23
|
|
24: 6(float) Load 8(blendscale)
|
|
27: 7(ptr) AccessChain 18(w_reorder) 26
|
|
Store 27 24
|
|
31: 28(fvec2) Load 30(t)
|
|
32: 10(fvec4) Load 12(w)
|
|
33: 10(fvec4) VectorShuffle 32 31 0 5 2 4
|
|
Store 12(w) 33
|
|
34: 6(float) Load 8(blendscale)
|
|
36: 7(ptr) AccessChain 18(w_reorder) 35
|
|
Store 36 34
|
|
37: 10(fvec4) Load 14(u)
|
|
38: 10(fvec4) VectorShuffle 37 37 2 3 0 1
|
|
Store 20(w2) 38
|
|
39: 6(float) Load 8(blendscale)
|
|
41: 7(ptr) AccessChain 18(w_reorder) 40
|
|
Store 41 39
|
|
42: 10(fvec4) Load 20(w2)
|
|
43: 28(fvec2) VectorShuffle 42 42 0 2
|
|
44: 10(fvec4) Load 16(w_dep)
|
|
45: 10(fvec4) VectorShuffle 44 43 4 5 2 3
|
|
Store 16(w_dep) 45
|
|
46: 28(fvec2) Load 30(t)
|
|
47: 10(fvec4) Load 16(w_dep)
|
|
48: 10(fvec4) VectorShuffle 47 46 0 1 4 5
|
|
Store 16(w_dep) 48
|
|
50: 10(fvec4) Load 14(u)
|
|
51: 28(fvec2) VectorShuffle 50 50 2 3
|
|
52: 10(fvec4) Load 49(w_undef)
|
|
53: 10(fvec4) VectorShuffle 52 51 4 5 2 3
|
|
Store 49(w_undef) 53
|
|
57: 54(bool) Load 56(p)
|
|
SelectionMerge 59 None
|
|
BranchConditional 57 58 64
|
|
58: Label
|
|
61: 60(ptr) AccessChain 30(t) 35
|
|
62: 6(float) Load 61
|
|
63: 7(ptr) AccessChain 22(w_flow) 35
|
|
Store 63 62
|
|
Branch 59
|
|
64: Label
|
|
65: 60(ptr) AccessChain 30(t) 40
|
|
66: 6(float) Load 65
|
|
67: 7(ptr) AccessChain 22(w_flow) 35
|
|
Store 67 66
|
|
Branch 59
|
|
59: Label
|
|
70: 10(fvec4) Load 18(w_reorder)
|
|
71: 10(fvec4) Load 49(w_undef)
|
|
72: 10(fvec4) Load 12(w)
|
|
73: 10(fvec4) Load 20(w2)
|
|
74: 10(fvec4) FMul 72 73
|
|
75: 10(fvec4) Load 16(w_dep)
|
|
76: 10(fvec4) FMul 74 75
|
|
77: 10(fvec4) Load 22(w_flow)
|
|
78: 10(fvec4) FMul 76 77
|
|
79: 10(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 70 71 78
|
|
Store 69(gl_FragColor) 79
|
|
82: 28(fvec2) Load 30(t)
|
|
Store 81(c) 82
|
|
Store 83(rep) 86
|
|
87: 7(ptr) AccessChain 81(c) 35
|
|
88: 6(float) Load 87
|
|
89: 54(bool) FOrdLessThan 88 84
|
|
SelectionMerge 91 None
|
|
BranchConditional 89 90 91
|
|
90: Label
|
|
93: 7(ptr) AccessChain 81(c) 35
|
|
94: 6(float) Load 93
|
|
95: 6(float) FMul 94 92
|
|
96: 7(ptr) AccessChain 81(c) 35
|
|
Store 96 95
|
|
Branch 91
|
|
91: Label
|
|
97: 7(ptr) AccessChain 81(c) 35
|
|
98: 6(float) Load 97
|
|
99: 54(bool) FOrdLessThanEqual 98 85
|
|
SelectionMerge 101 None
|
|
BranchConditional 99 100 101
|
|
100: Label
|
|
103: 7(ptr) AccessChain 83(rep) 35
|
|
Store 103 102
|
|
Branch 101
|
|
101: Label
|
|
104: 10(fvec4) Load 83(rep)
|
|
105: 10(fvec4) Load 69(gl_FragColor)
|
|
106: 10(fvec4) FAdd 105 104
|
|
Store 69(gl_FragColor) 106
|
|
Return
|
|
FunctionEnd
|