| 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<VSOutput, 4> 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<VSOutput, 4> 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 |