David Gonzalez Martin be2de1d672 Render a texture
2024-11-10 08:48:46 -06:00

876 lines
52 KiB
Plaintext

spv.debuginfo.glsl.tesc
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 571
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" 262 267 296 385 401 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"
239: String "pos"
247: String "gl_Position"
250: String "gl_PointSize"
253: String "gl_CullDistance"
257: String "gl_PerVertex"
264: String "gl_in"
269: String "gl_InvocationID"
277: String "type.2d.image"
279: String "@type.2d.image"
283: String "type.sampled.image"
284: String "@type.sampled.image"
289: String "samplerHeight"
298: String "inUV"
317: String "i"
387: String "gl_TessLevelInner"
403: 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 237 "pos"
Name 245 "gl_PerVertex"
MemberName 245(gl_PerVertex) 0 "gl_Position"
MemberName 245(gl_PerVertex) 1 "gl_PointSize"
MemberName 245(gl_PerVertex) 2 "gl_ClipDistance"
MemberName 245(gl_PerVertex) 3 "gl_CullDistance"
Name 262 "gl_in"
Name 267 "gl_InvocationID"
Name 287 "samplerHeight"
Name 296 "inUV"
Name 315 "i"
Name 385 "gl_TessLevelInner"
Name 401 "gl_TessLevelOuter"
Name 426 "param"
Name 432 "param"
Name 437 "param"
Name 442 "param"
Name 447 "param"
Name 452 "param"
Name 457 "param"
Name 462 "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
Decorate 99(UBO) Block
MemberDecorate 99(UBO) 0 ColMajor
MemberDecorate 99(UBO) 0 MatrixStride 16
MemberDecorate 99(UBO) 0 Offset 0
MemberDecorate 99(UBO) 1 ColMajor
MemberDecorate 99(UBO) 1 MatrixStride 16
MemberDecorate 99(UBO) 1 Offset 64
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 122(ubo) Binding 0
Decorate 122(ubo) DescriptorSet 0
Decorate 245(gl_PerVertex) Block
MemberDecorate 245(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 245(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 245(gl_PerVertex) 2 BuiltIn ClipDistance
MemberDecorate 245(gl_PerVertex) 3 BuiltIn CullDistance
Decorate 267(gl_InvocationID) BuiltIn InvocationId
Decorate 287(samplerHeight) Binding 1
Decorate 287(samplerHeight) DescriptorSet 0
Decorate 296(inUV) Location 1
Decorate 385(gl_TessLevelInner) BuiltIn TessLevelInner
Decorate 385(gl_TessLevelInner) Patch
Decorate 401(gl_TessLevelOuter) BuiltIn TessLevelOuter
Decorate 401(gl_TessLevelOuter) Patch
Decorate 503(gl_PerVertex) Block
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 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
233: 7(int) Constant 77
240: 7(int) Constant 85
238: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 239 21 33 240 12 56 20
243: TypeArray 16(float) 37
244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 37
245(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243
248: 7(int) Constant 1756
246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 248 12 12 13
251: 7(int) Constant 1774
249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 251 12 12 13
254: 7(int) Constant 1817
252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 254 12 12 13
255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 254 12 12 13
256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 240 12 36 257 12 13 246 249 252 255
258: TypeArray 245(gl_PerVertex) 10
259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 256 10
260: TypePointer Input 258
261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 259 37 12
262(gl_in): 260(ptr) Variable Input
263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 264 259 33 240 12 36 264 262(gl_in) 112
265: TypePointer Input 125(int)
266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 37 12
267(gl_InvocationID): 265(ptr) Variable Input
268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 269 127 33 240 12 36 269 267(gl_InvocationID) 112
271: TypePointer Input 19(fvec4)
272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 37 12
275: TypeImage 16(float) 2D sampled format:Unknown
278: 7(int) Constant 86
280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone)
276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 277 12 33 278 12 36 279 280 13
281: TypeSampledImage 275
282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 283 12 33 278 12 36 284 280 13
285: TypePointer UniformConstant 281
286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 282 12 12
287(samplerHeight): 285(ptr) Variable UniformConstant
288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 289 282 33 278 12 36 289 287(samplerHeight) 112
292: TypeArray 97(fvec2) 10
293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 10
294: TypePointer Input 292
295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 293 37 12
296(inUV): 294(ptr) Variable Input
297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 298 293 33 278 12 36 298 296(inUV) 112
299: TypePointer Input 97(fvec2)
300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 37 12
305: 125(int) Constant 4
313: TypePointer Function 125(int)
314: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 23 12
318: 7(int) Constant 89
316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 317 127 33 318 12 56 20
335: 7(int) Constant 90
336: 125(int) Constant 3
338: TypePointer Uniform 19(fvec4)
339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 38 12
343: 16(float) Constant 1090519040
348: 48(bool) ConstantFalse
351: 7(int) Constant 92
359: 7(int) Constant 95
364: 7(int) Constant 96
370: 7(int) Constant 100
377: 7(int) Constant 102
381: TypeArray 16(float) 38
382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38
383: TypePointer Output 381
384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 382 13 12
385(gl_TessLevelInner): 383(ptr) Variable Output
388: 7(int) Constant 104
386: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 387 382 33 388 12 36 387 385(gl_TessLevelInner) 112
389: TypePointer Output 16(float)
390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12
396: 7(int) Constant 105
397: TypeArray 16(float) 20
398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20
399: TypePointer Output 397
400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 398 13 12
401(gl_TessLevelOuter): 399(ptr) Variable Output
404: 7(int) Constant 106
402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 403 398 33 404 12 36 403 401(gl_TessLevelOuter) 112
409: 7(int) Constant 107
410: 125(int) Constant 2
413: 7(int) Constant 108
416: 7(int) Constant 109
421: 7(int) Constant 113
430: 7(int) Constant 115
440: 7(int) Constant 116
450: 7(int) Constant 117
460: 7(int) Constant 118
469: 7(int) Constant 119
477: 7(int) Constant 120
487: 7(int) Constant 126
490: 7(int) Constant 127
493: 7(int) Constant 128
496: 7(int) Constant 129
499: 7(int) Constant 130
502: 7(int) Constant 131
503(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243
505: 7(int) Constant 110
504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 505 12 12 13
506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 493 12 12 13
508: 7(int) Constant 171
507: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 508 12 12 13
509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 508 12 12 13
511: 7(int) Constant 137
510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 511 12 36 257 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
570: 7(int) Constant 140
14(main): 4 Function None 5
15: Label
426(param): 22(ptr) Variable Function
432(param): 22(ptr) Variable Function
437(param): 22(ptr) Variable Function
442(param): 22(ptr) Variable Function
447(param): 22(ptr) Variable Function
452(param): 22(ptr) Variable Function
457(param): 22(ptr) Variable Function
462(param): 22(ptr) Variable Function
366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12
365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main)
369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 370 370 12 12
368: 125(int) Load 267(gl_InvocationID)
371: 48(bool) IEqual 368 141
SelectionMerge 373 None
BranchConditional 371 372 373
372: Label
375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 377 377 12 12
374: 48(bool) FunctionCall 53(frustumCheck()
378: 48(bool) LogicalNot 374
SelectionMerge 380 None
BranchConditional 378 379 417
379: Label
392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 388 388 12 12
391: 389(ptr) AccessChain 385(gl_TessLevelInner) 141
Store 391 148
395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 396 396 12 12
394: 389(ptr) AccessChain 385(gl_TessLevelInner) 128
Store 394 148
406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 404 404 12 12
405: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141
Store 405 148
408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 409 409 12 12
407: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128
Store 407 148
412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 413 413 12 12
411: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410
Store 411 148
415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 416 416 12 12
414: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336
Store 414 148
Branch 380
417: Label
419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 421 421 12 12
418: 217(ptr) AccessChain 122(ubo) 222
422: 16(float) Load 418
423: 48(bool) FOrdGreaterThan 422 148
SelectionMerge 425 None
BranchConditional 423 424 483
424: Label
428: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 430 430 12 12
427: 271(ptr) AccessChain 262(gl_in) 336 141
431: 19(fvec4) Load 427
Store 426(param) 431
433: 271(ptr) AccessChain 262(gl_in) 141 141
434: 19(fvec4) Load 433
Store 432(param) 434
435: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 426(param) 432(param)
436: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141
Store 436 435
439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 440 440 12 12
438: 271(ptr) AccessChain 262(gl_in) 141 141
441: 19(fvec4) Load 438
Store 437(param) 441
443: 271(ptr) AccessChain 262(gl_in) 128 141
444: 19(fvec4) Load 443
Store 442(param) 444
445: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 437(param) 442(param)
446: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128
Store 446 445
449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 450 450 12 12
448: 271(ptr) AccessChain 262(gl_in) 128 141
451: 19(fvec4) Load 448
Store 447(param) 451
453: 271(ptr) AccessChain 262(gl_in) 410 141
454: 19(fvec4) Load 453
Store 452(param) 454
455: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 447(param) 452(param)
456: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410
Store 456 455
459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 460 460 12 12
458: 271(ptr) AccessChain 262(gl_in) 410 141
461: 19(fvec4) Load 458
Store 457(param) 461
463: 271(ptr) AccessChain 262(gl_in) 336 141
464: 19(fvec4) Load 463
Store 462(param) 464
465: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 457(param) 462(param)
466: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336
Store 466 465
468: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 469 469 12 12
467: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141
470: 16(float) Load 467
471: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336
472: 16(float) Load 471
473: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 470 472 68
474: 389(ptr) AccessChain 385(gl_TessLevelInner) 141
Store 474 473
476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 477 477 12 12
475: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410
478: 16(float) Load 475
479: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128
480: 16(float) Load 479
481: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 478 480 68
482: 389(ptr) AccessChain 385(gl_TessLevelInner) 128
Store 482 481
Branch 425
483: Label
485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 487 487 12 12
484: 389(ptr) AccessChain 385(gl_TessLevelInner) 141
Store 484 226
489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 490 490 12 12
488: 389(ptr) AccessChain 385(gl_TessLevelInner) 128
Store 488 226
492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 493 493 12 12
491: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141
Store 491 226
495: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 496 496 12 12
494: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128
Store 494 226
498: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 499 499 12 12
497: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410
Store 497 226
501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 502 502 12 12
500: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336
Store 500 226
Branch 425
425: Label
Branch 380
380: Label
Branch 373
373: 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 267(gl_InvocationID)
522: 125(int) Load 267(gl_InvocationID)
523: 271(ptr) AccessChain 262(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 267(gl_InvocationID)
545: 125(int) Load 267(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 267(gl_InvocationID)
563: 125(int) Load 267(gl_InvocationID)
564: 299(ptr) AccessChain 296(inUV) 563
565: 97(fvec2) Load 564
568: 566(ptr) AccessChain 557(outUV) 561
Store 568 565
569: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 570 570 12 12
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
237(pos): 22(ptr) Variable Function
315(i): 313(ptr) Variable Function
235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 57 57 12 12
234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 56 53(frustumCheck()
242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 240 240 12 12
241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 238 237(pos) 42
270: 125(int) Load 267(gl_InvocationID)
273: 271(ptr) AccessChain 262(gl_in) 270 141
274: 19(fvec4) Load 273
Store 237(pos) 274
291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 278 278 12 12
290: 281 Load 287(samplerHeight)
301: 299(ptr) AccessChain 296(inUV) 141
302: 97(fvec2) Load 301
303: 19(fvec4) ImageSampleExplicitLod 290 302 Lod 148
304: 16(float) CompositeExtract 303 0
306: 217(ptr) AccessChain 122(ubo) 305
307: 16(float) Load 306
308: 16(float) FMul 304 307
309: 73(ptr) AccessChain 237(pos) 37
310: 16(float) Load 309
311: 16(float) FSub 310 308
312: 73(ptr) AccessChain 237(pos) 37
Store 312 311
320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12
319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 316 315(i) 42
Store 315(i) 141
Branch 321
321: Label
325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12
LoopMerge 323 324 None
Branch 327
327: Label
329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12
328: 125(int) Load 315(i)
331: 48(bool) SLessThan 328 186
BranchConditional 331 322 323
322: Label
333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 335 335 12 12
332: 19(fvec4) Load 237(pos)
337: 125(int) Load 315(i)
340: 338(ptr) AccessChain 122(ubo) 336 337
341: 19(fvec4) Load 340
342: 16(float) Dot 332 341
344: 16(float) FAdd 342 343
345: 48(bool) FOrdLessThan 344 148
SelectionMerge 347 None
BranchConditional 345 346 347
346: Label
349: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 351 351 12 12
ReturnValue 348
347: Label
Branch 324
324: Label
354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12
353: 125(int) Load 315(i)
356: 125(int) IAdd 353 128
Store 315(i) 356
Branch 321
323: 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