blob: 5ddb4927248dadfae5cd2a15cf1192e06297e0fc [file] [log] [blame]
spv.precision.frag
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 127
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 23 59 61 73 116
ExecutionMode 4 OriginUpperLeft
Source ESSL 310
Name 4 "main"
Name 12 "foo(vf3;"
Name 11 "mv3"
Name 19 "boolfun(vb2;"
Name 18 "bv2"
Name 23 "highfin"
Name 38 "sum"
Name 40 "uniform_medium"
Name 42 "uniform_high"
Name 48 "uniform_low"
Name 53 "arg1"
Name 55 "arg2"
Name 57 "d"
Name 59 "lowfin"
Name 61 "mediumfin"
Name 65 "global_highp"
Name 69 "local_highp"
Name 73 "mediumfout"
Name 104 "ub2"
Name 105 "param"
Name 114 "S"
MemberName 114(S) 0 "a"
MemberName 114(S) 1 "b"
Name 116 "s"
Decorate 12(foo(vf3;) RelaxedPrecision
Decorate 11(mv3) RelaxedPrecision
Decorate 38(sum) RelaxedPrecision
Decorate 40(uniform_medium) RelaxedPrecision
Decorate 41 RelaxedPrecision
Decorate 46 RelaxedPrecision
Decorate 48(uniform_low) RelaxedPrecision
Decorate 49 RelaxedPrecision
Decorate 50 RelaxedPrecision
Decorate 51 RelaxedPrecision
Decorate 53(arg1) RelaxedPrecision
Decorate 55(arg2) RelaxedPrecision
Decorate 57(d) RelaxedPrecision
Decorate 59(lowfin) RelaxedPrecision
Decorate 60 RelaxedPrecision
Decorate 61(mediumfin) RelaxedPrecision
Decorate 62 RelaxedPrecision
Decorate 63 RelaxedPrecision
Decorate 73(mediumfout) RelaxedPrecision
Decorate 74 RelaxedPrecision
Decorate 75 RelaxedPrecision
Decorate 76 RelaxedPrecision
Decorate 77 RelaxedPrecision
Decorate 78 RelaxedPrecision
Decorate 79 RelaxedPrecision
Decorate 83 RelaxedPrecision
Decorate 85 RelaxedPrecision
Decorate 87 RelaxedPrecision
Decorate 88 RelaxedPrecision
Decorate 90 RelaxedPrecision
Decorate 91 RelaxedPrecision
Decorate 94 RelaxedPrecision
Decorate 95 RelaxedPrecision
Decorate 96 RelaxedPrecision
Decorate 97 RelaxedPrecision
Decorate 98 RelaxedPrecision
Decorate 99 RelaxedPrecision
Decorate 100 RelaxedPrecision
Decorate 101 RelaxedPrecision
Decorate 102 RelaxedPrecision
Decorate 110 RelaxedPrecision
Decorate 112 RelaxedPrecision
Decorate 113 RelaxedPrecision
MemberDecorate 114(S) 1 RelaxedPrecision
Decorate 120 RelaxedPrecision
Decorate 124 RelaxedPrecision
Decorate 125 RelaxedPrecision
Decorate 126 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
29: 14(bool) ConstantFalse
30: 14(bool) ConstantTrue
31: 15(bvec2) ConstantComposite 29 30
36: TypeInt 32 1
37: TypePointer Function 36(int)
39: TypePointer Private 36(int)
40(uniform_medium): 39(ptr) Variable Private
42(uniform_high): 39(ptr) Variable Private
48(uniform_low): 39(ptr) Variable Private
52: TypePointer Function 6(float)
54: 6(float) Constant 1078774989
56: 6(float) Constant 1232730691
58: TypePointer Input 6(float)
59(lowfin): 58(ptr) Variable Input
61(mediumfin): 58(ptr) Variable Input
64: TypePointer Private 6(float)
65(global_highp): 64(ptr) Variable Private
68: TypePointer Function 21(fvec4)
72: TypePointer Output 21(fvec4)
73(mediumfout): 72(ptr) Variable Output
82: 36(int) Constant 4
84: TypeVector 36(int) 2
92: TypeInt 32 0
93: 92(int) Constant 0
103: TypePointer Private 15(bvec2)
104(ub2): 103(ptr) Variable Private
111: 6(float) Constant 1065353216
114(S): TypeStruct 6(float) 6(float)
115: TypePointer Input 114(S)
116(s): 115(ptr) Variable Input
117: 36(int) Constant 0
122: 36(int) Constant 1
4(main): 2 Function None 3
5: Label
38(sum): 37(ptr) Variable Function
53(arg1): 52(ptr) Variable Function
55(arg2): 52(ptr) Variable Function
57(d): 52(ptr) Variable Function
69(local_highp): 68(ptr) Variable Function
105(param): 16(ptr) Variable Function
41: 36(int) Load 40(uniform_medium)
43: 36(int) Load 42(uniform_high)
44: 36(int) IAdd 41 43
Store 38(sum) 44
45: 36(int) Load 42(uniform_high)
46: 36(int) Load 38(sum)
47: 36(int) IAdd 46 45
Store 38(sum) 47
49: 36(int) Load 48(uniform_low)
50: 36(int) Load 38(sum)
51: 36(int) IAdd 50 49
Store 38(sum) 51
Store 53(arg1) 54
Store 55(arg2) 56
60: 6(float) Load 59(lowfin)
62: 6(float) Load 61(mediumfin)
63: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 60 62
Store 57(d) 63
66: 21(fvec4) Load 23(highfin)
67: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 66
Store 65(global_highp) 67
70: 6(float) Load 65(global_highp)
71: 21(fvec4) CompositeConstruct 70 70 70 70
Store 69(local_highp) 71
74: 6(float) Load 57(d)
75: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 74
76: 21(fvec4) CompositeConstruct 75 75 75 75
77: 6(float) Load 55(arg2)
78: 21(fvec4) CompositeConstruct 77 77 77 77
79: 21(fvec4) FAdd 76 78
80: 21(fvec4) Load 69(local_highp)
81: 21(fvec4) FAdd 79 80
Store 73(mediumfout) 81
83: 36(int) Load 48(uniform_low)
85: 84(ivec2) CompositeConstruct 83 83
86: 36(int) Load 42(uniform_high)
87: 84(ivec2) CompositeConstruct 86 86
88: 84(ivec2) IMul 85 87
89: 36(int) Load 42(uniform_high)
90: 84(ivec2) CompositeConstruct 89 89
91: 84(ivec2) IAdd 88 90
94: 36(int) CompositeExtract 91 0
95: 36(int) IAdd 82 94
96: 36(int) Load 38(sum)
97: 36(int) IAdd 96 95
Store 38(sum) 97
98: 36(int) Load 38(sum)
99: 6(float) ConvertSToF 98
100: 21(fvec4) CompositeConstruct 99 99 99 99
101: 21(fvec4) Load 73(mediumfout)
102: 21(fvec4) FAdd 101 100
Store 73(mediumfout) 102
106: 15(bvec2) Load 104(ub2)
Store 105(param) 106
107: 14(bool) FunctionCall 19(boolfun(vb2;) 105(param)
SelectionMerge 109 None
BranchConditional 107 108 109
108: Label
110: 21(fvec4) Load 73(mediumfout)
112: 21(fvec4) CompositeConstruct 111 111 111 111
113: 21(fvec4) FAdd 110 112
Store 73(mediumfout) 113
Branch 109
109: Label
118: 58(ptr) AccessChain 116(s) 117
119: 6(float) Load 118
120: 21(fvec4) Load 73(mediumfout)
121: 21(fvec4) VectorTimesScalar 120 119
Store 73(mediumfout) 121
123: 58(ptr) AccessChain 116(s) 122
124: 6(float) Load 123
125: 21(fvec4) Load 73(mediumfout)
126: 21(fvec4) VectorTimesScalar 125 124
Store 73(mediumfout) 126
Return
FunctionEnd
12(foo(vf3;): 9(fvec2) Function None 10
11(mv3): 8(ptr) FunctionParameter
13: Label
24: 21(fvec4) Load 23(highfin)
25: 9(fvec2) VectorShuffle 24 24 0 1
ReturnValue 25
FunctionEnd
19(boolfun(vb2;): 14(bool) Function None 17
18(bv2): 16(ptr) FunctionParameter
20: Label
28: 15(bvec2) Load 18(bv2)
32: 15(bvec2) LogicalEqual 28 31
33: 14(bool) All 32
ReturnValue 33
FunctionEnd