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