blob: 8a0308a4f11b8fff96af3d9f206d8aaae35143fa [file] [log] [blame]
spv.debuginfo.glsl.tesc
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 569
Capability Tessellation
Extension "SPV_KHR_non_semantic_info"
1: ExtInstImport "NonSemantic.Shader.DebugInfo.100"
3: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint TessellationControl 14 "main" 260 265 294 383 399 516 532 542 557
ExecutionMode 14 OutputVertices 4
2: String "spv.debuginfo.glsl.tesc"
8: String "uint"
17: String "float"
31: String "screenSpaceTessFactor"
34: String "// OpModuleProcessed auto-map-locations
// OpModuleProcessed auto-map-bindings
// OpModuleProcessed client vulkan100
// OpModuleProcessed target-env vulkan1.0
// OpModuleProcessed keep-uncalled
// OpModuleProcessed entry-point main
#line 1
/*
The MIT License (MIT)
Copyright (c) 2022 Sascha Willems
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#version 450
layout(set = 0, binding = 0) uniform UBO
{
mat4 projection;
mat4 modelview;
vec4 lightPos;
vec4 frustumPlanes[6];
float displacementFactor;
float tessellationFactor;
vec2 viewportDim;
float tessellatedEdgeSize;
} ubo;
layout(set = 0, binding = 1) uniform sampler2D samplerHeight;
layout (vertices = 4) out;
layout (location = 0) in vec3 inNormal[];
layout (location = 1) in vec2 inUV[];
layout (location = 0) out vec3 outNormal[4];
layout (location = 1) out vec2 outUV[4];
// Calculate the tessellation factor based on screen space
// dimensions of the edge
float screenSpaceTessFactor(vec4 p0, vec4 p1)
{
// Calculate edge mid point
vec4 midPoint = 0.5 * (p0 + p1);
// Sphere radius as distance between the control points
float radius = distance(p0, p1) / 2.0;
// View space
vec4 v0 = ubo.modelview * midPoint;
// Project into clip space
vec4 clip0 = (ubo.projection * (v0 - vec4(radius, vec3(0.0))));
vec4 clip1 = (ubo.projection * (v0 + vec4(radius, vec3(0.0))));
// Get normalized device coordinates
clip0 /= clip0.w;
clip1 /= clip1.w;
// Convert to viewport coordinates
clip0.xy *= ubo.viewportDim;
clip1.xy *= ubo.viewportDim;
// Return the tessellation factor based on the screen size
// given by the distance of the two edge control points in screen space
// and a reference (min.) tessellation size for the edge set by the application
return clamp(distance(clip0, clip1) / ubo.tessellatedEdgeSize * ubo.tessellationFactor, 1.0, 64.0);
}
// Checks the current's patch visibility against the frustum using a sphere check
// Sphere radius is given by the patch size
bool frustumCheck()
{
// Fixed radius (increase if patch size is increased in example)
const float radius = 8.0f;
vec4 pos = gl_in[gl_InvocationID].gl_Position;
pos.y -= textureLod(samplerHeight, inUV[0], 0.0).r * ubo.displacementFactor;
// Check sphere against frustum planes
for (int i = 0; i < 6; i++) {
if (dot(pos, ubo.frustumPlanes[i]) + radius < 0.0)
{
return false;
}
}
return true;
}
void main()
{
if (gl_InvocationID == 0)
{
if (!frustumCheck())
{
gl_TessLevelInner[0] = 0.0;
gl_TessLevelInner[1] = 0.0;
gl_TessLevelOuter[0] = 0.0;
gl_TessLevelOuter[1] = 0.0;
gl_TessLevelOuter[2] = 0.0;
gl_TessLevelOuter[3] = 0.0;
}
else
{
if (ubo.tessellationFactor > 0.0)
{
gl_TessLevelOuter[0] = screenSpaceTessFactor(gl_in[3].gl_Position, gl_in[0].gl_Position);
gl_TessLevelOuter[1] = screenSpaceTessFactor(gl_in[0].gl_Position, gl_in[1].gl_Position);
gl_TessLevelOuter[2] = screenSpaceTessFactor(gl_in[1].gl_Position, gl_in[2].gl_Position);
gl_TessLevelOuter[3] = screenSpaceTessFactor(gl_in[2].gl_Position, gl_in[3].gl_Position);
gl_TessLevelInner[0] = mix(gl_TessLevelOuter[0], gl_TessLevelOuter[3], 0.5);
gl_TessLevelInner[1] = mix(gl_TessLevelOuter[2], gl_TessLevelOuter[1], 0.5);
}
else
{
// Tessellation factor can be set to zero by example
// to demonstrate a simple passthrough
gl_TessLevelInner[0] = 1.0;
gl_TessLevelInner[1] = 1.0;
gl_TessLevelOuter[0] = 1.0;
gl_TessLevelOuter[1] = 1.0;
gl_TessLevelOuter[2] = 1.0;
gl_TessLevelOuter[3] = 1.0;
}
}
}
gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
outNormal[gl_InvocationID] = inNormal[gl_InvocationID];
outUV[gl_InvocationID] = inUV[gl_InvocationID];
}
"
40: String "p0"
46: String "p1"
49: String "bool"
55: String "frustumCheck"
58: String "main"
64: String "midPoint"
77: String "radius"
88: String "v0"
101: String "modelview"
105: String "lightPos"
108: String "frustumPlanes"
110: String "tessellatedEdgeSize"
115: String "viewportDim"
119: String "UBO"
124: String "ubo"
126: String "int"
137: String "clip0"
158: String "clip1"
237: String "pos"
245: String "gl_Position"
248: String "gl_PointSize"
251: String "gl_CullDistance"
255: String "gl_PerVertex"
262: String "gl_in"
267: String "gl_InvocationID"
275: String "type.2d.image"
277: String "@type.2d.image"
281: String "type.sampled.image"
282: String "@type.sampled.image"
287: String "samplerHeight"
296: String "inUV"
315: String "i"
385: String "gl_TessLevelInner"
401: String "gl_TessLevelOuter"
518: String "gl_out"
534: String "outNormal"
544: String "inNormal"
559: String "outUV"
Name 14 "main"
Name 29 "screenSpaceTessFactor(vf4;vf4;"
Name 27 "p0"
Name 28 "p1"
Name 53 "frustumCheck("
Name 62 "midPoint"
Name 75 "radius"
Name 86 "v0"
Name 99 "UBO"
MemberName 99(UBO) 0 "projection"
MemberName 99(UBO) 1 "modelview"
MemberName 99(UBO) 2 "lightPos"
MemberName 99(UBO) 3 "frustumPlanes"
MemberName 99(UBO) 4 "displacementFactor"
MemberName 99(UBO) 5 "tessellationFactor"
MemberName 99(UBO) 6 "viewportDim"
MemberName 99(UBO) 7 "tessellatedEdgeSize"
Name 122 "ubo"
Name 135 "clip0"
Name 156 "clip1"
Name 235 "pos"
Name 243 "gl_PerVertex"
MemberName 243(gl_PerVertex) 0 "gl_Position"
MemberName 243(gl_PerVertex) 1 "gl_PointSize"
MemberName 243(gl_PerVertex) 2 "gl_ClipDistance"
MemberName 243(gl_PerVertex) 3 "gl_CullDistance"
Name 260 "gl_in"
Name 265 "gl_InvocationID"
Name 285 "samplerHeight"
Name 294 "inUV"
Name 313 "i"
Name 383 "gl_TessLevelInner"
Name 399 "gl_TessLevelOuter"
Name 424 "param"
Name 430 "param"
Name 435 "param"
Name 440 "param"
Name 445 "param"
Name 450 "param"
Name 455 "param"
Name 460 "param"
Name 503 "gl_PerVertex"
MemberName 503(gl_PerVertex) 0 "gl_Position"
MemberName 503(gl_PerVertex) 1 "gl_PointSize"
MemberName 503(gl_PerVertex) 2 "gl_ClipDistance"
MemberName 503(gl_PerVertex) 3 "gl_CullDistance"
Name 516 "gl_out"
Name 532 "outNormal"
Name 542 "inNormal"
Name 557 "outUV"
Decorate 95 ArrayStride 16
MemberDecorate 99(UBO) 0 ColMajor
MemberDecorate 99(UBO) 0 Offset 0
MemberDecorate 99(UBO) 0 MatrixStride 16
MemberDecorate 99(UBO) 1 ColMajor
MemberDecorate 99(UBO) 1 Offset 64
MemberDecorate 99(UBO) 1 MatrixStride 16
MemberDecorate 99(UBO) 2 Offset 128
MemberDecorate 99(UBO) 3 Offset 144
MemberDecorate 99(UBO) 4 Offset 240
MemberDecorate 99(UBO) 5 Offset 244
MemberDecorate 99(UBO) 6 Offset 248
MemberDecorate 99(UBO) 7 Offset 256
Decorate 99(UBO) Block
Decorate 122(ubo) DescriptorSet 0
Decorate 122(ubo) Binding 0
MemberDecorate 243(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 243(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 243(gl_PerVertex) 2 BuiltIn ClipDistance
MemberDecorate 243(gl_PerVertex) 3 BuiltIn CullDistance
Decorate 243(gl_PerVertex) Block
Decorate 265(gl_InvocationID) BuiltIn InvocationId
Decorate 285(samplerHeight) DescriptorSet 0
Decorate 285(samplerHeight) Binding 1
Decorate 294(inUV) Location 1
Decorate 383(gl_TessLevelInner) Patch
Decorate 383(gl_TessLevelInner) BuiltIn TessLevelInner
Decorate 399(gl_TessLevelOuter) Patch
Decorate 399(gl_TessLevelOuter) BuiltIn TessLevelOuter
MemberDecorate 503(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 503(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 503(gl_PerVertex) 2 BuiltIn ClipDistance
MemberDecorate 503(gl_PerVertex) 3 BuiltIn CullDistance
Decorate 503(gl_PerVertex) Block
Decorate 532(outNormal) Location 0
Decorate 542(inNormal) Location 0
Decorate 557(outUV) Location 1
4: TypeVoid
5: TypeFunction 4
7: TypeInt 32 0
10: 7(int) Constant 32
11: 7(int) Constant 6
12: 7(int) Constant 0
9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12
13: 7(int) Constant 3
6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4
16: TypeFloat 32
18: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 17 10 13 12
19: TypeVector 16(float) 4
20: 7(int) Constant 4
21: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 20
22: TypePointer Function 19(fvec4)
23: 7(int) Constant 7
24: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 23 12
25: TypeFunction 16(float) 22(ptr) 22(ptr)
26: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 18 21 21
33: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 34
35: 7(int) Constant 51
37: 7(int) Constant 1
38: 7(int) Constant 2
36: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 37 20 33 38
32: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 31 26 33 35 12 36 31 13 35
39: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 40 21 33 35 12 32 20 37
42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 46 21 33 35 12 32 20 38
48: TypeBool
50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 49 10 38 12
51: TypeFunction 48(bool)
52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 50
57: 7(int) Constant 81
56: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 55 52 33 57 12 36 55 13 57
60: 7(int) Constant 98
59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 58 6 33 60 12 36 58 13 60
65: 7(int) Constant 54
63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 64 21 33 65 12 32 20
68: 16(float) Constant 1056964608
73: TypePointer Function 16(float)
74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 23 12
78: 7(int) Constant 56
76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 77 18 33 78 12 32 20
84: 16(float) Constant 1073741824
89: 7(int) Constant 59
87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 21 33 89 12 32 20
92: TypeMatrix 19(fvec4) 4
94: 48(bool) ConstantTrue
93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 20 94
95: TypeArray 19(fvec4) 11
96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 21 11
97: TypeVector 16(float) 2
98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 38
99(UBO): TypeStruct 92 92 19(fvec4) 95 16(float) 16(float) 97(fvec2) 16(float)
102: 7(int) Constant 30
100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 101 93 33 102 23 12 12 13
103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 101 93 33 102 23 12 12 13
106: 7(int) Constant 31
104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 105 21 33 106 23 12 12 13
107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 108 96 33 10 23 12 12 13
111: 7(int) Constant 36
112: 7(int) Constant 8
109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 110 18 33 111 112 12 12 13
113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 110 18 33 111 112 12 12 13
116: 7(int) Constant 35
114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 115 98 33 116 23 12 12 13
117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 110 18 33 111 112 12 12 13
118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 119 37 33 89 12 36 119 12 13 100 103 104 107 109 113 114 117
120: TypePointer Uniform 99(UBO)
121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 118 38 12
122(ubo): 120(ptr) Variable Uniform
123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 124 118 33 89 12 36 124 122(ubo) 112
125: TypeInt 32 1
127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 126 10 20 12
128: 125(int) Constant 1
129: TypePointer Uniform 92
130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 93 38 12
138: 7(int) Constant 62
136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 137 21 33 138 12 32 20
141: 125(int) Constant 0
146: TypeVector 16(float) 3
147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 13
148: 16(float) Constant 0
149: 146(fvec3) ConstantComposite 148 148 148
159: 7(int) Constant 63
157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 158 21 33 159 12 32 20
174: 7(int) Constant 66
181: 7(int) Constant 67
186: 125(int) Constant 6
187: TypePointer Uniform 97(fvec2)
188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 38 12
191: 7(int) Constant 70
202: 7(int) Constant 71
213: 7(int) Constant 76
216: 125(int) Constant 7
217: TypePointer Uniform 16(float)
218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 38 12
222: 125(int) Constant 5
226: 16(float) Constant 1065353216
227: 16(float) Constant 1115684864
238: 7(int) Constant 85
236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 237 21 33 238 12 56 20
241: TypeArray 16(float) 37
242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 37
243(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 241 241
246: 7(int) Constant 1756
244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 245 21 33 37 246 12 12 13
249: 7(int) Constant 1774
247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 248 18 33 37 249 12 12 13
252: 7(int) Constant 1817
250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 252 12 12 13
253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 252 12 12 13
254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 255 37 33 238 12 36 255 12 13 244 247 250 253
256: TypeArray 243(gl_PerVertex) 10
257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 254 10
258: TypePointer Input 256
259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 257 37 12
260(gl_in): 258(ptr) Variable Input
261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 262 257 33 238 12 36 262 260(gl_in) 112
263: TypePointer Input 125(int)
264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 37 12
265(gl_InvocationID): 263(ptr) Variable Input
266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 267 127 33 238 12 36 267 265(gl_InvocationID) 112
269: TypePointer Input 19(fvec4)
270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 37 12
273: TypeImage 16(float) 2D sampled format:Unknown
276: 7(int) Constant 86
278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone)
274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 275 12 33 276 12 36 277 278 13
279: TypeSampledImage 273
280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 281 12 33 276 12 36 282 278 13
283: TypePointer UniformConstant 279
284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 280 12 12
285(samplerHeight): 283(ptr) Variable UniformConstant
286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 287 280 33 276 12 36 287 285(samplerHeight) 112
290: TypeArray 97(fvec2) 10
291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 10
292: TypePointer Input 290
293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 291 37 12
294(inUV): 292(ptr) Variable Input
295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 296 291 33 276 12 36 296 294(inUV) 112
297: TypePointer Input 97(fvec2)
298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 37 12
303: 125(int) Constant 4
311: TypePointer Function 125(int)
312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 23 12
316: 7(int) Constant 89
314: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 315 127 33 316 12 56 20
333: 7(int) Constant 90
334: 125(int) Constant 3
336: TypePointer Uniform 19(fvec4)
337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 38 12
341: 16(float) Constant 1090519040
346: 48(bool) ConstantFalse
349: 7(int) Constant 92
359: 7(int) Constant 95
368: 7(int) Constant 100
375: 7(int) Constant 102
379: TypeArray 16(float) 38
380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38
381: TypePointer Output 379
382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 380 13 12
383(gl_TessLevelInner): 381(ptr) Variable Output
386: 7(int) Constant 104
384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 385 380 33 386 12 36 385 383(gl_TessLevelInner) 112
387: TypePointer Output 16(float)
388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12
394: 7(int) Constant 105
395: TypeArray 16(float) 20
396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20
397: TypePointer Output 395
398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 396 13 12
399(gl_TessLevelOuter): 397(ptr) Variable Output
402: 7(int) Constant 106
400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 401 396 33 402 12 36 401 399(gl_TessLevelOuter) 112
407: 7(int) Constant 107
408: 125(int) Constant 2
411: 7(int) Constant 108
414: 7(int) Constant 109
419: 7(int) Constant 113
428: 7(int) Constant 115
438: 7(int) Constant 116
448: 7(int) Constant 117
458: 7(int) Constant 118
467: 7(int) Constant 119
475: 7(int) Constant 120
485: 7(int) Constant 126
488: 7(int) Constant 127
491: 7(int) Constant 128
494: 7(int) Constant 129
497: 7(int) Constant 130
500: 7(int) Constant 131
503(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 241 241
505: 7(int) Constant 110
504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 245 21 33 37 505 12 12 13
506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 248 18 33 37 491 12 12 13
508: 7(int) Constant 171
507: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 508 12 12 13
509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 508 12 12 13
511: 7(int) Constant 137
510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 255 37 33 511 12 36 255 12 13 504 506 507 509
512: TypeArray 503(gl_PerVertex) 20
513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 510 20
514: TypePointer Output 512
515: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 513 13 12
516(gl_out): 514(ptr) Variable Output
517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 518 513 33 511 12 36 518 516(gl_out) 112
525: TypePointer Output 19(fvec4)
526: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12
528: TypeArray 146(fvec3) 20
529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 20
530: TypePointer Output 528
531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 529 13 12
532(outNormal): 530(ptr) Variable Output
535: 7(int) Constant 138
533: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 534 529 33 535 12 36 534 532(outNormal) 112
538: TypeArray 146(fvec3) 10
539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 10
540: TypePointer Input 538
541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 539 37 12
542(inNormal): 540(ptr) Variable Input
543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 544 539 33 535 12 36 544 542(inNormal) 112
546: TypePointer Input 146(fvec3)
547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 37 12
550: TypePointer Output 146(fvec3)
551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 13 12
553: TypeArray 97(fvec2) 20
554: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 20
555: TypePointer Output 553
556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 554 13 12
557(outUV): 555(ptr) Variable Output
560: 7(int) Constant 139
558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 559 554 33 560 12 36 559 557(outUV) 112
566: TypePointer Output 97(fvec2)
567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 13 12
14(main): 4 Function None 5
15: Label
424(param): 22(ptr) Variable Function
430(param): 22(ptr) Variable Function
435(param): 22(ptr) Variable Function
440(param): 22(ptr) Variable Function
445(param): 22(ptr) Variable Function
450(param): 22(ptr) Variable Function
455(param): 22(ptr) Variable Function
460(param): 22(ptr) Variable Function
364: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12
363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main)
367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 368 368 12 12
366: 125(int) Load 265(gl_InvocationID)
369: 48(bool) IEqual 366 141
SelectionMerge 371 None
BranchConditional 369 370 371
370: Label
373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 375 375 12 12
372: 48(bool) FunctionCall 53(frustumCheck()
376: 48(bool) LogicalNot 372
SelectionMerge 378 None
BranchConditional 376 377 415
377: Label
390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 386 386 12 12
389: 387(ptr) AccessChain 383(gl_TessLevelInner) 141
Store 389 148
393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 394 394 12 12
392: 387(ptr) AccessChain 383(gl_TessLevelInner) 128
Store 392 148
404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 402 402 12 12
403: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141
Store 403 148
406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 407 407 12 12
405: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128
Store 405 148
410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 411 411 12 12
409: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408
Store 409 148
413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 414 414 12 12
412: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334
Store 412 148
Branch 378
415: Label
417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 419 419 12 12
416: 217(ptr) AccessChain 122(ubo) 222
420: 16(float) Load 416
421: 48(bool) FOrdGreaterThan 420 148
SelectionMerge 423 None
BranchConditional 421 422 481
422: Label
426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 428 428 12 12
425: 269(ptr) AccessChain 260(gl_in) 334 141
429: 19(fvec4) Load 425
Store 424(param) 429
431: 269(ptr) AccessChain 260(gl_in) 141 141
432: 19(fvec4) Load 431
Store 430(param) 432
433: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 424(param) 430(param)
434: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141
Store 434 433
437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 438 438 12 12
436: 269(ptr) AccessChain 260(gl_in) 141 141
439: 19(fvec4) Load 436
Store 435(param) 439
441: 269(ptr) AccessChain 260(gl_in) 128 141
442: 19(fvec4) Load 441
Store 440(param) 442
443: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 435(param) 440(param)
444: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128
Store 444 443
447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 448 448 12 12
446: 269(ptr) AccessChain 260(gl_in) 128 141
449: 19(fvec4) Load 446
Store 445(param) 449
451: 269(ptr) AccessChain 260(gl_in) 408 141
452: 19(fvec4) Load 451
Store 450(param) 452
453: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 445(param) 450(param)
454: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408
Store 454 453
457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 458 458 12 12
456: 269(ptr) AccessChain 260(gl_in) 408 141
459: 19(fvec4) Load 456
Store 455(param) 459
461: 269(ptr) AccessChain 260(gl_in) 334 141
462: 19(fvec4) Load 461
Store 460(param) 462
463: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 455(param) 460(param)
464: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334
Store 464 463
466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 467 467 12 12
465: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141
468: 16(float) Load 465
469: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334
470: 16(float) Load 469
471: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 468 470 68
472: 387(ptr) AccessChain 383(gl_TessLevelInner) 141
Store 472 471
474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 475 475 12 12
473: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408
476: 16(float) Load 473
477: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128
478: 16(float) Load 477
479: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 476 478 68
480: 387(ptr) AccessChain 383(gl_TessLevelInner) 128
Store 480 479
Branch 423
481: Label
483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 485 485 12 12
482: 387(ptr) AccessChain 383(gl_TessLevelInner) 141
Store 482 226
487: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 488 488 12 12
486: 387(ptr) AccessChain 383(gl_TessLevelInner) 128
Store 486 226
490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 491 491 12 12
489: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141
Store 489 226
493: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 494 494 12 12
492: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128
Store 492 226
496: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 497 497 12 12
495: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408
Store 495 226
499: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 500 500 12 12
498: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334
Store 498 226
Branch 423
423: Label
501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
Branch 378
378: Label
502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
Branch 371
371: Label
520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 511 511 12 12
519: 125(int) Load 265(gl_InvocationID)
522: 125(int) Load 265(gl_InvocationID)
523: 269(ptr) AccessChain 260(gl_in) 522 141
524: 19(fvec4) Load 523
527: 525(ptr) AccessChain 516(gl_out) 519 141
Store 527 524
537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 535 535 12 12
536: 125(int) Load 265(gl_InvocationID)
545: 125(int) Load 265(gl_InvocationID)
548: 546(ptr) AccessChain 542(inNormal) 545
549: 146(fvec3) Load 548
552: 550(ptr) AccessChain 532(outNormal) 536
Store 552 549
562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 560 560 12 12
561: 125(int) Load 265(gl_InvocationID)
563: 125(int) Load 265(gl_InvocationID)
564: 297(ptr) AccessChain 294(inUV) 563
565: 97(fvec2) Load 564
568: 566(ptr) AccessChain 557(outUV) 561
Store 568 565
Return
FunctionEnd
29(screenSpaceTessFactor(vf4;vf4;): 16(float) Function None 25
27(p0): 22(ptr) FunctionParameter
28(p1): 22(ptr) FunctionParameter
30: Label
62(midPoint): 22(ptr) Variable Function
75(radius): 73(ptr) Variable Function
86(v0): 22(ptr) Variable Function
135(clip0): 22(ptr) Variable Function
156(clip1): 22(ptr) Variable Function
43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 32
44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 35 35 12 12
41: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 39 27(p0) 42
47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 45 28(p1) 42
61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 32 29(screenSpaceTessFactor(vf4;vf4;)
67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 65 65 12 12
66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 63 62(midPoint) 42
69: 19(fvec4) Load 27(p0)
70: 19(fvec4) Load 28(p1)
71: 19(fvec4) FAdd 69 70
72: 19(fvec4) VectorTimesScalar 71 68
Store 62(midPoint) 72
80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 78 78 12 12
79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 76 75(radius) 42
81: 19(fvec4) Load 27(p0)
82: 19(fvec4) Load 28(p1)
83: 16(float) ExtInst 3(GLSL.std.450) 67(Distance) 81 82
85: 16(float) FDiv 83 84
Store 75(radius) 85
91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 89 89 12 12
90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 87 86(v0) 42
131: 129(ptr) AccessChain 122(ubo) 128
132: 92 Load 131
133: 19(fvec4) Load 62(midPoint)
134: 19(fvec4) MatrixTimesVector 132 133
Store 86(v0) 134
140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 138 138 12 12
139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 136 135(clip0) 42
142: 129(ptr) AccessChain 122(ubo) 141
143: 92 Load 142
144: 19(fvec4) Load 86(v0)
145: 16(float) Load 75(radius)
150: 16(float) CompositeExtract 149 0
151: 16(float) CompositeExtract 149 1
152: 16(float) CompositeExtract 149 2
153: 19(fvec4) CompositeConstruct 145 150 151 152
154: 19(fvec4) FSub 144 153
155: 19(fvec4) MatrixTimesVector 143 154
Store 135(clip0) 155
161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 159 159 12 12
160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 157 156(clip1) 42
162: 129(ptr) AccessChain 122(ubo) 141
163: 92 Load 162
164: 19(fvec4) Load 86(v0)
165: 16(float) Load 75(radius)
166: 16(float) CompositeExtract 149 0
167: 16(float) CompositeExtract 149 1
168: 16(float) CompositeExtract 149 2
169: 19(fvec4) CompositeConstruct 165 166 167 168
170: 19(fvec4) FAdd 164 169
171: 19(fvec4) MatrixTimesVector 163 170
Store 156(clip1) 171
173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 174 174 12 12
172: 73(ptr) AccessChain 135(clip0) 13
175: 16(float) Load 172
176: 19(fvec4) Load 135(clip0)
177: 19(fvec4) CompositeConstruct 175 175 175 175
178: 19(fvec4) FDiv 176 177
Store 135(clip0) 178
180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 181 181 12 12
179: 73(ptr) AccessChain 156(clip1) 13
182: 16(float) Load 179
183: 19(fvec4) Load 156(clip1)
184: 19(fvec4) CompositeConstruct 182 182 182 182
185: 19(fvec4) FDiv 183 184
Store 156(clip1) 185
190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 191 191 12 12
189: 187(ptr) AccessChain 122(ubo) 186
192: 97(fvec2) Load 189
193: 19(fvec4) Load 135(clip0)
194: 97(fvec2) VectorShuffle 193 193 0 1
195: 97(fvec2) FMul 194 192
196: 73(ptr) AccessChain 135(clip0) 12
197: 16(float) CompositeExtract 195 0
Store 196 197
198: 73(ptr) AccessChain 135(clip0) 37
199: 16(float) CompositeExtract 195 1
Store 198 199
201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 202 202 12 12
200: 187(ptr) AccessChain 122(ubo) 186
203: 97(fvec2) Load 200
204: 19(fvec4) Load 156(clip1)
205: 97(fvec2) VectorShuffle 204 204 0 1
206: 97(fvec2) FMul 205 203
207: 73(ptr) AccessChain 156(clip1) 12
208: 16(float) CompositeExtract 206 0
Store 207 208
209: 73(ptr) AccessChain 156(clip1) 37
210: 16(float) CompositeExtract 206 1
Store 209 210
212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 213 213 12 12
211: 19(fvec4) Load 135(clip0)
214: 19(fvec4) Load 156(clip1)
215: 16(float) ExtInst 3(GLSL.std.450) 67(Distance) 211 214
219: 217(ptr) AccessChain 122(ubo) 216
220: 16(float) Load 219
221: 16(float) FDiv 215 220
223: 217(ptr) AccessChain 122(ubo) 222
224: 16(float) Load 223
225: 16(float) FMul 221 224
228: 16(float) ExtInst 3(GLSL.std.450) 43(FClamp) 225 226 227
ReturnValue 228
FunctionEnd
53(frustumCheck(): 48(bool) Function None 51
54: Label
235(pos): 22(ptr) Variable Function
313(i): 311(ptr) Variable Function
233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 57 57 12 12
232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 56 53(frustumCheck()
240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 238 238 12 12
239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 236 235(pos) 42
268: 125(int) Load 265(gl_InvocationID)
271: 269(ptr) AccessChain 260(gl_in) 268 141
272: 19(fvec4) Load 271
Store 235(pos) 272
289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 276 276 12 12
288: 279 Load 285(samplerHeight)
299: 297(ptr) AccessChain 294(inUV) 141
300: 97(fvec2) Load 299
301: 19(fvec4) ImageSampleExplicitLod 288 300 Lod 148
302: 16(float) CompositeExtract 301 0
304: 217(ptr) AccessChain 122(ubo) 303
305: 16(float) Load 304
306: 16(float) FMul 302 305
307: 73(ptr) AccessChain 235(pos) 37
308: 16(float) Load 307
309: 16(float) FSub 308 306
310: 73(ptr) AccessChain 235(pos) 37
Store 310 309
318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12
317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 314 313(i) 42
Store 313(i) 141
Branch 319
319: Label
323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12
LoopMerge 321 322 None
Branch 325
325: Label
327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12
326: 125(int) Load 313(i)
329: 48(bool) SLessThan 326 186
BranchConditional 329 320 321
320: Label
331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
332: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 333 333 12 12
330: 19(fvec4) Load 235(pos)
335: 125(int) Load 313(i)
338: 336(ptr) AccessChain 122(ubo) 334 335
339: 19(fvec4) Load 338
340: 16(float) Dot 330 339
342: 16(float) FAdd 340 341
343: 48(bool) FOrdLessThan 342 148
SelectionMerge 345 None
BranchConditional 343 344 345
344: Label
347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 349 349 12 12
ReturnValue 346
345: Label
352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
Branch 322
322: Label
354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12
353: 125(int) Load 313(i)
356: 125(int) IAdd 353 128
Store 313(i) 356
Branch 319
321: Label
357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 359 359 12 12
ReturnValue 94
FunctionEnd