• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1OpCapability Shader
2%1 = OpExtInstImport "GLSL.std.450"
3OpMemoryModel Logical GLSL450
4OpEntryPoint Vertex %main "main" %3 %sk_InstanceID %sk_VertexID %vcoord_Stage0
5OpName %sk_PerVertex "sk_PerVertex"
6OpMemberName %sk_PerVertex 0 "sk_Position"
7OpMemberName %sk_PerVertex 1 "sk_PointSize"
8OpName %sk_InstanceID "sk_InstanceID"
9OpName %sk_VertexID "sk_VertexID"
10OpName %vcoord_Stage0 "vcoord_Stage0"
11OpName %main "main"
12OpName %x "x"
13OpName %y "y"
14OpName %ileft "ileft"
15OpName %iright "iright"
16OpName %itop "itop"
17OpName %ibot "ibot"
18OpName %outset "outset"
19OpName %l "l"
20OpName %r "r"
21OpName %t "t"
22OpName %b "b"
23OpName %vertexpos "vertexpos"
24OpMemberDecorate %sk_PerVertex 0 BuiltIn Position
25OpMemberDecorate %sk_PerVertex 1 BuiltIn PointSize
26OpDecorate %sk_PerVertex Block
27OpDecorate %sk_InstanceID BuiltIn InstanceIndex
28OpDecorate %sk_VertexID BuiltIn VertexIndex
29OpDecorate %vcoord_Stage0 Location 1
30OpDecorate %vcoord_Stage0 NoPerspective
31%float = OpTypeFloat 32
32%v4float = OpTypeVector %float 4
33%sk_PerVertex = OpTypeStruct %v4float %float
34%_ptr_Output_sk_PerVertex = OpTypePointer Output %sk_PerVertex
35%3 = OpVariable %_ptr_Output_sk_PerVertex Output
36%int = OpTypeInt 32 1
37%_ptr_Input_int = OpTypePointer Input %int
38%sk_InstanceID = OpVariable %_ptr_Input_int Input
39%sk_VertexID = OpVariable %_ptr_Input_int Input
40%v2float = OpTypeVector %float 2
41%_ptr_Output_v2float = OpTypePointer Output %v2float
42%vcoord_Stage0 = OpVariable %_ptr_Output_v2float Output
43%void = OpTypeVoid
44%16 = OpTypeFunction %void
45%_ptr_Function_int = OpTypePointer Function %int
46%int_200 = OpConstant %int 200
47%int_929 = OpConstant %int 929
48%int_17 = OpConstant %int 17
49%int_1 = OpConstant %int 1
50%int_1637 = OpConstant %int 1637
51%int_313 = OpConstant %int 313
52%int_1901 = OpConstant %int 1901
53%_ptr_Function_float = OpTypePointer Function %float
54%float_0_03125 = OpConstant %float 0.03125
55%int_0 = OpConstant %int 0
56%int_2 = OpConstant %int 2
57%bool = OpTypeBool
58%float_0_0625 = OpConstant %float 0.0625
59%_ptr_Function_v2float = OpTypePointer Function %v2float
60%int_n1 = OpConstant %int -1
61%_ptr_Output_float = OpTypePointer Output %float
62%float_0 = OpConstant %float 0
63%float_1 = OpConstant %float 1
64%_ptr_Output_v4float = OpTypePointer Output %v4float
65%main = OpFunction %void None %16
66%17 = OpLabel
67%x = OpVariable %_ptr_Function_int Function
68%y = OpVariable %_ptr_Function_int Function
69%ileft = OpVariable %_ptr_Function_int Function
70%iright = OpVariable %_ptr_Function_int Function
71%itop = OpVariable %_ptr_Function_int Function
72%ibot = OpVariable %_ptr_Function_int Function
73%outset = OpVariable %_ptr_Function_float Function
74%69 = OpVariable %_ptr_Function_float Function
75%l = OpVariable %_ptr_Function_float Function
76%r = OpVariable %_ptr_Function_float Function
77%t = OpVariable %_ptr_Function_float Function
78%b = OpVariable %_ptr_Function_float Function
79%vertexpos = OpVariable %_ptr_Function_v2float Function
80%109 = OpVariable %_ptr_Function_float Function
81%123 = OpVariable %_ptr_Function_float Function
82%20 = OpLoad %int %sk_InstanceID
83%22 = OpSMod %int %20 %int_200
84OpStore %x %22
85%24 = OpLoad %int %sk_InstanceID
86%25 = OpSDiv %int %24 %int_200
87OpStore %y %25
88%27 = OpLoad %int %sk_InstanceID
89%29 = OpIMul %int %27 %int_929
90%31 = OpSMod %int %29 %int_17
91OpStore %ileft %31
92%33 = OpLoad %int %ileft
93%35 = OpIAdd %int %33 %int_1
94%36 = OpLoad %int %sk_InstanceID
95%38 = OpIMul %int %36 %int_1637
96%39 = OpLoad %int %ileft
97%40 = OpISub %int %int_17 %39
98%41 = OpSMod %int %38 %40
99%42 = OpIAdd %int %35 %41
100OpStore %iright %42
101%44 = OpLoad %int %sk_InstanceID
102%46 = OpIMul %int %44 %int_313
103%47 = OpSMod %int %46 %int_17
104OpStore %itop %47
105%49 = OpLoad %int %itop
106%50 = OpIAdd %int %49 %int_1
107%51 = OpLoad %int %sk_InstanceID
108%53 = OpIMul %int %51 %int_1901
109%54 = OpLoad %int %itop
110%55 = OpISub %int %int_17 %54
111%56 = OpSMod %int %53 %55
112%57 = OpIAdd %int %50 %56
113OpStore %ibot %57
114OpStore %outset %float_0_03125
115%62 = OpLoad %int %x
116%63 = OpLoad %int %y
117%64 = OpIAdd %int %62 %63
118%66 = OpSMod %int %64 %int_2
119%67 = OpIEqual %bool %int_0 %66
120OpSelectionMerge %72 None
121OpBranchConditional %67 %70 %71
122%70 = OpLabel
123%74 = OpLoad %float %outset
124%73 = OpFNegate %float %74
125OpStore %69 %73
126OpBranch %72
127%71 = OpLabel
128%75 = OpLoad %float %outset
129OpStore %69 %75
130OpBranch %72
131%72 = OpLabel
132%76 = OpLoad %float %69
133OpStore %outset %76
134%78 = OpLoad %int %ileft
135%79 = OpConvertSToF %float %78
136%81 = OpFMul %float %79 %float_0_0625
137%82 = OpLoad %float %outset
138%83 = OpFSub %float %81 %82
139OpStore %l %83
140%85 = OpLoad %int %iright
141%86 = OpConvertSToF %float %85
142%87 = OpFMul %float %86 %float_0_0625
143%88 = OpLoad %float %outset
144%89 = OpFAdd %float %87 %88
145OpStore %r %89
146%91 = OpLoad %int %itop
147%92 = OpConvertSToF %float %91
148%93 = OpFMul %float %92 %float_0_0625
149%94 = OpLoad %float %outset
150%95 = OpFSub %float %93 %94
151OpStore %t %95
152%97 = OpLoad %int %ibot
153%98 = OpConvertSToF %float %97
154%99 = OpFMul %float %98 %float_0_0625
155%100 = OpLoad %float %outset
156%101 = OpFAdd %float %99 %100
157OpStore %b %101
158%104 = OpLoad %int %x
159%105 = OpConvertSToF %float %104
160%106 = OpLoad %int %sk_VertexID
161%107 = OpSMod %int %106 %int_2
162%108 = OpIEqual %bool %int_0 %107
163OpSelectionMerge %112 None
164OpBranchConditional %108 %110 %111
165%110 = OpLabel
166%113 = OpLoad %float %l
167OpStore %109 %113
168OpBranch %112
169%111 = OpLabel
170%114 = OpLoad %float %r
171OpStore %109 %114
172OpBranch %112
173%112 = OpLabel
174%115 = OpLoad %float %109
175%116 = OpFAdd %float %105 %115
176%117 = OpAccessChain %_ptr_Function_float %vertexpos %int_0
177OpStore %117 %116
178%118 = OpLoad %int %y
179%119 = OpConvertSToF %float %118
180%120 = OpLoad %int %sk_VertexID
181%121 = OpSDiv %int %120 %int_2
182%122 = OpIEqual %bool %int_0 %121
183OpSelectionMerge %126 None
184OpBranchConditional %122 %124 %125
185%124 = OpLabel
186%127 = OpLoad %float %t
187OpStore %123 %127
188OpBranch %126
189%125 = OpLabel
190%128 = OpLoad %float %b
191OpStore %123 %128
192OpBranch %126
193%126 = OpLabel
194%129 = OpLoad %float %123
195%130 = OpFAdd %float %119 %129
196%131 = OpAccessChain %_ptr_Function_float %vertexpos %int_1
197OpStore %131 %130
198%132 = OpLoad %int %sk_VertexID
199%133 = OpSMod %int %132 %int_2
200%134 = OpIEqual %bool %int_0 %133
201%135 = OpSelect %int %134 %int_n1 %int_1
202%137 = OpConvertSToF %float %135
203%138 = OpAccessChain %_ptr_Output_float %vcoord_Stage0 %int_0
204OpStore %138 %137
205%140 = OpLoad %int %sk_VertexID
206%141 = OpSDiv %int %140 %int_2
207%142 = OpIEqual %bool %int_0 %141
208%143 = OpSelect %int %142 %int_n1 %int_1
209%144 = OpConvertSToF %float %143
210%145 = OpAccessChain %_ptr_Output_float %vcoord_Stage0 %int_1
211OpStore %145 %144
212%146 = OpLoad %v2float %vertexpos
213%147 = OpCompositeExtract %float %146 0
214%148 = OpLoad %v2float %vertexpos
215%149 = OpCompositeExtract %float %148 1
216%152 = OpCompositeConstruct %v4float %147 %149 %float_0 %float_1
217%153 = OpAccessChain %_ptr_Output_v4float %3 %int_0
218OpStore %153 %152
219OpReturn
220OpFunctionEnd
221