| 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 |