mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-13 21:50:06 +00:00
c176085909
Fixes #2541
309 lines
16 KiB
Plaintext
309 lines
16 KiB
Plaintext
spv.precision.frag
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 165
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 23 62 64 76 119 149
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source ESSL 310
|
|
SourceExtension "GL_OES_sample_variables"
|
|
Name 4 "main"
|
|
Name 12 "foo(vf3;"
|
|
Name 11 "mv3"
|
|
Name 19 "boolfun(vb2;"
|
|
Name 18 "bv2"
|
|
Name 23 "highfin"
|
|
Name 41 "sum"
|
|
Name 43 "uniform_medium"
|
|
Name 45 "uniform_high"
|
|
Name 51 "uniform_low"
|
|
Name 56 "arg1"
|
|
Name 58 "arg2"
|
|
Name 60 "d"
|
|
Name 62 "lowfin"
|
|
Name 64 "mediumfin"
|
|
Name 68 "global_highp"
|
|
Name 72 "local_highp"
|
|
Name 76 "mediumfout"
|
|
Name 107 "ub2"
|
|
Name 108 "param"
|
|
Name 117 "S"
|
|
MemberName 117(S) 0 "a"
|
|
MemberName 117(S) 1 "b"
|
|
Name 119 "s"
|
|
Name 149 "gl_SampleMaskIn"
|
|
Decorate 12(foo(vf3;) RelaxedPrecision
|
|
Decorate 11(mv3) RelaxedPrecision
|
|
Decorate 23(highfin) Location 2
|
|
Decorate 27 RelaxedPrecision
|
|
Decorate 28 RelaxedPrecision
|
|
Decorate 41(sum) RelaxedPrecision
|
|
Decorate 43(uniform_medium) RelaxedPrecision
|
|
Decorate 44 RelaxedPrecision
|
|
Decorate 49 RelaxedPrecision
|
|
Decorate 51(uniform_low) RelaxedPrecision
|
|
Decorate 52 RelaxedPrecision
|
|
Decorate 53 RelaxedPrecision
|
|
Decorate 54 RelaxedPrecision
|
|
Decorate 56(arg1) RelaxedPrecision
|
|
Decorate 58(arg2) RelaxedPrecision
|
|
Decorate 60(d) RelaxedPrecision
|
|
Decorate 62(lowfin) RelaxedPrecision
|
|
Decorate 62(lowfin) Location 0
|
|
Decorate 63 RelaxedPrecision
|
|
Decorate 64(mediumfin) RelaxedPrecision
|
|
Decorate 64(mediumfin) Location 1
|
|
Decorate 65 RelaxedPrecision
|
|
Decorate 66 RelaxedPrecision
|
|
Decorate 76(mediumfout) RelaxedPrecision
|
|
Decorate 76(mediumfout) Location 0
|
|
Decorate 77 RelaxedPrecision
|
|
Decorate 78 RelaxedPrecision
|
|
Decorate 79 RelaxedPrecision
|
|
Decorate 80 RelaxedPrecision
|
|
Decorate 81 RelaxedPrecision
|
|
Decorate 82 RelaxedPrecision
|
|
Decorate 86 RelaxedPrecision
|
|
Decorate 88 RelaxedPrecision
|
|
Decorate 90 RelaxedPrecision
|
|
Decorate 91 RelaxedPrecision
|
|
Decorate 93 RelaxedPrecision
|
|
Decorate 94 RelaxedPrecision
|
|
Decorate 97 RelaxedPrecision
|
|
Decorate 98 RelaxedPrecision
|
|
Decorate 99 RelaxedPrecision
|
|
Decorate 100 RelaxedPrecision
|
|
Decorate 101 RelaxedPrecision
|
|
Decorate 102 RelaxedPrecision
|
|
Decorate 103 RelaxedPrecision
|
|
Decorate 104 RelaxedPrecision
|
|
Decorate 105 RelaxedPrecision
|
|
Decorate 113 RelaxedPrecision
|
|
Decorate 115 RelaxedPrecision
|
|
Decorate 116 RelaxedPrecision
|
|
MemberDecorate 117(S) 1 RelaxedPrecision
|
|
Decorate 119(s) Location 3
|
|
Decorate 123 RelaxedPrecision
|
|
Decorate 127 RelaxedPrecision
|
|
Decorate 128 RelaxedPrecision
|
|
Decorate 129 RelaxedPrecision
|
|
Decorate 130 RelaxedPrecision
|
|
Decorate 131 RelaxedPrecision
|
|
Decorate 132 RelaxedPrecision
|
|
Decorate 135 RelaxedPrecision
|
|
Decorate 139 RelaxedPrecision
|
|
Decorate 140 RelaxedPrecision
|
|
Decorate 143 RelaxedPrecision
|
|
Decorate 144 RelaxedPrecision
|
|
Decorate 145 RelaxedPrecision
|
|
Decorate 149(gl_SampleMaskIn) Flat
|
|
Decorate 149(gl_SampleMaskIn) BuiltIn SampleMask
|
|
Decorate 153 RelaxedPrecision
|
|
Decorate 156 RelaxedPrecision
|
|
Decorate 159 RelaxedPrecision
|
|
Decorate 160 RelaxedPrecision
|
|
Decorate 162 RelaxedPrecision
|
|
Decorate 163 RelaxedPrecision
|
|
Decorate 164 RelaxedPrecision
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 3
|
|
8: TypePointer Function 7(fvec3)
|
|
9: TypeVector 6(float) 2
|
|
10: TypeFunction 9(fvec2) 8(ptr)
|
|
14: TypeBool
|
|
15: TypeVector 14(bool) 2
|
|
16: TypePointer Function 15(bvec2)
|
|
17: TypeFunction 14(bool) 16(ptr)
|
|
21: TypeVector 6(float) 4
|
|
22: TypePointer Input 21(fvec4)
|
|
23(highfin): 22(ptr) Variable Input
|
|
26: TypePointer Function 9(fvec2)
|
|
32: 14(bool) ConstantFalse
|
|
33: 14(bool) ConstantTrue
|
|
34: 15(bvec2) ConstantComposite 32 33
|
|
39: TypeInt 32 1
|
|
40: TypePointer Function 39(int)
|
|
42: TypePointer Private 39(int)
|
|
43(uniform_medium): 42(ptr) Variable Private
|
|
45(uniform_high): 42(ptr) Variable Private
|
|
51(uniform_low): 42(ptr) Variable Private
|
|
55: TypePointer Function 6(float)
|
|
57: 6(float) Constant 1078774989
|
|
59: 6(float) Constant 1232730691
|
|
61: TypePointer Input 6(float)
|
|
62(lowfin): 61(ptr) Variable Input
|
|
64(mediumfin): 61(ptr) Variable Input
|
|
67: TypePointer Private 6(float)
|
|
68(global_highp): 67(ptr) Variable Private
|
|
71: TypePointer Function 21(fvec4)
|
|
75: TypePointer Output 21(fvec4)
|
|
76(mediumfout): 75(ptr) Variable Output
|
|
85: 39(int) Constant 4
|
|
87: TypeVector 39(int) 2
|
|
95: TypeInt 32 0
|
|
96: 95(int) Constant 0
|
|
106: TypePointer Private 15(bvec2)
|
|
107(ub2): 106(ptr) Variable Private
|
|
114: 6(float) Constant 1065353216
|
|
117(S): TypeStruct 6(float) 6(float)
|
|
118: TypePointer Input 117(S)
|
|
119(s): 118(ptr) Variable Input
|
|
120: 39(int) Constant 0
|
|
125: 39(int) Constant 1
|
|
133: 6(float) Constant 1082549862
|
|
138: 6(float) Constant 1073741824
|
|
142: 6(float) Constant 1077936128
|
|
146: 95(int) Constant 1
|
|
147: TypeArray 39(int) 146
|
|
148: TypePointer Input 147
|
|
149(gl_SampleMaskIn): 148(ptr) Variable Input
|
|
150: TypePointer Input 39(int)
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
41(sum): 40(ptr) Variable Function
|
|
56(arg1): 55(ptr) Variable Function
|
|
58(arg2): 55(ptr) Variable Function
|
|
60(d): 55(ptr) Variable Function
|
|
72(local_highp): 71(ptr) Variable Function
|
|
108(param): 16(ptr) Variable Function
|
|
135: 71(ptr) Variable Function
|
|
156: 71(ptr) Variable Function
|
|
44: 39(int) Load 43(uniform_medium)
|
|
46: 39(int) Load 45(uniform_high)
|
|
47: 39(int) IAdd 44 46
|
|
Store 41(sum) 47
|
|
48: 39(int) Load 45(uniform_high)
|
|
49: 39(int) Load 41(sum)
|
|
50: 39(int) IAdd 49 48
|
|
Store 41(sum) 50
|
|
52: 39(int) Load 51(uniform_low)
|
|
53: 39(int) Load 41(sum)
|
|
54: 39(int) IAdd 53 52
|
|
Store 41(sum) 54
|
|
Store 56(arg1) 57
|
|
Store 58(arg2) 59
|
|
63: 6(float) Load 62(lowfin)
|
|
65: 6(float) Load 64(mediumfin)
|
|
66: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 63 65
|
|
Store 60(d) 66
|
|
69: 21(fvec4) Load 23(highfin)
|
|
70: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 69
|
|
Store 68(global_highp) 70
|
|
73: 6(float) Load 68(global_highp)
|
|
74: 21(fvec4) CompositeConstruct 73 73 73 73
|
|
Store 72(local_highp) 74
|
|
77: 6(float) Load 60(d)
|
|
78: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 77
|
|
79: 21(fvec4) CompositeConstruct 78 78 78 78
|
|
80: 6(float) Load 58(arg2)
|
|
81: 21(fvec4) CompositeConstruct 80 80 80 80
|
|
82: 21(fvec4) FAdd 79 81
|
|
83: 21(fvec4) Load 72(local_highp)
|
|
84: 21(fvec4) FAdd 82 83
|
|
Store 76(mediumfout) 84
|
|
86: 39(int) Load 51(uniform_low)
|
|
88: 87(ivec2) CompositeConstruct 86 86
|
|
89: 39(int) Load 45(uniform_high)
|
|
90: 87(ivec2) CompositeConstruct 89 89
|
|
91: 87(ivec2) IMul 88 90
|
|
92: 39(int) Load 45(uniform_high)
|
|
93: 87(ivec2) CompositeConstruct 92 92
|
|
94: 87(ivec2) IAdd 91 93
|
|
97: 39(int) CompositeExtract 94 0
|
|
98: 39(int) IAdd 85 97
|
|
99: 39(int) Load 41(sum)
|
|
100: 39(int) IAdd 99 98
|
|
Store 41(sum) 100
|
|
101: 39(int) Load 41(sum)
|
|
102: 6(float) ConvertSToF 101
|
|
103: 21(fvec4) CompositeConstruct 102 102 102 102
|
|
104: 21(fvec4) Load 76(mediumfout)
|
|
105: 21(fvec4) FAdd 104 103
|
|
Store 76(mediumfout) 105
|
|
109: 15(bvec2) Load 107(ub2)
|
|
Store 108(param) 109
|
|
110: 14(bool) FunctionCall 19(boolfun(vb2;) 108(param)
|
|
SelectionMerge 112 None
|
|
BranchConditional 110 111 112
|
|
111: Label
|
|
113: 21(fvec4) Load 76(mediumfout)
|
|
115: 21(fvec4) CompositeConstruct 114 114 114 114
|
|
116: 21(fvec4) FAdd 113 115
|
|
Store 76(mediumfout) 116
|
|
Branch 112
|
|
112: Label
|
|
121: 61(ptr) AccessChain 119(s) 120
|
|
122: 6(float) Load 121
|
|
123: 21(fvec4) Load 76(mediumfout)
|
|
124: 21(fvec4) VectorTimesScalar 123 122
|
|
Store 76(mediumfout) 124
|
|
126: 61(ptr) AccessChain 119(s) 125
|
|
127: 6(float) Load 126
|
|
128: 21(fvec4) Load 76(mediumfout)
|
|
129: 21(fvec4) VectorTimesScalar 128 127
|
|
Store 76(mediumfout) 129
|
|
130: 6(float) Load 64(mediumfin)
|
|
131: 6(float) Load 64(mediumfin)
|
|
132: 6(float) FMul 130 131
|
|
134: 14(bool) FOrdGreaterThan 132 133
|
|
SelectionMerge 137 None
|
|
BranchConditional 134 136 141
|
|
136: Label
|
|
139: 21(fvec4) Load 76(mediumfout)
|
|
140: 21(fvec4) VectorTimesScalar 139 138
|
|
Store 135 140
|
|
Branch 137
|
|
141: Label
|
|
143: 21(fvec4) Load 76(mediumfout)
|
|
144: 21(fvec4) VectorTimesScalar 143 142
|
|
Store 135 144
|
|
Branch 137
|
|
137: Label
|
|
145: 21(fvec4) Load 135
|
|
Store 76(mediumfout) 145
|
|
151: 150(ptr) AccessChain 149(gl_SampleMaskIn) 120
|
|
152: 39(int) Load 151
|
|
153: 39(int) Load 43(uniform_medium)
|
|
154: 39(int) ShiftRightArithmetic 152 153
|
|
155: 14(bool) SGreaterThan 154 120
|
|
SelectionMerge 158 None
|
|
BranchConditional 155 157 161
|
|
157: Label
|
|
159: 21(fvec4) Load 76(mediumfout)
|
|
160: 21(fvec4) VectorTimesScalar 159 138
|
|
Store 156 160
|
|
Branch 158
|
|
161: Label
|
|
162: 21(fvec4) Load 76(mediumfout)
|
|
163: 21(fvec4) VectorTimesScalar 162 142
|
|
Store 156 163
|
|
Branch 158
|
|
158: Label
|
|
164: 21(fvec4) Load 156
|
|
Store 76(mediumfout) 164
|
|
Return
|
|
FunctionEnd
|
|
12(foo(vf3;): 9(fvec2) Function None 10
|
|
11(mv3): 8(ptr) FunctionParameter
|
|
13: Label
|
|
27: 26(ptr) Variable Function
|
|
24: 21(fvec4) Load 23(highfin)
|
|
25: 9(fvec2) VectorShuffle 24 24 0 1
|
|
Store 27 25
|
|
28: 9(fvec2) Load 27
|
|
ReturnValue 28
|
|
FunctionEnd
|
|
19(boolfun(vb2;): 14(bool) Function None 17
|
|
18(bv2): 16(ptr) FunctionParameter
|
|
20: Label
|
|
31: 15(bvec2) Load 18(bv2)
|
|
35: 15(bvec2) LogicalEqual 31 34
|
|
36: 14(bool) All 35
|
|
ReturnValue 36
|
|
FunctionEnd
|