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
176 lines
8.0 KiB
Plaintext
Executable File
176 lines
8.0 KiB
Plaintext
Executable File
spv.earlyReturnDiscard.frag
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 112
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 107 11 18
|
|
ExecutionMode 4 OriginLowerLeft
|
|
Source GLSL 110
|
|
Name 4 "main"
|
|
Name 9 "color"
|
|
Name 11 "BaseColor"
|
|
Name 13 "color2"
|
|
Name 15 "otherColor"
|
|
Name 18 "c"
|
|
Name 21 "d"
|
|
Name 27 "bigColor"
|
|
Name 32 "smallColor"
|
|
Name 41 "minimum"
|
|
Name 53 "threshhold"
|
|
Name 65 "threshhold2"
|
|
Name 79 "b"
|
|
Name 107 "gl_FragColor"
|
|
Name 111 "threshhold3"
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypePointer Function 7(fvec4)
|
|
10: TypePointer Input 7(fvec4)
|
|
11(BaseColor): 10(ptr) Variable Input
|
|
14: TypePointer UniformConstant 7(fvec4)
|
|
15(otherColor): 14(ptr) Variable UniformConstant
|
|
17: TypePointer Input 6(float)
|
|
18(c): 17(ptr) Variable Input
|
|
20: TypePointer UniformConstant 6(float)
|
|
21(d): 20(ptr) Variable UniformConstant
|
|
23: TypeBool
|
|
27(bigColor): 14(ptr) Variable UniformConstant
|
|
32(smallColor): 14(ptr) Variable UniformConstant
|
|
36: TypeInt 32 0
|
|
37: 36(int) Constant 2
|
|
38: TypePointer Function 6(float)
|
|
41(minimum): 20(ptr) Variable UniformConstant
|
|
49: 6(float) Constant 1065353216
|
|
53(threshhold): 20(ptr) Variable UniformConstant
|
|
62: 36(int) Constant 3
|
|
65(threshhold2): 20(ptr) Variable UniformConstant
|
|
78: TypePointer UniformConstant 23(bool)
|
|
79(b): 78(ptr) Variable UniformConstant
|
|
87: 36(int) Constant 0
|
|
106: TypePointer Output 7(fvec4)
|
|
107(gl_FragColor): 106(ptr) Variable Output
|
|
111(threshhold3): 20(ptr) Variable UniformConstant
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
9(color): 8(ptr) Variable Function
|
|
13(color2): 8(ptr) Variable Function
|
|
12: 7(fvec4) Load 11(BaseColor)
|
|
Store 9(color) 12
|
|
16: 7(fvec4) Load 15(otherColor)
|
|
Store 13(color2) 16
|
|
19: 6(float) Load 18(c)
|
|
22: 6(float) Load 21(d)
|
|
24: 23(bool) FOrdGreaterThan 19 22
|
|
SelectionMerge 26 None
|
|
BranchConditional 24 25 31
|
|
25: Label
|
|
28: 7(fvec4) Load 27(bigColor)
|
|
29: 7(fvec4) Load 9(color)
|
|
30: 7(fvec4) FAdd 29 28
|
|
Store 9(color) 30
|
|
Branch 26
|
|
31: Label
|
|
33: 7(fvec4) Load 32(smallColor)
|
|
34: 7(fvec4) Load 9(color)
|
|
35: 7(fvec4) FAdd 34 33
|
|
Store 9(color) 35
|
|
Branch 26
|
|
26: Label
|
|
39: 38(ptr) AccessChain 9(color) 37
|
|
40: 6(float) Load 39
|
|
42: 6(float) Load 41(minimum)
|
|
43: 23(bool) FOrdLessThan 40 42
|
|
SelectionMerge 45 None
|
|
BranchConditional 43 44 45
|
|
44: Label
|
|
Return
|
|
45: Label
|
|
47: 38(ptr) AccessChain 9(color) 37
|
|
48: 6(float) Load 47
|
|
50: 6(float) FAdd 48 49
|
|
Store 47 50
|
|
51: 38(ptr) AccessChain 9(color) 37
|
|
52: 6(float) Load 51
|
|
54: 6(float) Load 53(threshhold)
|
|
55: 23(bool) FOrdGreaterThan 52 54
|
|
SelectionMerge 57 None
|
|
BranchConditional 55 56 57
|
|
56: Label
|
|
Kill
|
|
57: Label
|
|
59: 7(fvec4) Load 9(color)
|
|
60: 7(fvec4) CompositeConstruct 49 49 49 49
|
|
61: 7(fvec4) FAdd 59 60
|
|
Store 9(color) 61
|
|
63: 38(ptr) AccessChain 9(color) 62
|
|
64: 6(float) Load 63
|
|
66: 6(float) Load 65(threshhold2)
|
|
67: 23(bool) FOrdGreaterThan 64 66
|
|
SelectionMerge 69 None
|
|
BranchConditional 67 68 99
|
|
68: Label
|
|
70: 38(ptr) AccessChain 9(color) 37
|
|
71: 6(float) Load 70
|
|
72: 6(float) Load 65(threshhold2)
|
|
73: 23(bool) FOrdGreaterThan 71 72
|
|
SelectionMerge 75 None
|
|
BranchConditional 73 74 77
|
|
74: Label
|
|
Return
|
|
77: Label
|
|
80: 23(bool) Load 79(b)
|
|
SelectionMerge 82 None
|
|
BranchConditional 80 81 86
|
|
81: Label
|
|
83: 38(ptr) AccessChain 9(color) 37
|
|
84: 6(float) Load 83
|
|
85: 6(float) FAdd 84 49
|
|
Store 83 85
|
|
Branch 82
|
|
86: Label
|
|
88: 38(ptr) AccessChain 9(color) 87
|
|
89: 6(float) Load 88
|
|
90: 6(float) Load 41(minimum)
|
|
91: 23(bool) FOrdLessThan 89 90
|
|
SelectionMerge 93 None
|
|
BranchConditional 91 92 95
|
|
92: Label
|
|
Kill
|
|
95: Label
|
|
96: 7(fvec4) Load 9(color)
|
|
97: 7(fvec4) CompositeConstruct 49 49 49 49
|
|
98: 7(fvec4) FAdd 96 97
|
|
Store 9(color) 98
|
|
Branch 93
|
|
93: Label
|
|
Branch 82
|
|
82: Label
|
|
Branch 75
|
|
75: Label
|
|
Branch 69
|
|
99: Label
|
|
100: 23(bool) Load 79(b)
|
|
SelectionMerge 102 None
|
|
BranchConditional 100 101 104
|
|
101: Label
|
|
Kill
|
|
104: Label
|
|
Return
|
|
102: Label
|
|
Branch 69
|
|
69: Label
|
|
108: 7(fvec4) Load 9(color)
|
|
109: 7(fvec4) Load 13(color2)
|
|
110: 7(fvec4) FMul 108 109
|
|
Store 107(gl_FragColor) 110
|
|
Return
|
|
FunctionEnd
|