1spv.debuginfo.glsl.tesc 2// Module Version 10000 3// Generated by (magic number): 8000b 4// Id's are bound by 579 5 6 Capability Tessellation 7 Extension "SPV_KHR_non_semantic_info" 8 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 9 3: ExtInstImport "GLSL.std.450" 10 MemoryModel Logical GLSL450 11 EntryPoint TessellationControl 14 "main" 262 267 296 390 405 524 540 550 565 12 ExecutionMode 14 OutputVertices 4 13 2: String "spv.debuginfo.glsl.tesc" 14 8: String "uint" 15 17: String "float" 16 31: String "screenSpaceTessFactor" 17 34: String "// OpModuleProcessed auto-map-locations 18// OpModuleProcessed auto-map-bindings 19// OpModuleProcessed client vulkan100 20// OpModuleProcessed target-env vulkan1.0 21// OpModuleProcessed keep-uncalled 22// OpModuleProcessed entry-point main 23#line 1 24/* 25The MIT License (MIT) 26 27Copyright (c) 2022 Sascha Willems 28 29Permission is hereby granted, free of charge, to any person obtaining a copy 30of this software and associated documentation files (the "Software"), to deal 31in the Software without restriction, including without limitation the rights 32to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 33copies of the Software, and to permit persons to whom the Software is 34furnished to do so, subject to the following conditions: 35 36The above copyright notice and this permission notice shall be included in all 37copies or substantial portions of the Software. 38 39THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 40IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 41FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 42AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 43LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 44OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 45SOFTWARE. 46*/ 47 48#version 450 49 50layout(set = 0, binding = 0) uniform UBO 51{ 52 mat4 projection; 53 mat4 modelview; 54 vec4 lightPos; 55 vec4 frustumPlanes[6]; 56 float displacementFactor; 57 float tessellationFactor; 58 vec2 viewportDim; 59 float tessellatedEdgeSize; 60} ubo; 61 62layout(set = 0, binding = 1) uniform sampler2D samplerHeight; 63 64layout (vertices = 4) out; 65 66layout (location = 0) in vec3 inNormal[]; 67layout (location = 1) in vec2 inUV[]; 68 69layout (location = 0) out vec3 outNormal[4]; 70layout (location = 1) out vec2 outUV[4]; 71 72// Calculate the tessellation factor based on screen space 73// dimensions of the edge 74float screenSpaceTessFactor(vec4 p0, vec4 p1) 75{ 76 // Calculate edge mid point 77 vec4 midPoint = 0.5 * (p0 + p1); 78 // Sphere radius as distance between the control points 79 float radius = distance(p0, p1) / 2.0; 80 81 // View space 82 vec4 v0 = ubo.modelview * midPoint; 83 84 // Project into clip space 85 vec4 clip0 = (ubo.projection * (v0 - vec4(radius, vec3(0.0)))); 86 vec4 clip1 = (ubo.projection * (v0 + vec4(radius, vec3(0.0)))); 87 88 // Get normalized device coordinates 89 clip0 /= clip0.w; 90 clip1 /= clip1.w; 91 92 // Convert to viewport coordinates 93 clip0.xy *= ubo.viewportDim; 94 clip1.xy *= ubo.viewportDim; 95 96 // Return the tessellation factor based on the screen size 97 // given by the distance of the two edge control points in screen space 98 // and a reference (min.) tessellation size for the edge set by the application 99 return clamp(distance(clip0, clip1) / ubo.tessellatedEdgeSize * ubo.tessellationFactor, 1.0, 64.0); 100} 101 102// Checks the current's patch visibility against the frustum using a sphere check 103// Sphere radius is given by the patch size 104bool frustumCheck() 105{ 106 // Fixed radius (increase if patch size is increased in example) 107 const float radius = 8.0f; 108 vec4 pos = gl_in[gl_InvocationID].gl_Position; 109 pos.y -= textureLod(samplerHeight, inUV[0], 0.0).r * ubo.displacementFactor; 110 111 // Check sphere against frustum planes 112 for (int i = 0; i < 6; i++) { 113 if (dot(pos, ubo.frustumPlanes[i]) + radius < 0.0) 114 { 115 return false; 116 } 117 } 118 return true; 119} 120 121void main() 122{ 123 if (gl_InvocationID == 0) 124 { 125 if (!frustumCheck()) 126 { 127 gl_TessLevelInner[0] = 0.0; 128 gl_TessLevelInner[1] = 0.0; 129 gl_TessLevelOuter[0] = 0.0; 130 gl_TessLevelOuter[1] = 0.0; 131 gl_TessLevelOuter[2] = 0.0; 132 gl_TessLevelOuter[3] = 0.0; 133 } 134 else 135 { 136 if (ubo.tessellationFactor > 0.0) 137 { 138 gl_TessLevelOuter[0] = screenSpaceTessFactor(gl_in[3].gl_Position, gl_in[0].gl_Position); 139 gl_TessLevelOuter[1] = screenSpaceTessFactor(gl_in[0].gl_Position, gl_in[1].gl_Position); 140 gl_TessLevelOuter[2] = screenSpaceTessFactor(gl_in[1].gl_Position, gl_in[2].gl_Position); 141 gl_TessLevelOuter[3] = screenSpaceTessFactor(gl_in[2].gl_Position, gl_in[3].gl_Position); 142 gl_TessLevelInner[0] = mix(gl_TessLevelOuter[0], gl_TessLevelOuter[3], 0.5); 143 gl_TessLevelInner[1] = mix(gl_TessLevelOuter[2], gl_TessLevelOuter[1], 0.5); 144 } 145 else 146 { 147 // Tessellation factor can be set to zero by example 148 // to demonstrate a simple passthrough 149 gl_TessLevelInner[0] = 1.0; 150 gl_TessLevelInner[1] = 1.0; 151 gl_TessLevelOuter[0] = 1.0; 152 gl_TessLevelOuter[1] = 1.0; 153 gl_TessLevelOuter[2] = 1.0; 154 gl_TessLevelOuter[3] = 1.0; 155 } 156 } 157 158 } 159 160 gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position; 161 outNormal[gl_InvocationID] = inNormal[gl_InvocationID]; 162 outUV[gl_InvocationID] = inUV[gl_InvocationID]; 163} 164" 165 40: String "p0" 166 46: String "p1" 167 49: String "bool" 168 55: String "frustumCheck" 169 58: String "main" 170 64: String "midPoint" 171 77: String "radius" 172 88: String "v0" 173 101: String "modelview" 174 105: String "lightPos" 175 108: String "frustumPlanes" 176 110: String "tessellatedEdgeSize" 177 115: String "viewportDim" 178 119: String "UBO" 179 124: String "ubo" 180 126: String "int" 181 137: String "clip0" 182 158: String "clip1" 183 239: String "pos" 184 247: String "gl_Position" 185 250: String "gl_PointSize" 186 253: String "gl_CullDistance" 187 257: String "gl_PerVertex" 188 264: String "gl_in" 189 269: String "gl_InvocationID" 190 277: String "type.2d.image" 191 279: String "@type.2d.image" 192 283: String "type.sampled.image" 193 284: String "@type.sampled.image" 194 289: String "samplerHeight" 195 298: String "inUV" 196 317: String "i" 197 392: String "gl_TessLevelInner" 198 407: String "gl_TessLevelOuter" 199 526: String "gl_out" 200 542: String "outNormal" 201 552: String "inNormal" 202 567: String "outUV" 203 Name 14 "main" 204 Name 29 "screenSpaceTessFactor(vf4;vf4;" 205 Name 27 "p0" 206 Name 28 "p1" 207 Name 53 "frustumCheck(" 208 Name 62 "midPoint" 209 Name 75 "radius" 210 Name 86 "v0" 211 Name 99 "UBO" 212 MemberName 99(UBO) 0 "projection" 213 MemberName 99(UBO) 1 "modelview" 214 MemberName 99(UBO) 2 "lightPos" 215 MemberName 99(UBO) 3 "frustumPlanes" 216 MemberName 99(UBO) 4 "displacementFactor" 217 MemberName 99(UBO) 5 "tessellationFactor" 218 MemberName 99(UBO) 6 "viewportDim" 219 MemberName 99(UBO) 7 "tessellatedEdgeSize" 220 Name 122 "ubo" 221 Name 135 "clip0" 222 Name 156 "clip1" 223 Name 237 "pos" 224 Name 245 "gl_PerVertex" 225 MemberName 245(gl_PerVertex) 0 "gl_Position" 226 MemberName 245(gl_PerVertex) 1 "gl_PointSize" 227 MemberName 245(gl_PerVertex) 2 "gl_ClipDistance" 228 MemberName 245(gl_PerVertex) 3 "gl_CullDistance" 229 Name 262 "gl_in" 230 Name 267 "gl_InvocationID" 231 Name 287 "samplerHeight" 232 Name 296 "inUV" 233 Name 315 "i" 234 Name 390 "gl_TessLevelInner" 235 Name 405 "gl_TessLevelOuter" 236 Name 434 "param" 237 Name 439 "param" 238 Name 444 "param" 239 Name 449 "param" 240 Name 454 "param" 241 Name 459 "param" 242 Name 464 "param" 243 Name 469 "param" 244 Name 511 "gl_PerVertex" 245 MemberName 511(gl_PerVertex) 0 "gl_Position" 246 MemberName 511(gl_PerVertex) 1 "gl_PointSize" 247 MemberName 511(gl_PerVertex) 2 "gl_ClipDistance" 248 MemberName 511(gl_PerVertex) 3 "gl_CullDistance" 249 Name 524 "gl_out" 250 Name 540 "outNormal" 251 Name 550 "inNormal" 252 Name 565 "outUV" 253 Decorate 95 ArrayStride 16 254 Decorate 99(UBO) Block 255 MemberDecorate 99(UBO) 0 ColMajor 256 MemberDecorate 99(UBO) 0 MatrixStride 16 257 MemberDecorate 99(UBO) 0 Offset 0 258 MemberDecorate 99(UBO) 1 ColMajor 259 MemberDecorate 99(UBO) 1 MatrixStride 16 260 MemberDecorate 99(UBO) 1 Offset 64 261 MemberDecorate 99(UBO) 2 Offset 128 262 MemberDecorate 99(UBO) 3 Offset 144 263 MemberDecorate 99(UBO) 4 Offset 240 264 MemberDecorate 99(UBO) 5 Offset 244 265 MemberDecorate 99(UBO) 6 Offset 248 266 MemberDecorate 99(UBO) 7 Offset 256 267 Decorate 122(ubo) Binding 0 268 Decorate 122(ubo) DescriptorSet 0 269 Decorate 245(gl_PerVertex) Block 270 MemberDecorate 245(gl_PerVertex) 0 BuiltIn Position 271 MemberDecorate 245(gl_PerVertex) 1 BuiltIn PointSize 272 MemberDecorate 245(gl_PerVertex) 2 BuiltIn ClipDistance 273 MemberDecorate 245(gl_PerVertex) 3 BuiltIn CullDistance 274 Decorate 267(gl_InvocationID) BuiltIn InvocationId 275 Decorate 287(samplerHeight) Binding 1 276 Decorate 287(samplerHeight) DescriptorSet 0 277 Decorate 296(inUV) Location 1 278 Decorate 390(gl_TessLevelInner) BuiltIn TessLevelInner 279 Decorate 390(gl_TessLevelInner) Patch 280 Decorate 405(gl_TessLevelOuter) BuiltIn TessLevelOuter 281 Decorate 405(gl_TessLevelOuter) Patch 282 Decorate 511(gl_PerVertex) Block 283 MemberDecorate 511(gl_PerVertex) 0 BuiltIn Position 284 MemberDecorate 511(gl_PerVertex) 1 BuiltIn PointSize 285 MemberDecorate 511(gl_PerVertex) 2 BuiltIn ClipDistance 286 MemberDecorate 511(gl_PerVertex) 3 BuiltIn CullDistance 287 Decorate 540(outNormal) Location 0 288 Decorate 550(inNormal) Location 0 289 Decorate 565(outUV) Location 1 290 4: TypeVoid 291 5: TypeFunction 4 292 7: TypeInt 32 0 293 10: 7(int) Constant 32 294 11: 7(int) Constant 6 295 12: 7(int) Constant 0 296 9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12 297 13: 7(int) Constant 3 298 6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4 299 16: TypeFloat 32 300 18: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 17 10 13 12 301 19: TypeVector 16(float) 4 302 20: 7(int) Constant 4 303 21: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 20 304 22: TypePointer Function 19(fvec4) 305 23: 7(int) Constant 7 306 24: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 23 12 307 25: TypeFunction 16(float) 22(ptr) 22(ptr) 308 26: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 18 21 21 309 33: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 34 310 35: 7(int) Constant 51 311 37: 7(int) Constant 1 312 38: 7(int) Constant 2 313 36: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 37 20 33 38 314 32: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 31 26 33 35 12 36 31 13 35 315 39: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 40 21 33 35 12 32 20 37 316 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) 317 45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 46 21 33 35 12 32 20 38 318 48: TypeBool 319 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 49 10 38 12 320 51: TypeFunction 48(bool) 321 52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 50 322 57: 7(int) Constant 81 323 56: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 55 52 33 57 12 36 55 13 57 324 60: 7(int) Constant 98 325 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 58 6 33 60 12 36 58 13 60 326 65: 7(int) Constant 54 327 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 64 21 33 65 12 32 20 328 68: 16(float) Constant 1056964608 329 73: TypePointer Function 16(float) 330 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 23 12 331 78: 7(int) Constant 56 332 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 77 18 33 78 12 32 20 333 84: 16(float) Constant 1073741824 334 89: 7(int) Constant 59 335 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 21 33 89 12 32 20 336 92: TypeMatrix 19(fvec4) 4 337 94: 48(bool) ConstantTrue 338 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 20 94 339 95: TypeArray 19(fvec4) 11 340 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 21 11 341 97: TypeVector 16(float) 2 342 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 38 343 99(UBO): TypeStruct 92 92 19(fvec4) 95 16(float) 16(float) 97(fvec2) 16(float) 344 102: 7(int) Constant 30 345 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 101 93 33 102 23 12 12 13 346 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 101 93 33 102 23 12 12 13 347 106: 7(int) Constant 31 348 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 105 21 33 106 23 12 12 13 349 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 108 96 33 10 23 12 12 13 350 111: 7(int) Constant 36 351 112: 7(int) Constant 8 352 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 110 18 33 111 112 12 12 13 353 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 110 18 33 111 112 12 12 13 354 116: 7(int) Constant 35 355 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 115 98 33 116 23 12 12 13 356 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 110 18 33 111 112 12 12 13 357 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 358 120: TypePointer Uniform 99(UBO) 359 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 118 38 12 360 122(ubo): 120(ptr) Variable Uniform 361 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 124 118 33 89 12 36 124 122(ubo) 112 362 125: TypeInt 32 1 363 127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 126 10 20 12 364 128: 125(int) Constant 1 365 129: TypePointer Uniform 92 366 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 93 38 12 367 138: 7(int) Constant 62 368 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 137 21 33 138 12 32 20 369 141: 125(int) Constant 0 370 146: TypeVector 16(float) 3 371 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 13 372 148: 16(float) Constant 0 373 149: 146(fvec3) ConstantComposite 148 148 148 374 159: 7(int) Constant 63 375 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 158 21 33 159 12 32 20 376 174: 7(int) Constant 66 377 181: 7(int) Constant 67 378 186: 125(int) Constant 6 379 187: TypePointer Uniform 97(fvec2) 380 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 38 12 381 191: 7(int) Constant 70 382 202: 7(int) Constant 71 383 213: 7(int) Constant 76 384 216: 125(int) Constant 7 385 217: TypePointer Uniform 16(float) 386 218: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 38 12 387 222: 125(int) Constant 5 388 226: 16(float) Constant 1065353216 389 227: 16(float) Constant 1115684864 390 233: 7(int) Constant 77 391 240: 7(int) Constant 85 392 238: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 239 21 33 240 12 56 20 393 243: TypeArray 16(float) 37 394 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 37 395245(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243 396 248: 7(int) Constant 1756 397 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 248 12 12 13 398 251: 7(int) Constant 1774 399 249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 251 12 12 13 400 254: 7(int) Constant 1817 401 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 254 12 12 13 402 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 254 12 12 13 403 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 240 12 36 257 12 13 246 249 252 255 404 258: TypeArray 245(gl_PerVertex) 10 405 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 256 10 406 260: TypePointer Input 258 407 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 259 37 12 408 262(gl_in): 260(ptr) Variable Input 409 263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 264 259 33 240 12 36 264 262(gl_in) 112 410 265: TypePointer Input 125(int) 411 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 37 12 412267(gl_InvocationID): 265(ptr) Variable Input 413 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 269 127 33 240 12 36 269 267(gl_InvocationID) 112 414 271: TypePointer Input 19(fvec4) 415 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 37 12 416 275: TypeImage 16(float) 2D sampled format:Unknown 417 278: 7(int) Constant 86 418 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) 419 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 277 12 33 278 12 36 279 280 13 420 281: TypeSampledImage 275 421 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 283 12 33 278 12 36 284 280 13 422 285: TypePointer UniformConstant 281 423 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 282 12 12 424287(samplerHeight): 285(ptr) Variable UniformConstant 425 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 289 282 33 278 12 36 289 287(samplerHeight) 112 426 292: TypeArray 97(fvec2) 10 427 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 10 428 294: TypePointer Input 292 429 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 293 37 12 430 296(inUV): 294(ptr) Variable Input 431 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 298 293 33 278 12 36 298 296(inUV) 112 432 299: TypePointer Input 97(fvec2) 433 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 37 12 434 305: 125(int) Constant 4 435 313: TypePointer Function 125(int) 436 314: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 23 12 437 318: 7(int) Constant 89 438 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 317 127 33 318 12 56 20 439 335: 7(int) Constant 90 440 336: 125(int) Constant 3 441 338: TypePointer Uniform 19(fvec4) 442 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 38 12 443 343: 16(float) Constant 1090519040 444 349: 7(int) Constant 92 445 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 349 20 56 446 350: 48(bool) ConstantFalse 447 360: 7(int) Constant 95 448 365: 7(int) Constant 96 449 371: 7(int) Constant 100 450 376: 7(int) Constant 102 451 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 376 13 59 452 384: 7(int) Constant 104 453 385: 7(int) Constant 25 454 383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 384 385 375 455 386: TypeArray 16(float) 38 456 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38 457 388: TypePointer Output 386 458 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 387 13 12 459390(gl_TessLevelInner): 388(ptr) Variable Output 460 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 392 387 33 384 12 36 392 390(gl_TessLevelInner) 112 461 393: TypePointer Output 16(float) 462 394: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 463 400: 7(int) Constant 105 464 401: TypeArray 16(float) 20 465 402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20 466 403: TypePointer Output 401 467 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 402 13 12 468405(gl_TessLevelOuter): 403(ptr) Variable Output 469 408: 7(int) Constant 106 470 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 407 402 33 408 12 36 407 405(gl_TessLevelOuter) 112 471 413: 7(int) Constant 107 472 414: 125(int) Constant 2 473 417: 7(int) Constant 108 474 420: 7(int) Constant 109 475 423: 7(int) Constant 113 476 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 423 20 375 477 432: 7(int) Constant 115 478 433: 7(int) Constant 26 479 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 432 433 422 480 447: 7(int) Constant 116 481 457: 7(int) Constant 117 482 467: 7(int) Constant 118 483 476: 7(int) Constant 119 484 484: 7(int) Constant 120 485 492: 7(int) Constant 126 486 491: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 492 433 422 487 498: 7(int) Constant 127 488 501: 7(int) Constant 128 489 504: 7(int) Constant 129 490 507: 7(int) Constant 130 491 510: 7(int) Constant 131 492511(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243 493 513: 7(int) Constant 110 494 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 513 12 12 13 495 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 501 12 12 13 496 516: 7(int) Constant 171 497 515: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 516 12 12 13 498 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 516 12 12 13 499 519: 7(int) Constant 137 500 518: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 519 12 36 257 12 13 512 514 515 517 501 520: TypeArray 511(gl_PerVertex) 20 502 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 518 20 503 522: TypePointer Output 520 504 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 521 13 12 505 524(gl_out): 522(ptr) Variable Output 506 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 526 521 33 519 12 36 526 524(gl_out) 112 507 533: TypePointer Output 19(fvec4) 508 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 509 536: TypeArray 146(fvec3) 20 510 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 20 511 538: TypePointer Output 536 512 539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 537 13 12 513 540(outNormal): 538(ptr) Variable Output 514 543: 7(int) Constant 138 515 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 542 537 33 543 12 36 542 540(outNormal) 112 516 546: TypeArray 146(fvec3) 10 517 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 10 518 548: TypePointer Input 546 519 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 547 37 12 520 550(inNormal): 548(ptr) Variable Input 521 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 552 547 33 543 12 36 552 550(inNormal) 112 522 554: TypePointer Input 146(fvec3) 523 555: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 37 12 524 558: TypePointer Output 146(fvec3) 525 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 13 12 526 561: TypeArray 97(fvec2) 20 527 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 20 528 563: TypePointer Output 561 529 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 562 13 12 530 565(outUV): 563(ptr) Variable Output 531 568: 7(int) Constant 139 532 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 567 562 33 568 12 36 567 565(outUV) 112 533 574: TypePointer Output 97(fvec2) 534 575: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 13 12 535 578: 7(int) Constant 140 536 14(main): 4 Function None 5 537 15: Label 538 434(param): 22(ptr) Variable Function 539 439(param): 22(ptr) Variable Function 540 444(param): 22(ptr) Variable Function 541 449(param): 22(ptr) Variable Function 542 454(param): 22(ptr) Variable Function 543 459(param): 22(ptr) Variable Function 544 464(param): 22(ptr) Variable Function 545 469(param): 22(ptr) Variable Function 546 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 547 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12 548 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main) 549 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 371 371 12 12 550 369: 125(int) Load 267(gl_InvocationID) 551 372: 48(bool) IEqual 369 141 552 SelectionMerge 374 None 553 BranchConditional 372 373 374 554 373: Label 555 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 375 556 379: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 376 376 12 12 557 377: 48(bool) FunctionCall 53(frustumCheck() 558 380: 48(bool) LogicalNot 377 559 SelectionMerge 382 None 560 BranchConditional 380 381 421 561 381: Label 562 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 383 563 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 384 384 12 12 564 395: 393(ptr) AccessChain 390(gl_TessLevelInner) 141 565 Store 395 148 566 399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 400 400 12 12 567 398: 393(ptr) AccessChain 390(gl_TessLevelInner) 128 568 Store 398 148 569 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 408 408 12 12 570 409: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141 571 Store 409 148 572 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 413 413 12 12 573 411: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128 574 Store 411 148 575 416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 417 417 12 12 576 415: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414 577 Store 415 148 578 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 420 420 12 12 579 418: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336 580 Store 418 148 581 Branch 382 582 421: Label 583 425: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 422 584 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 423 423 12 12 585 424: 217(ptr) AccessChain 122(ubo) 222 586 427: 16(float) Load 424 587 428: 48(bool) FOrdGreaterThan 427 148 588 SelectionMerge 430 None 589 BranchConditional 428 429 490 590 429: Label 591 436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 431 592 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 432 432 12 12 593 435: 271(ptr) AccessChain 262(gl_in) 336 141 594 438: 19(fvec4) Load 435 595 Store 434(param) 438 596 440: 271(ptr) AccessChain 262(gl_in) 141 141 597 441: 19(fvec4) Load 440 598 Store 439(param) 441 599 442: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 434(param) 439(param) 600 443: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141 601 Store 443 442 602 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 447 447 12 12 603 445: 271(ptr) AccessChain 262(gl_in) 141 141 604 448: 19(fvec4) Load 445 605 Store 444(param) 448 606 450: 271(ptr) AccessChain 262(gl_in) 128 141 607 451: 19(fvec4) Load 450 608 Store 449(param) 451 609 452: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 444(param) 449(param) 610 453: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128 611 Store 453 452 612 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 457 457 12 12 613 455: 271(ptr) AccessChain 262(gl_in) 128 141 614 458: 19(fvec4) Load 455 615 Store 454(param) 458 616 460: 271(ptr) AccessChain 262(gl_in) 414 141 617 461: 19(fvec4) Load 460 618 Store 459(param) 461 619 462: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 454(param) 459(param) 620 463: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414 621 Store 463 462 622 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 467 467 12 12 623 465: 271(ptr) AccessChain 262(gl_in) 414 141 624 468: 19(fvec4) Load 465 625 Store 464(param) 468 626 470: 271(ptr) AccessChain 262(gl_in) 336 141 627 471: 19(fvec4) Load 470 628 Store 469(param) 471 629 472: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 464(param) 469(param) 630 473: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336 631 Store 473 472 632 475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 476 476 12 12 633 474: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141 634 477: 16(float) Load 474 635 478: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336 636 479: 16(float) Load 478 637 480: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 477 479 68 638 481: 393(ptr) AccessChain 390(gl_TessLevelInner) 141 639 Store 481 480 640 483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 484 484 12 12 641 482: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414 642 485: 16(float) Load 482 643 486: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128 644 487: 16(float) Load 486 645 488: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 485 487 68 646 489: 393(ptr) AccessChain 390(gl_TessLevelInner) 128 647 Store 489 488 648 Branch 430 649 490: Label 650 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 491 651 495: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 492 492 12 12 652 493: 393(ptr) AccessChain 390(gl_TessLevelInner) 141 653 Store 493 226 654 497: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 498 498 12 12 655 496: 393(ptr) AccessChain 390(gl_TessLevelInner) 128 656 Store 496 226 657 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 501 501 12 12 658 499: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141 659 Store 499 226 660 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 504 504 12 12 661 502: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128 662 Store 502 226 663 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 507 507 12 12 664 505: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414 665 Store 505 226 666 509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 510 510 12 12 667 508: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336 668 Store 508 226 669 Branch 430 670 430: Label 671 Branch 382 672 382: Label 673 Branch 374 674 374: Label 675 528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 676 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 519 519 12 12 677 527: 125(int) Load 267(gl_InvocationID) 678 530: 125(int) Load 267(gl_InvocationID) 679 531: 271(ptr) AccessChain 262(gl_in) 530 141 680 532: 19(fvec4) Load 531 681 535: 533(ptr) AccessChain 524(gl_out) 527 141 682 Store 535 532 683 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 543 543 12 12 684 544: 125(int) Load 267(gl_InvocationID) 685 553: 125(int) Load 267(gl_InvocationID) 686 556: 554(ptr) AccessChain 550(inNormal) 553 687 557: 146(fvec3) Load 556 688 560: 558(ptr) AccessChain 540(outNormal) 544 689 Store 560 557 690 570: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 568 568 12 12 691 569: 125(int) Load 267(gl_InvocationID) 692 571: 125(int) Load 267(gl_InvocationID) 693 572: 299(ptr) AccessChain 296(inUV) 571 694 573: 97(fvec2) Load 572 695 576: 574(ptr) AccessChain 565(outUV) 569 696 Store 576 573 697 577: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 578 578 12 12 698 Return 699 FunctionEnd 70029(screenSpaceTessFactor(vf4;vf4;): 16(float) Function None 25 701 27(p0): 22(ptr) FunctionParameter 702 28(p1): 22(ptr) FunctionParameter 703 30: Label 704 62(midPoint): 22(ptr) Variable Function 705 75(radius): 73(ptr) Variable Function 706 86(v0): 22(ptr) Variable Function 707 135(clip0): 22(ptr) Variable Function 708 156(clip1): 22(ptr) Variable Function 709 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 32 710 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 35 35 12 12 711 41: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 39 27(p0) 42 712 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 45 28(p1) 42 713 61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 32 29(screenSpaceTessFactor(vf4;vf4;) 714 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 65 65 12 12 715 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 63 62(midPoint) 42 716 69: 19(fvec4) Load 27(p0) 717 70: 19(fvec4) Load 28(p1) 718 71: 19(fvec4) FAdd 69 70 719 72: 19(fvec4) VectorTimesScalar 71 68 720 Store 62(midPoint) 72 721 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 78 78 12 12 722 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 76 75(radius) 42 723 81: 19(fvec4) Load 27(p0) 724 82: 19(fvec4) Load 28(p1) 725 83: 16(float) ExtInst 3(GLSL.std.450) 67(Distance) 81 82 726 85: 16(float) FDiv 83 84 727 Store 75(radius) 85 728 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 89 89 12 12 729 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 87 86(v0) 42 730 131: 129(ptr) AccessChain 122(ubo) 128 731 132: 92 Load 131 732 133: 19(fvec4) Load 62(midPoint) 733 134: 19(fvec4) MatrixTimesVector 132 133 734 Store 86(v0) 134 735 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 138 138 12 12 736 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 136 135(clip0) 42 737 142: 129(ptr) AccessChain 122(ubo) 141 738 143: 92 Load 142 739 144: 19(fvec4) Load 86(v0) 740 145: 16(float) Load 75(radius) 741 150: 16(float) CompositeExtract 149 0 742 151: 16(float) CompositeExtract 149 1 743 152: 16(float) CompositeExtract 149 2 744 153: 19(fvec4) CompositeConstruct 145 150 151 152 745 154: 19(fvec4) FSub 144 153 746 155: 19(fvec4) MatrixTimesVector 143 154 747 Store 135(clip0) 155 748 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 159 159 12 12 749 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 157 156(clip1) 42 750 162: 129(ptr) AccessChain 122(ubo) 141 751 163: 92 Load 162 752 164: 19(fvec4) Load 86(v0) 753 165: 16(float) Load 75(radius) 754 166: 16(float) CompositeExtract 149 0 755 167: 16(float) CompositeExtract 149 1 756 168: 16(float) CompositeExtract 149 2 757 169: 19(fvec4) CompositeConstruct 165 166 167 168 758 170: 19(fvec4) FAdd 164 169 759 171: 19(fvec4) MatrixTimesVector 163 170 760 Store 156(clip1) 171 761 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 174 174 12 12 762 172: 73(ptr) AccessChain 135(clip0) 13 763 175: 16(float) Load 172 764 176: 19(fvec4) Load 135(clip0) 765 177: 19(fvec4) CompositeConstruct 175 175 175 175 766 178: 19(fvec4) FDiv 176 177 767 Store 135(clip0) 178 768 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 181 181 12 12 769 179: 73(ptr) AccessChain 156(clip1) 13 770 182: 16(float) Load 179 771 183: 19(fvec4) Load 156(clip1) 772 184: 19(fvec4) CompositeConstruct 182 182 182 182 773 185: 19(fvec4) FDiv 183 184 774 Store 156(clip1) 185 775 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 191 191 12 12 776 189: 187(ptr) AccessChain 122(ubo) 186 777 192: 97(fvec2) Load 189 778 193: 19(fvec4) Load 135(clip0) 779 194: 97(fvec2) VectorShuffle 193 193 0 1 780 195: 97(fvec2) FMul 194 192 781 196: 73(ptr) AccessChain 135(clip0) 12 782 197: 16(float) CompositeExtract 195 0 783 Store 196 197 784 198: 73(ptr) AccessChain 135(clip0) 37 785 199: 16(float) CompositeExtract 195 1 786 Store 198 199 787 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 202 202 12 12 788 200: 187(ptr) AccessChain 122(ubo) 186 789 203: 97(fvec2) Load 200 790 204: 19(fvec4) Load 156(clip1) 791 205: 97(fvec2) VectorShuffle 204 204 0 1 792 206: 97(fvec2) FMul 205 203 793 207: 73(ptr) AccessChain 156(clip1) 12 794 208: 16(float) CompositeExtract 206 0 795 Store 207 208 796 209: 73(ptr) AccessChain 156(clip1) 37 797 210: 16(float) CompositeExtract 206 1 798 Store 209 210 799 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 213 213 12 12 800 211: 19(fvec4) Load 135(clip0) 801 214: 19(fvec4) Load 156(clip1) 802 215: 16(float) ExtInst 3(GLSL.std.450) 67(Distance) 211 214 803 219: 217(ptr) AccessChain 122(ubo) 216 804 220: 16(float) Load 219 805 221: 16(float) FDiv 215 220 806 223: 217(ptr) AccessChain 122(ubo) 222 807 224: 16(float) Load 223 808 225: 16(float) FMul 221 224 809 228: 16(float) ExtInst 3(GLSL.std.450) 43(FClamp) 225 226 227 810 ReturnValue 228 811 FunctionEnd 81253(frustumCheck(): 48(bool) Function None 51 813 54: Label 814 237(pos): 22(ptr) Variable Function 815 315(i): 313(ptr) Variable Function 816 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 817 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 57 57 12 12 818 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 56 53(frustumCheck() 819 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 240 240 12 12 820 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 238 237(pos) 42 821 270: 125(int) Load 267(gl_InvocationID) 822 273: 271(ptr) AccessChain 262(gl_in) 270 141 823 274: 19(fvec4) Load 273 824 Store 237(pos) 274 825 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 278 278 12 12 826 290: 281 Load 287(samplerHeight) 827 301: 299(ptr) AccessChain 296(inUV) 141 828 302: 97(fvec2) Load 301 829 303: 19(fvec4) ImageSampleExplicitLod 290 302 Lod 148 830 304: 16(float) CompositeExtract 303 0 831 306: 217(ptr) AccessChain 122(ubo) 305 832 307: 16(float) Load 306 833 308: 16(float) FMul 304 307 834 309: 73(ptr) AccessChain 237(pos) 37 835 310: 16(float) Load 309 836 311: 16(float) FSub 310 308 837 312: 73(ptr) AccessChain 237(pos) 37 838 Store 312 311 839 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 840 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 316 315(i) 42 841 Store 315(i) 141 842 Branch 321 843 321: Label 844 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 845 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 846 LoopMerge 323 324 None 847 Branch 327 848 327: Label 849 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 850 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 851 328: 125(int) Load 315(i) 852 331: 48(bool) SLessThan 328 186 853 BranchConditional 331 322 323 854 322: Label 855 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 856 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 335 335 12 12 857 332: 19(fvec4) Load 237(pos) 858 337: 125(int) Load 315(i) 859 340: 338(ptr) AccessChain 122(ubo) 336 337 860 341: 19(fvec4) Load 340 861 342: 16(float) Dot 332 341 862 344: 16(float) FAdd 342 343 863 345: 48(bool) FOrdLessThan 344 148 864 SelectionMerge 347 None 865 BranchConditional 345 346 347 866 346: Label 867 351: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 348 868 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 349 349 12 12 869 ReturnValue 350 870 347: Label 871 Branch 324 872 324: Label 873 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 874 356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 875 354: 125(int) Load 315(i) 876 357: 125(int) IAdd 354 128 877 Store 315(i) 357 878 Branch 321 879 323: Label 880 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 881 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 360 360 12 12 882 ReturnValue 94 883 FunctionEnd 884