spv.debuginfo.hlsl.tesc WARNING: spv.debuginfo.hlsl.tesc:158: '' : attribute does not apply to entry point // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 724 Capability Tessellation Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint TessellationControl 6 "main" 616 623 630 664 673 680 687 702 717 ExecutionMode 6 OutputVertices 4 ExecutionMode 6 Quads ExecutionMode 6 SpacingEqual ExecutionMode 6 VertexOrderCw 2: String "spv.debuginfo.hlsl.tesc" 9: String "float" 12: String "uint" 30: String "screenSpaceTessFactor" 33: String "// OpModuleProcessed auto-map-locations // OpModuleProcessed auto-map-bindings // OpModuleProcessed entry-point main // OpModuleProcessed client vulkan100 // OpModuleProcessed target-env vulkan1.0 // OpModuleProcessed keep-uncalled // OpModuleProcessed hlsl-offsets #line 1 /* The MIT License (MIT) Copyright (c) 2022 Google LLC 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. */ struct UBO { float4x4 projection; float4x4 modelview; float4 lightPos; float4 frustumPlanes[6]; float displacementFactor; float tessellationFactor; float2 viewportDim; float tessellatedEdgeSize; }; cbuffer ubo : register(b0) { UBO ubo; }; Texture2D textureHeight : register(t1); SamplerState samplerHeight : register(s1); struct VSOutput { float4 Pos : SV_POSITION; [[vk::location(0)]] float3 Normal : NORMAL0; [[vk::location(1)]] float2 UV : TEXCOORD0; }; struct HSOutput { [[vk::location(2)]] float4 Pos : SV_POSITION; [[vk::location(0)]] float3 Normal : NORMAL0; [[vk::location(1)]] float2 UV : TEXCOORD0; }; struct ConstantsHSOutput { float TessLevelOuter[4] : SV_TessFactor; float TessLevelInner[2] : SV_InsideTessFactor; }; // Calculate the tessellation factor based on screen space // dimensions of the edge float screenSpaceTessFactor(float4 p0, float4 p1) { // Calculate edge mid point float4 midPoint = 0.5 * (p0 + p1); // Sphere radius as distance between the control points float radius = distance(p0, p1) / 2.0; // View space float4 v0 = mul(ubo.modelview, midPoint); // Project into clip space float4 clip0 = mul(ubo.projection, (v0 - float4(radius, float3(0.0, 0.0, 0.0)))); float4 clip1 = mul(ubo.projection, (v0 + float4(radius, float3(0.0, 0.0, 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(float4 Pos, float2 inUV) { // Fixed radius (increase if patch size is increased in example) const float radius = 8.0f; float4 pos = Pos; pos.y -= textureHeight.SampleLevel(samplerHeight, inUV, 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; } ConstantsHSOutput ConstantsHS(InputPatch patch) { ConstantsHSOutput output = (ConstantsHSOutput)0; if (!frustumCheck(patch[0].Pos, patch[0].UV)) { output.TessLevelInner[0] = 0.0; output.TessLevelInner[1] = 0.0; output.TessLevelOuter[0] = 0.0; output.TessLevelOuter[1] = 0.0; output.TessLevelOuter[2] = 0.0; output.TessLevelOuter[3] = 0.0; } else { if (ubo.tessellationFactor > 0.0) { output.TessLevelOuter[0] = screenSpaceTessFactor(patch[3].Pos, patch[0].Pos); output.TessLevelOuter[1] = screenSpaceTessFactor(patch[0].Pos, patch[1].Pos); output.TessLevelOuter[2] = screenSpaceTessFactor(patch[1].Pos, patch[2].Pos); output.TessLevelOuter[3] = screenSpaceTessFactor(patch[2].Pos, patch[3].Pos); output.TessLevelInner[0] = lerp(output.TessLevelOuter[0], output.TessLevelOuter[3], 0.5); output.TessLevelInner[1] = lerp(output.TessLevelOuter[2], output.TessLevelOuter[1], 0.5); } else { // Tessellation factor can be set to zero by example // to demonstrate a simple passthrough output.TessLevelInner[0] = 1.0; output.TessLevelInner[1] = 1.0; output.TessLevelOuter[0] = 1.0; output.TessLevelOuter[1] = 1.0; output.TessLevelOuter[2] = 1.0; output.TessLevelOuter[3] = 1.0; } } return output; } [domain("quad")] [partitioning("integer")] [outputtopology("triangle_cw")] [outputcontrolpoints(4)] [patchconstantfunc("ConstantsHS")] [maxtessfactor(20.0f)] HSOutput main(InputPatch patch, uint InvocationID : SV_OutputControlPointID) { HSOutput output = (HSOutput)0; output.Pos = patch[InvocationID].Pos; output.Normal = patch[InvocationID].Normal; output.UV = patch[InvocationID].UV; return output; } " 39: String "p0" 45: String "p1" 53: String "bool" 61: String "frustumCheck" 65: String "Pos" 70: String "inUV" 79: String "Normal" 83: String "UV" 87: String "VSOutput" 99: String "TessLevelOuter" 103: String "TessLevelInner" 106: String "ConstantsHSOutput" 112: String "ConstantsHS" 115: String "patch" 129: String "HSOutput" 137: String "@main" 144: String "InvocationID" 150: String "midPoint" 164: String "radius" 175: String "v0" 187: String "modelview" 192: String "lightPos" 196: String "frustumPlanes" 199: String "tessellatedEdgeSize" 203: String "viewportDim" 207: String "UBO" 210: String "ubo" 217: String "" 220: String "int" 231: String "clip0" 249: String "clip1" 328: String "pos" 336: String "type.2d.image" 338: String "@type.2d.image" 344: String "textureHeight" 349: String "type.sampler" 350: String "@type.sampler" 355: String "samplerHeight" 359: String "type.sampled.image" 360: String "@type.sampled.image" 380: String "i" 435: String "output" Name 6 "main" Name 28 "screenSpaceTessFactor(vf4;vf4;" Name 26 "p0" Name 27 "p1" Name 59 "frustumCheck(vf4;vf2;" Name 57 "Pos" Name 58 "inUV" Name 74 "VSOutput" MemberName 74(VSOutput) 0 "Pos" MemberName 74(VSOutput) 1 "Normal" MemberName 74(VSOutput) 2 "UV" Name 97 "ConstantsHSOutput" MemberName 97(ConstantsHSOutput) 0 "TessLevelOuter" MemberName 97(ConstantsHSOutput) 1 "TessLevelInner" Name 110 "ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];" Name 109 "patch" Name 121 "HSOutput" MemberName 121(HSOutput) 0 "Pos" MemberName 121(HSOutput) 1 "Normal" MemberName 121(HSOutput) 2 "UV" Name 135 "@main(struct-VSOutput-vf4-vf3-vf21[4];u1;" Name 133 "patch" Name 134 "InvocationID" Name 148 "midPoint" Name 162 "radius" Name 173 "v0" Name 185 "UBO" MemberName 185(UBO) 0 "projection" MemberName 185(UBO) 1 "modelview" MemberName 185(UBO) 2 "lightPos" MemberName 185(UBO) 3 "frustumPlanes" MemberName 185(UBO) 4 "displacementFactor" MemberName 185(UBO) 5 "tessellationFactor" MemberName 185(UBO) 6 "viewportDim" MemberName 185(UBO) 7 "tessellatedEdgeSize" Name 208 "ubo" MemberName 208(ubo) 0 "ubo" Name 215 "" Name 229 "clip0" Name 247 "clip1" Name 326 "pos" Name 342 "textureHeight" Name 353 "samplerHeight" Name 378 "i" Name 433 "output" Name 444 "param" Name 449 "param" Name 487 "param" Name 493 "param" Name 498 "param" Name 503 "param" Name 508 "param" Name 513 "param" Name 518 "param" Name 523 "param" Name 577 "output" Name 613 "patch" Name 616 "patch.Pos" Name 623 "patch.Normal" Name 630 "patch.UV" Name 662 "InvocationID" Name 664 "InvocationID" Name 666 "flattenTemp" Name 667 "param" Name 669 "param" Name 673 "@entryPointOutput.Pos" Name 680 "@entryPointOutput.Normal" Name 687 "@entryPointOutput.UV" Name 697 "@patchConstantResult" Name 698 "param" Name 702 "@patchConstantOutput.TessLevelOuter" Name 717 "@patchConstantOutput.TessLevelInner" Decorate 183 ArrayStride 16 MemberDecorate 185(UBO) 0 RowMajor MemberDecorate 185(UBO) 0 MatrixStride 16 MemberDecorate 185(UBO) 0 Offset 0 MemberDecorate 185(UBO) 1 RowMajor MemberDecorate 185(UBO) 1 MatrixStride 16 MemberDecorate 185(UBO) 1 Offset 64 MemberDecorate 185(UBO) 2 Offset 128 MemberDecorate 185(UBO) 3 Offset 144 MemberDecorate 185(UBO) 4 Offset 240 MemberDecorate 185(UBO) 5 Offset 244 MemberDecorate 185(UBO) 6 Offset 248 MemberDecorate 185(UBO) 7 Offset 256 Decorate 208(ubo) Block MemberDecorate 208(ubo) 0 Offset 0 Decorate 215 Binding 0 Decorate 215 DescriptorSet 0 Decorate 342(textureHeight) Binding 1 Decorate 342(textureHeight) DescriptorSet 0 Decorate 353(samplerHeight) Binding 1 Decorate 353(samplerHeight) DescriptorSet 0 Decorate 616(patch.Pos) BuiltIn Position Decorate 623(patch.Normal) Location 0 Decorate 630(patch.UV) Location 1 Decorate 664(InvocationID) BuiltIn InvocationId Decorate 673(@entryPointOutput.Pos) BuiltIn Position Decorate 680(@entryPointOutput.Normal) Location 0 Decorate 687(@entryPointOutput.UV) Location 1 Decorate 702(@patchConstantOutput.TessLevelOuter) BuiltIn TessLevelOuter Decorate 702(@patchConstantOutput.TessLevelOuter) Patch Decorate 717(@patchConstantOutput.TessLevelInner) BuiltIn TessLevelInner Decorate 717(@patchConstantOutput.TessLevelInner) Patch 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 11: TypeInt 32 0 14: 11(int) Constant 32 15: 11(int) Constant 6 16: 11(int) Constant 0 13: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 12 14 15 16 17: 11(int) Constant 3 10: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 9 14 17 16 18: TypeVector 8(float) 4 19: 11(int) Constant 4 20: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 19 21: TypePointer Function 18(fvec4) 22: 11(int) Constant 7 23: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 22 16 24: TypeFunction 8(float) 21(ptr) 21(ptr) 25: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 10 20 20 32: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 33 34: 11(int) Constant 65 36: 11(int) Constant 1 37: 11(int) Constant 5 35: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 36 19 32 37 31: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 30 25 32 34 16 35 30 17 34 38: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 39 20 32 34 16 31 19 36 41: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) 46: 11(int) Constant 2 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 45 20 32 34 16 31 19 46 48: TypeVector 8(float) 2 49: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 46 50: TypePointer Function 48(fvec2) 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 49 22 16 52: TypeBool 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 53 14 46 16 55: TypeFunction 52(bool) 21(ptr) 50(ptr) 56: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 54 20 49 63: 11(int) Constant 95 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 61 56 32 63 16 35 61 17 63 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 65 20 32 63 16 62 19 36 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 70 49 32 63 16 62 19 46 72: TypeVector 8(float) 3 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 74(VSOutput): TypeStruct 18(fvec4) 72(fvec3) 48(fvec2) 76: 11(int) Constant 44 77: 11(int) Constant 13 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 65 20 32 76 77 16 16 17 80: 11(int) Constant 45 81: 11(int) Constant 35 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 79 73 32 80 81 16 16 17 84: 11(int) Constant 46 85: 11(int) Constant 31 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 83 49 32 84 85 16 16 17 88: 11(int) Constant 112 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 87 36 32 88 16 35 87 16 17 75 78 82 89: TypeArray 74(VSOutput) 19 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 86 19 91: TypePointer Function 89 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 90 22 16 93: TypeArray 8(float) 19 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 19 95: TypeArray 8(float) 46 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 46 97(ConstantsHSOutput): TypeStruct 93 95 100: 11(int) Constant 58 101: 11(int) Constant 25 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 99 94 32 100 101 16 16 17 104: 11(int) Constant 59 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 103 96 32 104 101 16 16 17 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 106 36 32 88 16 35 106 16 17 98 102 107: TypeFunction 97(ConstantsHSOutput) 91(ptr) 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 105 90 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 112 108 32 88 16 35 112 17 88 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 115 90 32 88 16 113 19 36 119: TypePointer Function 11(int) 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 22 16 121(HSOutput): TypeStruct 18(fvec4) 72(fvec3) 48(fvec2) 123: 11(int) Constant 51 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 65 20 32 123 14 16 16 17 125: 11(int) Constant 52 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 79 73 32 125 81 16 16 17 127: 11(int) Constant 53 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 83 49 32 127 85 16 16 17 130: 11(int) Constant 158 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 129 36 32 130 16 35 129 16 17 122 124 126 131: TypeFunction 121(HSOutput) 91(ptr) 119(ptr) 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 128 90 13 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 137 132 32 130 16 35 137 17 130 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 115 90 32 130 16 138 19 36 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 144 13 32 130 16 138 19 46 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 31 151: 11(int) Constant 67 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 150 20 32 151 16 147 19 155: 8(float) Constant 1056964608 160: TypePointer Function 8(float) 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 22 16 165: 11(int) Constant 69 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 164 10 32 165 16 147 19 171: 8(float) Constant 1073741824 176: 11(int) Constant 72 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 175 20 32 176 16 147 19 180: TypeMatrix 18(fvec4) 4 182: 52(bool) ConstantTrue 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 182 183: TypeArray 18(fvec4) 15 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 20 15 185(UBO): TypeStruct 180 180 18(fvec4) 183 8(float) 8(float) 48(fvec2) 8(float) 188: 11(int) Constant 29 189: 11(int) Constant 20 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 187 181 32 188 189 16 16 17 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 187 181 32 188 189 16 16 17 193: 11(int) Constant 30 194: 11(int) Constant 17 191: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 192 20 32 193 194 16 16 17 197: 11(int) Constant 22 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 196 184 32 85 197 16 16 17 200: 11(int) Constant 27 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 199 10 32 81 200 16 16 17 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 199 10 32 81 200 16 16 17 204: 11(int) Constant 34 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 203 49 32 204 189 16 16 17 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 199 10 32 81 200 16 16 17 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 207 36 32 176 16 35 207 16 17 186 190 191 195 198 201 202 205 208(ubo): TypeStruct 185(UBO) 211: 11(int) Constant 37 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 210 206 32 211 211 16 16 17 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 210 36 32 176 16 35 210 16 17 209 213: TypePointer Uniform 208(ubo) 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 212 46 16 215: 213(ptr) Variable Uniform 218: 11(int) Constant 8 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 217 212 32 176 16 35 217 215 218 219: TypeInt 32 1 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 220 14 19 16 222: 219(int) Constant 0 223: 219(int) Constant 1 224: TypePointer Uniform 180 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 181 46 16 232: 11(int) Constant 75 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 231 20 32 232 16 147 19 237: 8(float) Constant 0 238: 72(fvec3) ConstantComposite 237 237 237 250: 11(int) Constant 76 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 249 20 32 250 16 147 19 265: 11(int) Constant 79 272: 11(int) Constant 80 277: 219(int) Constant 6 278: TypePointer Uniform 48(fvec2) 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 49 46 16 282: 11(int) Constant 83 293: 11(int) Constant 84 304: 11(int) Constant 89 307: 219(int) Constant 7 308: TypePointer Uniform 8(float) 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 46 16 313: 219(int) Constant 5 317: 8(float) Constant 1065353216 318: 8(float) Constant 1115684864 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 62 329: 11(int) Constant 98 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 328 20 32 329 16 325 19 334: TypeImage 8(float) 2D sampled format:Unknown 337: 11(int) Constant 99 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 336 16 32 337 16 35 338 339 17 340: TypePointer UniformConstant 334 341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 335 16 16 342(textureHeight): 340(ptr) Variable UniformConstant 343: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 344 335 32 337 16 35 344 342(textureHeight) 218 347: TypeSampler 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 349 36 32 337 16 35 350 339 17 351: TypePointer UniformConstant 347 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 348 16 16 353(samplerHeight): 351(ptr) Variable UniformConstant 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 355 348 32 337 16 35 355 353(samplerHeight) 218 357: TypeSampledImage 334 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 359 16 32 337 16 35 360 339 17 365: 219(int) Constant 4 374: 11(int) Constant 102 375: 11(int) Constant 11 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 374 375 325 376: TypePointer Function 219(int) 377: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 221 22 16 379: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 380 221 32 374 16 373 19 395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 373 399: 11(int) Constant 103 400: 219(int) Constant 3 402: TypePointer Uniform 18(fvec4) 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 46 16 407: 8(float) Constant 1090519040 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 395 413: 52(bool) ConstantFalse 416: 11(int) Constant 105 424: 11(int) Constant 108 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 113 431: TypePointer Function 97(ConstantsHSOutput) 432: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 105 22 16 436: 11(int) Constant 113 434: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 435 105 32 436 16 430 19 440: 93 ConstantComposite 237 237 237 237 441: 95 ConstantComposite 237 237 442:97(ConstantsHSOutput) ConstantComposite 440 441 443: 219(int) Constant 2 447: 11(int) Constant 115 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 430 460: 11(int) Constant 117 463: 11(int) Constant 118 466: 11(int) Constant 119 469: 11(int) Constant 120 472: 11(int) Constant 121 475: 11(int) Constant 122 477: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 430 481: 11(int) Constant 126 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 477 491: 11(int) Constant 128 501: 11(int) Constant 129 511: 11(int) Constant 130 521: 11(int) Constant 131 530: 11(int) Constant 132 538: 11(int) Constant 133 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 477 549: 11(int) Constant 139 552: 11(int) Constant 140 555: 11(int) Constant 141 558: 11(int) Constant 142 561: 11(int) Constant 143 564: 11(int) Constant 144 568: 11(int) Constant 148 574: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 138 575: TypePointer Function 121(HSOutput) 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 128 22 16 579: 11(int) Constant 159 578: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 435 128 32 579 16 574 19 583: 18(fvec4) ConstantComposite 237 237 237 237 584: 48(fvec2) ConstantComposite 237 237 585:121(HSOutput) ConstantComposite 583 238 584 588: 11(int) Constant 160 594: 11(int) Constant 161 595: TypePointer Function 72(fvec3) 596: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 73 22 16 602: 11(int) Constant 162 608: 11(int) Constant 163 614: TypeArray 18(fvec4) 19 615: TypePointer Input 614 616(patch.Pos): 615(ptr) Variable Input 617: TypePointer Input 18(fvec4) 621: TypeArray 72(fvec3) 19 622: TypePointer Input 621 623(patch.Normal): 622(ptr) Variable Input 624: TypePointer Input 72(fvec3) 628: TypeArray 48(fvec2) 19 629: TypePointer Input 628 630(patch.UV): 629(ptr) Variable Input 631: TypePointer Input 48(fvec2) 663: TypePointer Input 11(int) 664(InvocationID): 663(ptr) Variable Input 672: TypePointer Output 614 673(@entryPointOutput.Pos): 672(ptr) Variable Output 677: TypePointer Output 18(fvec4) 679: TypePointer Output 621 680(@entryPointOutput.Normal): 679(ptr) Variable Output 684: TypePointer Output 72(fvec3) 686: TypePointer Output 628 687(@entryPointOutput.UV): 686(ptr) Variable Output 691: TypePointer Output 48(fvec2) 701: TypePointer Output 93 702(@patchConstantOutput.TessLevelOuter): 701(ptr) Variable Output 705: TypePointer Output 8(float) 716: TypePointer Output 95 717(@patchConstantOutput.TessLevelInner): 716(ptr) Variable Output 6(main): 4 Function None 5 7: Label 613(patch): 91(ptr) Variable Function 662(InvocationID): 119(ptr) Variable Function 666(flattenTemp): 575(ptr) Variable Function 667(param): 91(ptr) Variable Function 669(param): 119(ptr) Variable Function 697(@patchConstantResult): 431(ptr) Variable Function 698(param): 91(ptr) Variable Function 618: 617(ptr) AccessChain 616(patch.Pos) 222 619: 18(fvec4) Load 618 620: 21(ptr) AccessChain 613(patch) 222 222 Store 620 619 625: 624(ptr) AccessChain 623(patch.Normal) 222 626: 72(fvec3) Load 625 627: 595(ptr) AccessChain 613(patch) 222 223 Store 627 626 632: 631(ptr) AccessChain 630(patch.UV) 222 633: 48(fvec2) Load 632 634: 50(ptr) AccessChain 613(patch) 222 443 Store 634 633 635: 617(ptr) AccessChain 616(patch.Pos) 223 636: 18(fvec4) Load 635 637: 21(ptr) AccessChain 613(patch) 223 222 Store 637 636 638: 624(ptr) AccessChain 623(patch.Normal) 223 639: 72(fvec3) Load 638 640: 595(ptr) AccessChain 613(patch) 223 223 Store 640 639 641: 631(ptr) AccessChain 630(patch.UV) 223 642: 48(fvec2) Load 641 643: 50(ptr) AccessChain 613(patch) 223 443 Store 643 642 644: 617(ptr) AccessChain 616(patch.Pos) 443 645: 18(fvec4) Load 644 646: 21(ptr) AccessChain 613(patch) 443 222 Store 646 645 647: 624(ptr) AccessChain 623(patch.Normal) 443 648: 72(fvec3) Load 647 649: 595(ptr) AccessChain 613(patch) 443 223 Store 649 648 650: 631(ptr) AccessChain 630(patch.UV) 443 651: 48(fvec2) Load 650 652: 50(ptr) AccessChain 613(patch) 443 443 Store 652 651 653: 617(ptr) AccessChain 616(patch.Pos) 400 654: 18(fvec4) Load 653 655: 21(ptr) AccessChain 613(patch) 400 222 Store 655 654 656: 624(ptr) AccessChain 623(patch.Normal) 400 657: 72(fvec3) Load 656 658: 595(ptr) AccessChain 613(patch) 400 223 Store 658 657 659: 631(ptr) AccessChain 630(patch.UV) 400 660: 48(fvec2) Load 659 661: 50(ptr) AccessChain 613(patch) 400 443 Store 661 660 665: 11(int) Load 664(InvocationID) Store 662(InvocationID) 665 668: 89 Load 613(patch) Store 667(param) 668 670: 11(int) Load 662(InvocationID) Store 669(param) 670 671:121(HSOutput) FunctionCall 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) 667(param) 669(param) Store 666(flattenTemp) 671 674: 11(int) Load 664(InvocationID) 675: 21(ptr) AccessChain 666(flattenTemp) 222 676: 18(fvec4) Load 675 678: 677(ptr) AccessChain 673(@entryPointOutput.Pos) 674 Store 678 676 681: 11(int) Load 664(InvocationID) 682: 595(ptr) AccessChain 666(flattenTemp) 223 683: 72(fvec3) Load 682 685: 684(ptr) AccessChain 680(@entryPointOutput.Normal) 681 Store 685 683 688: 11(int) Load 664(InvocationID) 689: 50(ptr) AccessChain 666(flattenTemp) 443 690: 48(fvec2) Load 689 692: 691(ptr) AccessChain 687(@entryPointOutput.UV) 688 Store 692 690 ControlBarrier 46 19 16 693: 11(int) Load 664(InvocationID) 694: 52(bool) IEqual 693 222 SelectionMerge 696 None BranchConditional 694 695 696 695: Label 699: 89 Load 613(patch) Store 698(param) 699 700:97(ConstantsHSOutput) FunctionCall 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) 698(param) Store 697(@patchConstantResult) 700 703: 160(ptr) AccessChain 697(@patchConstantResult) 222 222 704: 8(float) Load 703 706: 705(ptr) AccessChain 702(@patchConstantOutput.TessLevelOuter) 222 Store 706 704 707: 160(ptr) AccessChain 697(@patchConstantResult) 222 223 708: 8(float) Load 707 709: 705(ptr) AccessChain 702(@patchConstantOutput.TessLevelOuter) 223 Store 709 708 710: 160(ptr) AccessChain 697(@patchConstantResult) 222 443 711: 8(float) Load 710 712: 705(ptr) AccessChain 702(@patchConstantOutput.TessLevelOuter) 443 Store 712 711 713: 160(ptr) AccessChain 697(@patchConstantResult) 222 400 714: 8(float) Load 713 715: 705(ptr) AccessChain 702(@patchConstantOutput.TessLevelOuter) 400 Store 715 714 718: 160(ptr) AccessChain 697(@patchConstantResult) 223 222 719: 8(float) Load 718 720: 705(ptr) AccessChain 717(@patchConstantOutput.TessLevelInner) 222 Store 720 719 721: 160(ptr) AccessChain 697(@patchConstantResult) 223 223 722: 8(float) Load 721 723: 705(ptr) AccessChain 717(@patchConstantOutput.TessLevelInner) 223 Store 723 722 Branch 696 696: Label Return FunctionEnd 28(screenSpaceTessFactor(vf4;vf4;): 8(float) Function None 24 26(p0): 21(ptr) FunctionParameter 27(p1): 21(ptr) FunctionParameter 29: Label 148(midPoint): 21(ptr) Variable Function 162(radius): 160(ptr) Variable Function 173(v0): 21(ptr) Variable Function 229(clip0): 21(ptr) Variable Function 247(clip1): 21(ptr) Variable Function 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 31 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 34 34 16 16 40: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 38 26(p0) 41 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 44 27(p1) 41 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 31 28(screenSpaceTessFactor(vf4;vf4;) 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 147 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 151 151 16 16 152: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 149 148(midPoint) 41 156: 18(fvec4) Load 26(p0) 157: 18(fvec4) Load 27(p1) 158: 18(fvec4) FAdd 156 157 159: 18(fvec4) VectorTimesScalar 158 155 Store 148(midPoint) 159 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 165 165 16 16 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 163 162(radius) 41 168: 18(fvec4) Load 26(p0) 169: 18(fvec4) Load 27(p1) 170: 8(float) ExtInst 3(GLSL.std.450) 67(Distance) 168 169 172: 8(float) FDiv 170 171 Store 162(radius) 172 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 176 176 16 16 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 174 173(v0) 41 179: 18(fvec4) Load 148(midPoint) 226: 224(ptr) AccessChain 215 222 223 227: 180 Load 226 228: 18(fvec4) VectorTimesMatrix 179 227 Store 173(v0) 228 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 232 232 16 16 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 230 229(clip0) 41 235: 18(fvec4) Load 173(v0) 236: 8(float) Load 162(radius) 239: 8(float) CompositeExtract 238 0 240: 8(float) CompositeExtract 238 1 241: 8(float) CompositeExtract 238 2 242: 18(fvec4) CompositeConstruct 236 239 240 241 243: 18(fvec4) FSub 235 242 244: 224(ptr) AccessChain 215 222 222 245: 180 Load 244 246: 18(fvec4) VectorTimesMatrix 243 245 Store 229(clip0) 246 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 250 250 16 16 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 248 247(clip1) 41 253: 18(fvec4) Load 173(v0) 254: 8(float) Load 162(radius) 255: 8(float) CompositeExtract 238 0 256: 8(float) CompositeExtract 238 1 257: 8(float) CompositeExtract 238 2 258: 18(fvec4) CompositeConstruct 254 255 256 257 259: 18(fvec4) FAdd 253 258 260: 224(ptr) AccessChain 215 222 222 261: 180 Load 260 262: 18(fvec4) VectorTimesMatrix 259 261 Store 247(clip1) 262 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 265 265 16 16 263: 160(ptr) AccessChain 229(clip0) 17 266: 8(float) Load 263 267: 18(fvec4) Load 229(clip0) 268: 18(fvec4) CompositeConstruct 266 266 266 266 269: 18(fvec4) FDiv 267 268 Store 229(clip0) 269 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 272 272 16 16 270: 160(ptr) AccessChain 247(clip1) 17 273: 8(float) Load 270 274: 18(fvec4) Load 247(clip1) 275: 18(fvec4) CompositeConstruct 273 273 273 273 276: 18(fvec4) FDiv 274 275 Store 247(clip1) 276 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 282 282 16 16 280: 278(ptr) AccessChain 215 222 277 283: 48(fvec2) Load 280 284: 18(fvec4) Load 229(clip0) 285: 48(fvec2) VectorShuffle 284 284 0 1 286: 48(fvec2) FMul 285 283 287: 160(ptr) AccessChain 229(clip0) 16 288: 8(float) CompositeExtract 286 0 Store 287 288 289: 160(ptr) AccessChain 229(clip0) 36 290: 8(float) CompositeExtract 286 1 Store 289 290 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 293 293 16 16 291: 278(ptr) AccessChain 215 222 277 294: 48(fvec2) Load 291 295: 18(fvec4) Load 247(clip1) 296: 48(fvec2) VectorShuffle 295 295 0 1 297: 48(fvec2) FMul 296 294 298: 160(ptr) AccessChain 247(clip1) 16 299: 8(float) CompositeExtract 297 0 Store 298 299 300: 160(ptr) AccessChain 247(clip1) 36 301: 8(float) CompositeExtract 297 1 Store 300 301 303: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 304 304 16 16 302: 18(fvec4) Load 229(clip0) 305: 18(fvec4) Load 247(clip1) 306: 8(float) ExtInst 3(GLSL.std.450) 67(Distance) 302 305 310: 308(ptr) AccessChain 215 222 307 311: 8(float) Load 310 312: 8(float) FDiv 306 311 314: 308(ptr) AccessChain 215 222 313 315: 8(float) Load 314 316: 8(float) FMul 312 315 319: 8(float) ExtInst 3(GLSL.std.450) 43(FClamp) 316 317 318 ReturnValue 319 FunctionEnd 59(frustumCheck(vf4;vf2;): 52(bool) Function None 55 57(Pos): 21(ptr) FunctionParameter 58(inUV): 50(ptr) FunctionParameter 60: Label 326(pos): 21(ptr) Variable Function 378(i): 376(ptr) Variable Function 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 63 63 16 16 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 64 57(Pos) 41 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 69 58(inUV) 41 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 62 59(frustumCheck(vf4;vf2;) 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 325 332: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 329 329 16 16 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 327 326(pos) 41 333: 18(fvec4) Load 57(Pos) Store 326(pos) 333 346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 337 337 16 16 345: 334 Load 342(textureHeight) 356: 347 Load 353(samplerHeight) 361: 357 SampledImage 345 356 362: 48(fvec2) Load 58(inUV) 363: 18(fvec4) ImageSampleExplicitLod 361 362 Lod 237 364: 8(float) CompositeExtract 363 0 366: 308(ptr) AccessChain 215 222 365 367: 8(float) Load 366 368: 8(float) FMul 364 367 369: 160(ptr) AccessChain 326(pos) 36 370: 8(float) Load 369 371: 8(float) FSub 370 368 372: 160(ptr) AccessChain 326(pos) 36 Store 372 371 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 373 383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 374 374 16 16 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 379 378(i) 41 Store 378(i) 222 Branch 384 384: Label 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 373 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 374 374 16 16 LoopMerge 386 387 None Branch 390 390: Label 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 373 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 374 374 16 16 391: 219(int) Load 378(i) 394: 52(bool) SLessThan 391 277 BranchConditional 394 385 386 385: Label 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 395 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 399 399 16 16 396: 18(fvec4) Load 326(pos) 401: 219(int) Load 378(i) 404: 402(ptr) AccessChain 215 222 400 401 405: 18(fvec4) Load 404 406: 8(float) Dot 396 405 408: 8(float) FAdd 406 407 409: 52(bool) FOrdLessThan 408 237 SelectionMerge 411 None BranchConditional 409 410 411 410: Label 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 412 415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 416 416 16 16 ReturnValue 413 411: Label Branch 387 387: Label 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 373 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 374 374 16 16 418: 219(int) Load 378(i) 421: 219(int) IAdd 418 223 Store 378(i) 421 Branch 384 386: Label 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 325 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 424 424 16 16 ReturnValue 182 FunctionEnd 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];):97(ConstantsHSOutput) Function None 107 109(patch): 91(ptr) FunctionParameter 111: Label 433(output): 431(ptr) Variable Function 444(param): 21(ptr) Variable Function 449(param): 50(ptr) Variable Function 487(param): 21(ptr) Variable Function 493(param): 21(ptr) Variable Function 498(param): 21(ptr) Variable Function 503(param): 21(ptr) Variable Function 508(param): 21(ptr) Variable Function 513(param): 21(ptr) Variable Function 518(param): 21(ptr) Variable Function 523(param): 21(ptr) Variable Function 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 88 88 16 16 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 114 109(patch) 41 429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 113 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) 438: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 430 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 436 436 16 16 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 434 433(output) 41 Store 433(output) 442 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 447 447 16 16 445: 21(ptr) AccessChain 109(patch) 222 222 448: 18(fvec4) Load 445 Store 444(param) 448 450: 50(ptr) AccessChain 109(patch) 222 443 451: 48(fvec2) Load 450 Store 449(param) 451 452: 52(bool) FunctionCall 59(frustumCheck(vf4;vf2;) 444(param) 449(param) 453: 52(bool) LogicalNot 452 SelectionMerge 455 None BranchConditional 453 454 476 454: Label 458: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 456 459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 460 460 16 16 457: 160(ptr) AccessChain 433(output) 223 222 Store 457 237 462: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 463 463 16 16 461: 160(ptr) AccessChain 433(output) 223 223 Store 461 237 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 466 466 16 16 464: 160(ptr) AccessChain 433(output) 222 222 Store 464 237 468: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 469 469 16 16 467: 160(ptr) AccessChain 433(output) 222 223 Store 467 237 471: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 472 472 16 16 470: 160(ptr) AccessChain 433(output) 222 443 Store 470 237 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 475 475 16 16 473: 160(ptr) AccessChain 433(output) 222 400 Store 473 237 Branch 455 476: Label 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 477 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 481 481 16 16 478: 308(ptr) AccessChain 215 222 313 482: 8(float) Load 478 483: 52(bool) FOrdGreaterThan 482 237 SelectionMerge 485 None BranchConditional 483 484 544 484: Label 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 486 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 491 491 16 16 488: 21(ptr) AccessChain 109(patch) 400 222 492: 18(fvec4) Load 488 Store 487(param) 492 494: 21(ptr) AccessChain 109(patch) 222 222 495: 18(fvec4) Load 494 Store 493(param) 495 496: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 487(param) 493(param) 497: 160(ptr) AccessChain 433(output) 222 222 Store 497 496 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 501 501 16 16 499: 21(ptr) AccessChain 109(patch) 222 222 502: 18(fvec4) Load 499 Store 498(param) 502 504: 21(ptr) AccessChain 109(patch) 223 222 505: 18(fvec4) Load 504 Store 503(param) 505 506: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 498(param) 503(param) 507: 160(ptr) AccessChain 433(output) 222 223 Store 507 506 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 511 511 16 16 509: 21(ptr) AccessChain 109(patch) 223 222 512: 18(fvec4) Load 509 Store 508(param) 512 514: 21(ptr) AccessChain 109(patch) 443 222 515: 18(fvec4) Load 514 Store 513(param) 515 516: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 508(param) 513(param) 517: 160(ptr) AccessChain 433(output) 222 443 Store 517 516 520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 521 521 16 16 519: 21(ptr) AccessChain 109(patch) 443 222 522: 18(fvec4) Load 519 Store 518(param) 522 524: 21(ptr) AccessChain 109(patch) 400 222 525: 18(fvec4) Load 524 Store 523(param) 525 526: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 518(param) 523(param) 527: 160(ptr) AccessChain 433(output) 222 400 Store 527 526 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 530 530 16 16 528: 160(ptr) AccessChain 433(output) 222 222 531: 8(float) Load 528 532: 160(ptr) AccessChain 433(output) 222 400 533: 8(float) Load 532 534: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 531 533 155 535: 160(ptr) AccessChain 433(output) 223 222 Store 535 534 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 538 538 16 16 536: 160(ptr) AccessChain 433(output) 222 443 539: 8(float) Load 536 540: 160(ptr) AccessChain 433(output) 222 223 541: 8(float) Load 540 542: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 539 541 155 543: 160(ptr) AccessChain 433(output) 223 223 Store 543 542 Branch 485 544: Label 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 545 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 549 549 16 16 546: 160(ptr) AccessChain 433(output) 223 222 Store 546 317 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 552 552 16 16 550: 160(ptr) AccessChain 433(output) 223 223 Store 550 317 554: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 555 555 16 16 553: 160(ptr) AccessChain 433(output) 222 222 Store 553 317 557: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 558 558 16 16 556: 160(ptr) AccessChain 433(output) 222 223 Store 556 317 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 561 561 16 16 559: 160(ptr) AccessChain 433(output) 222 443 Store 559 317 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 564 564 16 16 562: 160(ptr) AccessChain 433(output) 222 400 Store 562 317 Branch 485 485: Label Branch 455 455: Label 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 430 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 568 568 16 16 565:97(ConstantsHSOutput) Load 433(output) ReturnValue 565 FunctionEnd 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;):121(HSOutput) Function None 131 133(patch): 91(ptr) FunctionParameter 134(InvocationID): 119(ptr) FunctionParameter 136: Label 577(output): 575(ptr) Variable Function 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 138 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 130 130 16 16 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 139 133(patch) 41 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 143 134(InvocationID) 41 573: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 138 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) 581: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 574 582: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 579 579 16 16 580: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 578 577(output) 41 Store 577(output) 585 587: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 588 588 16 16 586: 11(int) Load 134(InvocationID) 589: 21(ptr) AccessChain 133(patch) 586 222 590: 18(fvec4) Load 589 591: 21(ptr) AccessChain 577(output) 222 Store 591 590 593: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 594 594 16 16 592: 11(int) Load 134(InvocationID) 597: 595(ptr) AccessChain 133(patch) 592 223 598: 72(fvec3) Load 597 599: 595(ptr) AccessChain 577(output) 223 Store 599 598 601: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 602 602 16 16 600: 11(int) Load 134(InvocationID) 603: 50(ptr) AccessChain 133(patch) 600 443 604: 48(fvec2) Load 603 605: 50(ptr) AccessChain 577(output) 443 Store 605 604 607: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 608 608 16 16 606:121(HSOutput) Load 577(output) ReturnValue 606 FunctionEnd