mirror of
https://github.com/RPCS3/glslang.git
synced 2025-01-01 16:08:23 +00:00
e770b3e6cf
Structured control-flow rules allow leaving the middle of a construct through a return, but not through a jump to a block that does a return. Addresses issue #58.
177 lines
8.3 KiB
Plaintext
Executable File
177 lines
8.3 KiB
Plaintext
Executable File
spv.swizzle.frag
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 99
|
|
// Generated by (magic number): 51a00bb
|
|
// Id's are bound by 111
|
|
|
|
Source GLSL 110
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main"
|
|
ExecutionMode 4 OriginLowerLeft
|
|
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 29 "t"
|
|
Name 48 "w_undef"
|
|
Name 55 "p"
|
|
Name 69 "gl_FragColor"
|
|
Name 81 "c"
|
|
Name 83 "rep"
|
|
Name 110 "blend"
|
|
Decorate 29(t) Smooth
|
|
Decorate 69(gl_FragColor) BuiltIn FragColor
|
|
Decorate 110(blend) NoStaticUse
|
|
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
|
|
27: TypeVector 6(float) 2
|
|
28: TypePointer Input 27(fvec2)
|
|
29(t): 28(ptr) Variable Input
|
|
53: TypeBool
|
|
54: TypePointer UniformConstant 53(bool)
|
|
55(p): 54(ptr) Variable UniformConstant
|
|
68: TypePointer Output 10(fvec4)
|
|
69(gl_FragColor): 68(ptr) Variable Output
|
|
80: TypePointer Function 27(fvec2)
|
|
84: 6(float) Constant 0
|
|
85: 6(float) Constant 1065353216
|
|
86: 10(fvec4) ConstantComposite 84 84 84 85
|
|
92: 6(float) Constant 3212836864
|
|
103: 6(float) Constant 1079613850
|
|
109: TypePointer UniformConstant 6(float)
|
|
110(blend): 109(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
|
|
48(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)
|
|
25: 10(fvec4) Load 18(w_reorder)
|
|
26: 10(fvec4) CompositeInsert 24 25 2
|
|
Store 18(w_reorder) 26
|
|
30: 27(fvec2) Load 29(t)
|
|
31: 10(fvec4) Load 12(w)
|
|
32: 10(fvec4) VectorShuffle 31 30 0 5 2 4
|
|
Store 12(w) 32
|
|
33: 6(float) Load 8(blendscale)
|
|
34: 10(fvec4) Load 18(w_reorder)
|
|
35: 10(fvec4) CompositeInsert 33 34 0
|
|
Store 18(w_reorder) 35
|
|
36: 10(fvec4) Load 14(u)
|
|
37: 10(fvec4) VectorShuffle 36 36 2 3 0 1
|
|
Store 20(w2) 37
|
|
38: 6(float) Load 8(blendscale)
|
|
39: 10(fvec4) Load 18(w_reorder)
|
|
40: 10(fvec4) CompositeInsert 38 39 1
|
|
Store 18(w_reorder) 40
|
|
41: 10(fvec4) Load 20(w2)
|
|
42: 27(fvec2) VectorShuffle 41 41 0 2
|
|
43: 10(fvec4) Load 16(w_dep)
|
|
44: 10(fvec4) VectorShuffle 43 42 4 5 2 3
|
|
Store 16(w_dep) 44
|
|
45: 27(fvec2) Load 29(t)
|
|
46: 10(fvec4) Load 16(w_dep)
|
|
47: 10(fvec4) VectorShuffle 46 45 0 1 4 5
|
|
Store 16(w_dep) 47
|
|
49: 10(fvec4) Load 14(u)
|
|
50: 27(fvec2) VectorShuffle 49 49 2 3
|
|
51: 10(fvec4) Load 48(w_undef)
|
|
52: 10(fvec4) VectorShuffle 51 50 4 5 2 3
|
|
Store 48(w_undef) 52
|
|
56: 53(bool) Load 55(p)
|
|
SelectionMerge 58 None
|
|
BranchConditional 56 57 63
|
|
57: Label
|
|
59: 27(fvec2) Load 29(t)
|
|
60: 6(float) CompositeExtract 59 0
|
|
61: 10(fvec4) Load 22(w_flow)
|
|
62: 10(fvec4) CompositeInsert 60 61 0
|
|
Store 22(w_flow) 62
|
|
Branch 58
|
|
63: Label
|
|
64: 27(fvec2) Load 29(t)
|
|
65: 6(float) CompositeExtract 64 1
|
|
66: 10(fvec4) Load 22(w_flow)
|
|
67: 10(fvec4) CompositeInsert 65 66 0
|
|
Store 22(w_flow) 67
|
|
Branch 58
|
|
58: Label
|
|
70: 10(fvec4) Load 18(w_reorder)
|
|
71: 10(fvec4) Load 48(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(Mix) 70 71 78
|
|
Store 69(gl_FragColor) 79
|
|
82: 27(fvec2) Load 29(t)
|
|
Store 81(c) 82
|
|
Store 83(rep) 86
|
|
87: 27(fvec2) Load 81(c)
|
|
88: 6(float) CompositeExtract 87 0
|
|
89: 53(bool) FOrdLessThan 88 84
|
|
SelectionMerge 91 None
|
|
BranchConditional 89 90 91
|
|
90: Label
|
|
93: 27(fvec2) Load 81(c)
|
|
94: 6(float) CompositeExtract 93 0
|
|
95: 6(float) FMul 94 92
|
|
96: 27(fvec2) Load 81(c)
|
|
97: 27(fvec2) CompositeInsert 95 96 0
|
|
Store 81(c) 97
|
|
Branch 91
|
|
91: Label
|
|
98: 27(fvec2) Load 81(c)
|
|
99: 6(float) CompositeExtract 98 0
|
|
100: 53(bool) FOrdLessThanEqual 99 85
|
|
SelectionMerge 102 None
|
|
BranchConditional 100 101 102
|
|
101: Label
|
|
104: 10(fvec4) Load 83(rep)
|
|
105: 10(fvec4) CompositeInsert 103 104 0
|
|
Store 83(rep) 105
|
|
Branch 102
|
|
102: Label
|
|
106: 10(fvec4) Load 83(rep)
|
|
107: 10(fvec4) Load 69(gl_FragColor)
|
|
108: 10(fvec4) FAdd 107 106
|
|
Store 69(gl_FragColor) 108
|
|
Return
|
|
FunctionEnd
|