blob: 937a42efab2c2578620afaad219922e52442e5a6 [file] [log] [blame]
spv.debuginfo.glsl.tesc
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 579
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 390 405 524 540 550 565
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"
392: String "gl_TessLevelInner"
407: String "gl_TessLevelOuter"
526: String "gl_out"
542: String "outNormal"
552: String "inNormal"
567: 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 390 "gl_TessLevelInner"
Name 405 "gl_TessLevelOuter"
Name 434 "param"
Name 439 "param"
Name 444 "param"
Name 449 "param"
Name 454 "param"
Name 459 "param"
Name 464 "param"
Name 469 "param"
Name 511 "gl_PerVertex"
MemberName 511(gl_PerVertex) 0 "gl_Position"
MemberName 511(gl_PerVertex) 1 "gl_PointSize"
MemberName 511(gl_PerVertex) 2 "gl_ClipDistance"
MemberName 511(gl_PerVertex) 3 "gl_CullDistance"
Name 524 "gl_out"
Name 540 "outNormal"
Name 550 "inNormal"
Name 565 "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 390(gl_TessLevelInner) BuiltIn TessLevelInner
Decorate 390(gl_TessLevelInner) Patch
Decorate 405(gl_TessLevelOuter) BuiltIn TessLevelOuter
Decorate 405(gl_TessLevelOuter) Patch
Decorate 511(gl_PerVertex) Block
MemberDecorate 511(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 511(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 511(gl_PerVertex) 2 BuiltIn ClipDistance
MemberDecorate 511(gl_PerVertex) 3 BuiltIn CullDistance
Decorate 540(outNormal) Location 0
Decorate 550(inNormal) Location 0
Decorate 565(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
349: 7(int) Constant 92
348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 349 20 56
350: 48(bool) ConstantFalse
360: 7(int) Constant 95
365: 7(int) Constant 96
371: 7(int) Constant 100
376: 7(int) Constant 102
375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 376 13 59
384: 7(int) Constant 104
385: 7(int) Constant 25
383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 384 385 375
386: TypeArray 16(float) 38
387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38
388: TypePointer Output 386
389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 387 13 12
390(gl_TessLevelInner): 388(ptr) Variable Output
391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 392 387 33 384 12 36 392 390(gl_TessLevelInner) 112
393: TypePointer Output 16(float)
394: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12
400: 7(int) Constant 105
401: TypeArray 16(float) 20
402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20
403: TypePointer Output 401
404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 402 13 12
405(gl_TessLevelOuter): 403(ptr) Variable Output
408: 7(int) Constant 106
406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 407 402 33 408 12 36 407 405(gl_TessLevelOuter) 112
413: 7(int) Constant 107
414: 125(int) Constant 2
417: 7(int) Constant 108
420: 7(int) Constant 109
423: 7(int) Constant 113
422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 423 20 375
432: 7(int) Constant 115
433: 7(int) Constant 26
431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 432 433 422
447: 7(int) Constant 116
457: 7(int) Constant 117
467: 7(int) Constant 118
476: 7(int) Constant 119
484: 7(int) Constant 120
492: 7(int) Constant 126
491: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 492 433 422
498: 7(int) Constant 127
501: 7(int) Constant 128
504: 7(int) Constant 129
507: 7(int) Constant 130
510: 7(int) Constant 131
511(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243
513: 7(int) Constant 110
512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 513 12 12 13
514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 501 12 12 13
516: 7(int) Constant 171
515: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 516 12 12 13
517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 516 12 12 13
519: 7(int) Constant 137
518: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 519 12 36 257 12 13 512 514 515 517
520: TypeArray 511(gl_PerVertex) 20
521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 518 20
522: TypePointer Output 520
523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 521 13 12
524(gl_out): 522(ptr) Variable Output
525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 526 521 33 519 12 36 526 524(gl_out) 112
533: TypePointer Output 19(fvec4)
534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12
536: TypeArray 146(fvec3) 20
537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 20
538: TypePointer Output 536
539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 537 13 12
540(outNormal): 538(ptr) Variable Output
543: 7(int) Constant 138
541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 542 537 33 543 12 36 542 540(outNormal) 112
546: TypeArray 146(fvec3) 10
547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 10
548: TypePointer Input 546
549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 547 37 12
550(inNormal): 548(ptr) Variable Input
551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 552 547 33 543 12 36 552 550(inNormal) 112
554: TypePointer Input 146(fvec3)
555: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 37 12
558: TypePointer Output 146(fvec3)
559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 13 12
561: TypeArray 97(fvec2) 20
562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 20
563: TypePointer Output 561
564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 562 13 12
565(outUV): 563(ptr) Variable Output
568: 7(int) Constant 139
566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 567 562 33 568 12 36 567 565(outUV) 112
574: TypePointer Output 97(fvec2)
575: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 13 12
578: 7(int) Constant 140
14(main): 4 Function None 5
15: Label
434(param): 22(ptr) Variable Function
439(param): 22(ptr) Variable Function
444(param): 22(ptr) Variable Function
449(param): 22(ptr) Variable Function
454(param): 22(ptr) Variable Function
459(param): 22(ptr) Variable Function
464(param): 22(ptr) Variable Function
469(param): 22(ptr) Variable Function
367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12
366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main)
370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 371 371 12 12
369: 125(int) Load 267(gl_InvocationID)
372: 48(bool) IEqual 369 141
SelectionMerge 374 None
BranchConditional 372 373 374
373: Label
378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 375
379: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 376 376 12 12
377: 48(bool) FunctionCall 53(frustumCheck()
380: 48(bool) LogicalNot 377
SelectionMerge 382 None
BranchConditional 380 381 421
381: Label
396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 383
397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 384 384 12 12
395: 393(ptr) AccessChain 390(gl_TessLevelInner) 141
Store 395 148
399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 400 400 12 12
398: 393(ptr) AccessChain 390(gl_TessLevelInner) 128
Store 398 148
410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 408 408 12 12
409: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141
Store 409 148
412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 413 413 12 12
411: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128
Store 411 148
416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 417 417 12 12
415: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414
Store 415 148
419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 420 420 12 12
418: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336
Store 418 148
Branch 382
421: Label
425: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 422
426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 423 423 12 12
424: 217(ptr) AccessChain 122(ubo) 222
427: 16(float) Load 424
428: 48(bool) FOrdGreaterThan 427 148
SelectionMerge 430 None
BranchConditional 428 429 490
429: Label
436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 431
437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 432 432 12 12
435: 271(ptr) AccessChain 262(gl_in) 336 141
438: 19(fvec4) Load 435
Store 434(param) 438
440: 271(ptr) AccessChain 262(gl_in) 141 141
441: 19(fvec4) Load 440
Store 439(param) 441
442: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 434(param) 439(param)
443: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141
Store 443 442
446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 447 447 12 12
445: 271(ptr) AccessChain 262(gl_in) 141 141
448: 19(fvec4) Load 445
Store 444(param) 448
450: 271(ptr) AccessChain 262(gl_in) 128 141
451: 19(fvec4) Load 450
Store 449(param) 451
452: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 444(param) 449(param)
453: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128
Store 453 452
456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 457 457 12 12
455: 271(ptr) AccessChain 262(gl_in) 128 141
458: 19(fvec4) Load 455
Store 454(param) 458
460: 271(ptr) AccessChain 262(gl_in) 414 141
461: 19(fvec4) Load 460
Store 459(param) 461
462: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 454(param) 459(param)
463: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414
Store 463 462
466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 467 467 12 12
465: 271(ptr) AccessChain 262(gl_in) 414 141
468: 19(fvec4) Load 465
Store 464(param) 468
470: 271(ptr) AccessChain 262(gl_in) 336 141
471: 19(fvec4) Load 470
Store 469(param) 471
472: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 464(param) 469(param)
473: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336
Store 473 472
475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 476 476 12 12
474: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141
477: 16(float) Load 474
478: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336
479: 16(float) Load 478
480: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 477 479 68
481: 393(ptr) AccessChain 390(gl_TessLevelInner) 141
Store 481 480
483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 484 484 12 12
482: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414
485: 16(float) Load 482
486: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128
487: 16(float) Load 486
488: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 485 487 68
489: 393(ptr) AccessChain 390(gl_TessLevelInner) 128
Store 489 488
Branch 430
490: Label
494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 491
495: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 492 492 12 12
493: 393(ptr) AccessChain 390(gl_TessLevelInner) 141
Store 493 226
497: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 498 498 12 12
496: 393(ptr) AccessChain 390(gl_TessLevelInner) 128
Store 496 226
500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 501 501 12 12
499: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141
Store 499 226
503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 504 504 12 12
502: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128
Store 502 226
506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 507 507 12 12
505: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414
Store 505 226
509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 510 510 12 12
508: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336
Store 508 226
Branch 430
430: Label
Branch 382
382: Label
Branch 374
374: Label
528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 519 519 12 12
527: 125(int) Load 267(gl_InvocationID)
530: 125(int) Load 267(gl_InvocationID)
531: 271(ptr) AccessChain 262(gl_in) 530 141
532: 19(fvec4) Load 531
535: 533(ptr) AccessChain 524(gl_out) 527 141
Store 535 532
545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 543 543 12 12
544: 125(int) Load 267(gl_InvocationID)
553: 125(int) Load 267(gl_InvocationID)
556: 554(ptr) AccessChain 550(inNormal) 553
557: 146(fvec3) Load 556
560: 558(ptr) AccessChain 540(outNormal) 544
Store 560 557
570: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 568 568 12 12
569: 125(int) Load 267(gl_InvocationID)
571: 125(int) Load 267(gl_InvocationID)
572: 299(ptr) AccessChain 296(inUV) 571
573: 97(fvec2) Load 572
576: 574(ptr) AccessChain 565(outUV) 569
Store 576 573
577: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 578 578 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
351: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 348
352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 349 349 12 12
ReturnValue 350
347: Label
Branch 324
324: Label
355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12
354: 125(int) Load 315(i)
357: 125(int) IAdd 354 128
Store 315(i) 357
Branch 321
323: Label
358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 360 360 12 12
ReturnValue 94
FunctionEnd