spv.debuginfo.hlsl.tese // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 481 Capability Tessellation Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint TessellationEvaluation 6 "main" 372 387 396 405 412 418 458 462 466 469 472 475 478 ExecutionMode 6 Quads 2: String "spv.debuginfo.hlsl.tese" 9: String "float" 12: String "uint" 26: String "TessLevelOuter" 28: 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 displacementMapTexture : register(t1); SamplerState displacementMapSampler : register(s1); 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; }; struct DSOutput { float4 Pos : SV_POSITION; [[vk::location(0)]] float3 Normal : NORMAL0; [[vk::location(1)]] float2 UV : TEXCOORD0; [[vk::location(2)]] float3 ViewVec : TEXCOORD1; [[vk::location(3)]] float3 LightVec : TEXCOORD2; [[vk::location(4)]] float3 EyePos : POSITION1; [[vk::location(5)]] float3 WorldPos : POSITION0; }; [domain("quad")] DSOutput main(ConstantsHSOutput input, float2 TessCoord : SV_DomainLocation, const OutputPatch patch) { // Interpolate UV coordinates DSOutput output = (DSOutput)0; float2 uv1 = lerp(patch[0].UV, patch[1].UV, TessCoord.x); float2 uv2 = lerp(patch[3].UV, patch[2].UV, TessCoord.x); output.UV = lerp(uv1, uv2, TessCoord.y); float3 n1 = lerp(patch[0].Normal, patch[1].Normal, TessCoord.x); float3 n2 = lerp(patch[3].Normal, patch[2].Normal, TessCoord.x); output.Normal = lerp(n1, n2, TessCoord.y); // Interpolate positions float4 pos1 = lerp(patch[0].Pos, patch[1].Pos, TessCoord.x); float4 pos2 = lerp(patch[3].Pos, patch[2].Pos, TessCoord.x); float4 pos = lerp(pos1, pos2, TessCoord.y); // Displace pos.y -= displacementMapTexture.SampleLevel(displacementMapSampler, output.UV, 0.0).r * ubo.displacementFactor; // Perspective projection output.Pos = mul(ubo.projection, mul(ubo.modelview, pos)); // Calculate vectors for lighting based on tessellated position output.ViewVec = -pos.xyz; output.LightVec = normalize(ubo.lightPos.xyz + output.ViewVec); output.WorldPos = pos.xyz; output.EyePos = mul(ubo.modelview, pos).xyz; return output; } " 32: String "TessLevelInner" 35: String "ConstantsHSOutput" 53: String "Pos" 56: String "Normal" 60: String "UV" 64: String "HSOutput" 72: String "WorldPos" 82: String "DSOutput" 90: String "@main" 93: String "input" 99: String "TessCoord" 102: String "patch" 110: String "output" 122: String "uv1" 127: String "int" 142: String "uv2" 166: String "n1" 178: String "n2" 201: String "pos1" 213: String "pos2" 225: String "pos" 237: String "type.2d.image" 239: String "@type.2d.image" 245: String "displacementMapTexture" 251: String "type.sampler" 252: String "@type.sampler" 257: String "displacementMapSampler" 261: String "type.sampled.image" 262: String "@type.sampled.image" 271: String "bool" 278: String "modelview" 283: String "lightPos" 287: String "frustumPlanes" 290: String "tessellatedEdgeSize" 294: String "viewportDim" 298: String "UBO" 301: String "ubo" 307: String "" Name 6 "main" Name 24 "ConstantsHSOutput" MemberName 24(ConstantsHSOutput) 0 "TessLevelOuter" MemberName 24(ConstantsHSOutput) 1 "TessLevelInner" Name 51 "HSOutput" MemberName 51(HSOutput) 0 "Pos" MemberName 51(HSOutput) 1 "Normal" MemberName 51(HSOutput) 2 "UV" Name 67 "DSOutput" MemberName 67(DSOutput) 0 "Pos" MemberName 67(DSOutput) 1 "Normal" MemberName 67(DSOutput) 2 "UV" MemberName 67(DSOutput) 3 "ViewVec" MemberName 67(DSOutput) 4 "LightVec" MemberName 67(DSOutput) 5 "EyePos" MemberName 67(DSOutput) 6 "WorldPos" Name 88 "@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];" Name 85 "input" Name 86 "TessCoord" Name 87 "patch" Name 108 "output" Name 120 "uv1" Name 140 "uv2" Name 164 "n1" Name 176 "n2" Name 199 "pos1" Name 211 "pos2" Name 223 "pos" Name 243 "displacementMapTexture" Name 255 "displacementMapSampler" Name 276 "UBO" MemberName 276(UBO) 0 "projection" MemberName 276(UBO) 1 "modelview" MemberName 276(UBO) 2 "lightPos" MemberName 276(UBO) 3 "frustumPlanes" MemberName 276(UBO) 4 "displacementFactor" MemberName 276(UBO) 5 "tessellationFactor" MemberName 276(UBO) 6 "viewportDim" MemberName 276(UBO) 7 "tessellatedEdgeSize" Name 299 "ubo" MemberName 299(ubo) 0 "ubo" Name 305 "" Name 370 "input" Name 372 "input.TessLevelOuter" Name 387 "input.TessLevelInner" Name 394 "TessCoord" Name 396 "TessCoord" Name 402 "patch" Name 405 "patch.Pos" Name 412 "patch.Normal" Name 418 "patch.UV" Name 450 "flattenTemp" Name 452 "param" Name 454 "param" Name 458 "@entryPointOutput.Pos" Name 462 "@entryPointOutput.Normal" Name 466 "@entryPointOutput.UV" Name 469 "@entryPointOutput.ViewVec" Name 472 "@entryPointOutput.LightVec" Name 475 "@entryPointOutput.EyePos" Name 478 "@entryPointOutput.WorldPos" Decorate 243(displacementMapTexture) Binding 1 Decorate 243(displacementMapTexture) DescriptorSet 0 Decorate 255(displacementMapSampler) Binding 1 Decorate 255(displacementMapSampler) DescriptorSet 0 Decorate 274 ArrayStride 16 MemberDecorate 276(UBO) 0 RowMajor MemberDecorate 276(UBO) 0 MatrixStride 16 MemberDecorate 276(UBO) 0 Offset 0 MemberDecorate 276(UBO) 1 RowMajor MemberDecorate 276(UBO) 1 MatrixStride 16 MemberDecorate 276(UBO) 1 Offset 64 MemberDecorate 276(UBO) 2 Offset 128 MemberDecorate 276(UBO) 3 Offset 144 MemberDecorate 276(UBO) 4 Offset 240 MemberDecorate 276(UBO) 5 Offset 244 MemberDecorate 276(UBO) 6 Offset 248 MemberDecorate 276(UBO) 7 Offset 256 Decorate 299(ubo) Block MemberDecorate 299(ubo) 0 Offset 0 Decorate 305 Binding 0 Decorate 305 DescriptorSet 0 Decorate 372(input.TessLevelOuter) BuiltIn TessLevelOuter Decorate 372(input.TessLevelOuter) Patch Decorate 387(input.TessLevelInner) BuiltIn TessLevelInner Decorate 387(input.TessLevelInner) Patch Decorate 396(TessCoord) BuiltIn TessCoord Decorate 396(TessCoord) Patch Decorate 405(patch.Pos) BuiltIn Position Decorate 412(patch.Normal) Location 0 Decorate 418(patch.UV) Location 1 Decorate 458(@entryPointOutput.Pos) BuiltIn Position Decorate 462(@entryPointOutput.Normal) Location 0 Decorate 466(@entryPointOutput.UV) Location 1 Decorate 469(@entryPointOutput.ViewVec) Location 2 Decorate 472(@entryPointOutput.LightVec) Location 3 Decorate 475(@entryPointOutput.EyePos) Location 4 Decorate 478(@entryPointOutput.WorldPos) Location 5 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: 11(int) Constant 4 19: TypeArray 8(float) 18 20: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 18 21: 11(int) Constant 2 22: TypeArray 8(float) 21 23: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 21 24(ConstantsHSOutput): TypeStruct 19 22 27: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 28 29: 11(int) Constant 51 30: 11(int) Constant 25 25: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 26 20 27 29 30 16 16 17 33: 11(int) Constant 52 31: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 32 23 27 33 30 16 16 17 36: 11(int) Constant 1 37: 11(int) Constant 68 39: 11(int) Constant 5 38: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 36 18 27 39 34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 35 36 27 37 16 38 35 16 17 25 31 40: TypePointer Function 24(ConstantsHSOutput) 41: 11(int) Constant 7 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 34 41 16 43: TypeVector 8(float) 2 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 21 45: TypePointer Function 43(fvec2) 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 44 41 16 47: TypeVector 8(float) 4 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 18 49: TypeVector 8(float) 3 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 51(HSOutput): TypeStruct 47(fvec4) 49(fvec3) 43(fvec2) 54: 11(int) Constant 44 52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 53 48 27 54 14 16 16 17 57: 11(int) Constant 45 58: 11(int) Constant 35 55: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 56 50 27 57 58 16 16 17 61: 11(int) Constant 46 62: 11(int) Constant 31 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 60 44 27 61 62 16 16 17 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 64 36 27 37 16 38 64 16 17 52 55 59 65: TypeArray 51(HSOutput) 18 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 63 18 67(DSOutput): TypeStruct 47(fvec4) 49(fvec3) 43(fvec2) 49(fvec3) 49(fvec3) 49(fvec3) 49(fvec3) 69: 11(int) Constant 57 70: 11(int) Constant 13 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 53 48 27 69 70 16 16 17 73: 11(int) Constant 63 74: 11(int) Constant 37 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 76: 11(int) Constant 59 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 60 44 27 76 62 16 16 17 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 82 36 27 37 16 38 82 16 17 68 71 75 77 78 79 80 83: TypeFunction 67(DSOutput) 40(ptr) 45(ptr) 65 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 81 34 44 63 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 90 84 27 37 16 38 90 17 37 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 34 27 37 16 91 18 36 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 99 44 27 37 16 91 18 21 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 102 63 27 37 16 91 18 17 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 27 16 16 91 106: TypePointer Function 67(DSOutput) 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 81 41 16 111: 11(int) Constant 70 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 110 81 27 111 16 105 18 115: 8(float) Constant 0 116: 47(fvec4) ConstantComposite 115 115 115 115 117: 49(fvec3) ConstantComposite 115 115 115 118: 43(fvec2) ConstantComposite 115 115 119:67(DSOutput) ConstantComposite 116 117 118 117 117 117 117 123: 11(int) Constant 71 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 122 44 27 123 16 105 18 126: TypeInt 32 1 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 127 14 18 16 129: 126(int) Constant 0 130: 126(int) Constant 2 132: 126(int) Constant 1 134: TypePointer Function 8(float) 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 41 16 143: 11(int) Constant 72 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 142 44 27 143 16 105 18 146: 126(int) Constant 3 155: 11(int) Constant 73 162: TypePointer Function 49(fvec3) 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 50 41 16 167: 11(int) Constant 75 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 166 50 27 167 16 105 18 179: 11(int) Constant 76 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 178 50 27 179 16 105 18 190: 11(int) Constant 77 197: TypePointer Function 47(fvec4) 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 48 41 16 202: 11(int) Constant 80 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 201 48 27 202 16 105 18 214: 11(int) Constant 81 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 213 48 27 214 16 105 18 226: 11(int) Constant 82 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 225 48 27 226 16 105 18 235: TypeImage 8(float) 2D sampled format:Unknown 238: 11(int) Constant 84 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 237 16 27 238 16 38 239 240 17 241: TypePointer UniformConstant 235 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 236 16 16 243(displacementMapTexture): 241(ptr) Variable UniformConstant 246: 11(int) Constant 8 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 245 236 27 238 16 38 245 243(displacementMapTexture) 246 249: TypeSampler 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 251 36 27 238 16 38 252 240 17 253: TypePointer UniformConstant 249 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 250 16 16 255(displacementMapSampler): 253(ptr) Variable UniformConstant 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 257 250 27 238 16 38 257 255(displacementMapSampler) 246 259: TypeSampledImage 235 260: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 261 16 27 238 16 38 262 240 17 268: TypeMatrix 47(fvec4) 4 270: TypeBool 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 271 14 21 16 273: 270(bool) ConstantTrue 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 48 18 273 274: TypeArray 47(fvec4) 15 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 48 15 276(UBO): TypeStruct 268 268 47(fvec4) 274 8(float) 8(float) 43(fvec2) 8(float) 279: 11(int) Constant 29 280: 11(int) Constant 20 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 278 269 27 279 280 16 16 17 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 278 269 27 279 280 16 16 17 284: 11(int) Constant 30 285: 11(int) Constant 17 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 283 48 27 284 285 16 16 17 288: 11(int) Constant 22 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 287 275 27 62 288 16 16 17 291: 11(int) Constant 27 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 290 10 27 58 291 16 16 17 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 290 10 27 58 291 16 16 17 295: 11(int) Constant 34 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 294 44 27 295 280 16 16 17 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 290 10 27 58 291 16 16 17 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 298 36 27 238 16 38 298 16 17 277 281 282 286 289 292 293 296 299(ubo): TypeStruct 276(UBO) 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 301 297 27 74 74 16 16 17 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 301 36 27 238 16 38 301 16 17 300 303: TypePointer Uniform 299(ubo) 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 302 21 16 305: 303(ptr) Variable Uniform 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 307 302 27 238 16 38 307 305 246 308: 126(int) Constant 4 309: TypePointer Uniform 8(float) 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16 320: 11(int) Constant 86 321: TypePointer Uniform 268 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 269 21 16 332: 11(int) Constant 89 336: TypePointer Uniform 47(fvec4) 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 48 21 16 340: 11(int) Constant 90 348: 126(int) Constant 6 351: 11(int) Constant 91 354: 126(int) Constant 5 357: 11(int) Constant 92 365: 11(int) Constant 93 371: TypePointer Input 19 372(input.TessLevelOuter): 371(ptr) Variable Input 373: TypePointer Input 8(float) 386: TypePointer Input 22 387(input.TessLevelInner): 386(ptr) Variable Input 395: TypePointer Input 49(fvec3) 396(TessCoord): 395(ptr) Variable Input 401: TypePointer Function 65 403: TypeArray 47(fvec4) 18 404: TypePointer Input 403 405(patch.Pos): 404(ptr) Variable Input 406: TypePointer Input 47(fvec4) 410: TypeArray 49(fvec3) 18 411: TypePointer Input 410 412(patch.Normal): 411(ptr) Variable Input 416: TypeArray 43(fvec2) 18 417: TypePointer Input 416 418(patch.UV): 417(ptr) Variable Input 419: TypePointer Input 43(fvec2) 457: TypePointer Output 47(fvec4) 458(@entryPointOutput.Pos): 457(ptr) Variable Output 461: TypePointer Output 49(fvec3) 462(@entryPointOutput.Normal): 461(ptr) Variable Output 465: TypePointer Output 43(fvec2) 466(@entryPointOutput.UV): 465(ptr) Variable Output 469(@entryPointOutput.ViewVec): 461(ptr) Variable Output 472(@entryPointOutput.LightVec): 461(ptr) Variable Output 475(@entryPointOutput.EyePos): 461(ptr) Variable Output 478(@entryPointOutput.WorldPos): 461(ptr) Variable Output 6(main): 4 Function None 5 7: Label 370(input): 40(ptr) Variable Function 394(TessCoord): 45(ptr) Variable Function 402(patch): 401(ptr) Variable Function 450(flattenTemp): 106(ptr) Variable Function 452(param): 40(ptr) Variable Function 454(param): 45(ptr) Variable Function 374: 373(ptr) AccessChain 372(input.TessLevelOuter) 129 375: 8(float) Load 374 376: 134(ptr) AccessChain 370(input) 129 129 Store 376 375 377: 373(ptr) AccessChain 372(input.TessLevelOuter) 132 378: 8(float) Load 377 379: 134(ptr) AccessChain 370(input) 129 132 Store 379 378 380: 373(ptr) AccessChain 372(input.TessLevelOuter) 130 381: 8(float) Load 380 382: 134(ptr) AccessChain 370(input) 129 130 Store 382 381 383: 373(ptr) AccessChain 372(input.TessLevelOuter) 146 384: 8(float) Load 383 385: 134(ptr) AccessChain 370(input) 129 146 Store 385 384 388: 373(ptr) AccessChain 387(input.TessLevelInner) 129 389: 8(float) Load 388 390: 134(ptr) AccessChain 370(input) 132 129 Store 390 389 391: 373(ptr) AccessChain 387(input.TessLevelInner) 132 392: 8(float) Load 391 393: 134(ptr) AccessChain 370(input) 132 132 Store 393 392 397: 49(fvec3) Load 396(TessCoord) 398: 8(float) CompositeExtract 397 0 399: 8(float) CompositeExtract 397 1 400: 43(fvec2) CompositeConstruct 398 399 Store 394(TessCoord) 400 407: 406(ptr) AccessChain 405(patch.Pos) 129 408: 47(fvec4) Load 407 409: 197(ptr) AccessChain 402(patch) 129 129 Store 409 408 413: 395(ptr) AccessChain 412(patch.Normal) 129 414: 49(fvec3) Load 413 415: 162(ptr) AccessChain 402(patch) 129 132 Store 415 414 420: 419(ptr) AccessChain 418(patch.UV) 129 421: 43(fvec2) Load 420 422: 45(ptr) AccessChain 402(patch) 129 130 Store 422 421 423: 406(ptr) AccessChain 405(patch.Pos) 132 424: 47(fvec4) Load 423 425: 197(ptr) AccessChain 402(patch) 132 129 Store 425 424 426: 395(ptr) AccessChain 412(patch.Normal) 132 427: 49(fvec3) Load 426 428: 162(ptr) AccessChain 402(patch) 132 132 Store 428 427 429: 419(ptr) AccessChain 418(patch.UV) 132 430: 43(fvec2) Load 429 431: 45(ptr) AccessChain 402(patch) 132 130 Store 431 430 432: 406(ptr) AccessChain 405(patch.Pos) 130 433: 47(fvec4) Load 432 434: 197(ptr) AccessChain 402(patch) 130 129 Store 434 433 435: 395(ptr) AccessChain 412(patch.Normal) 130 436: 49(fvec3) Load 435 437: 162(ptr) AccessChain 402(patch) 130 132 Store 437 436 438: 419(ptr) AccessChain 418(patch.UV) 130 439: 43(fvec2) Load 438 440: 45(ptr) AccessChain 402(patch) 130 130 Store 440 439 441: 406(ptr) AccessChain 405(patch.Pos) 146 442: 47(fvec4) Load 441 443: 197(ptr) AccessChain 402(patch) 146 129 Store 443 442 444: 395(ptr) AccessChain 412(patch.Normal) 146 445: 49(fvec3) Load 444 446: 162(ptr) AccessChain 402(patch) 146 132 Store 446 445 447: 419(ptr) AccessChain 418(patch.UV) 146 448: 43(fvec2) Load 447 449: 45(ptr) AccessChain 402(patch) 146 130 Store 449 448 451: 65 Load 402(patch) 453:24(ConstantsHSOutput) Load 370(input) Store 452(param) 453 455: 43(fvec2) Load 394(TessCoord) Store 454(param) 455 456:67(DSOutput) FunctionCall 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 452(param) 454(param) 451 Store 450(flattenTemp) 456 459: 197(ptr) AccessChain 450(flattenTemp) 129 460: 47(fvec4) Load 459 Store 458(@entryPointOutput.Pos) 460 463: 162(ptr) AccessChain 450(flattenTemp) 132 464: 49(fvec3) Load 463 Store 462(@entryPointOutput.Normal) 464 467: 45(ptr) AccessChain 450(flattenTemp) 130 468: 43(fvec2) Load 467 Store 466(@entryPointOutput.UV) 468 470: 162(ptr) AccessChain 450(flattenTemp) 146 471: 49(fvec3) Load 470 Store 469(@entryPointOutput.ViewVec) 471 473: 162(ptr) AccessChain 450(flattenTemp) 308 474: 49(fvec3) Load 473 Store 472(@entryPointOutput.LightVec) 474 476: 162(ptr) AccessChain 450(flattenTemp) 354 477: 49(fvec3) Load 476 Store 475(@entryPointOutput.EyePos) 477 479: 162(ptr) AccessChain 450(flattenTemp) 348 480: 49(fvec3) Load 479 Store 478(@entryPointOutput.WorldPos) 480 Return FunctionEnd 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];):67(DSOutput) Function None 83 85(input): 40(ptr) FunctionParameter 86(TessCoord): 45(ptr) FunctionParameter 87(patch): 65 FunctionParameter 89: Label 108(output): 106(ptr) Variable Function 120(uv1): 45(ptr) Variable Function 140(uv2): 45(ptr) Variable Function 164(n1): 162(ptr) Variable Function 176(n2): 162(ptr) Variable Function 199(pos1): 197(ptr) Variable Function 211(pos2): 197(ptr) Variable Function 223(pos): 197(ptr) Variable Function 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 91 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 37 37 16 16 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 85(input) 95 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 98 86(TessCoord) 95 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 101 87(patch) 95 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 91 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 105 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 111 111 16 16 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 109 108(output) 95 Store 108(output) 119 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 123 123 16 16 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 121 120(uv1) 95 131: 43(fvec2) CompositeExtract 87(patch) 0 2 133: 43(fvec2) CompositeExtract 87(patch) 1 2 136: 134(ptr) AccessChain 86(TessCoord) 16 137: 8(float) Load 136 138: 43(fvec2) CompositeConstruct 137 137 139: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 131 133 138 Store 120(uv1) 139 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 143 143 16 16 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 141 140(uv2) 95 147: 43(fvec2) CompositeExtract 87(patch) 3 2 148: 43(fvec2) CompositeExtract 87(patch) 2 2 149: 134(ptr) AccessChain 86(TessCoord) 16 150: 8(float) Load 149 151: 43(fvec2) CompositeConstruct 150 150 152: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 147 148 151 Store 140(uv2) 152 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 155 155 16 16 153: 43(fvec2) Load 120(uv1) 156: 43(fvec2) Load 140(uv2) 157: 134(ptr) AccessChain 86(TessCoord) 36 158: 8(float) Load 157 159: 43(fvec2) CompositeConstruct 158 158 160: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 153 156 159 161: 45(ptr) AccessChain 108(output) 130 Store 161 160 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 167 167 16 16 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 165 164(n1) 95 170: 49(fvec3) CompositeExtract 87(patch) 0 1 171: 49(fvec3) CompositeExtract 87(patch) 1 1 172: 134(ptr) AccessChain 86(TessCoord) 16 173: 8(float) Load 172 174: 49(fvec3) CompositeConstruct 173 173 173 175: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 170 171 174 Store 164(n1) 175 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 179 179 16 16 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 177 176(n2) 95 182: 49(fvec3) CompositeExtract 87(patch) 3 1 183: 49(fvec3) CompositeExtract 87(patch) 2 1 184: 134(ptr) AccessChain 86(TessCoord) 16 185: 8(float) Load 184 186: 49(fvec3) CompositeConstruct 185 185 185 187: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 182 183 186 Store 176(n2) 187 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 190 190 16 16 188: 49(fvec3) Load 164(n1) 191: 49(fvec3) Load 176(n2) 192: 134(ptr) AccessChain 86(TessCoord) 36 193: 8(float) Load 192 194: 49(fvec3) CompositeConstruct 193 193 193 195: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 188 191 194 196: 162(ptr) AccessChain 108(output) 132 Store 196 195 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 202 202 16 16 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 200 199(pos1) 95 205: 47(fvec4) CompositeExtract 87(patch) 0 0 206: 47(fvec4) CompositeExtract 87(patch) 1 0 207: 134(ptr) AccessChain 86(TessCoord) 16 208: 8(float) Load 207 209: 47(fvec4) CompositeConstruct 208 208 208 208 210: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 205 206 209 Store 199(pos1) 210 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 214 214 16 16 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 212 211(pos2) 95 217: 47(fvec4) CompositeExtract 87(patch) 3 0 218: 47(fvec4) CompositeExtract 87(patch) 2 0 219: 134(ptr) AccessChain 86(TessCoord) 16 220: 8(float) Load 219 221: 47(fvec4) CompositeConstruct 220 220 220 220 222: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 217 218 221 Store 211(pos2) 222 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 226 226 16 16 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 224 223(pos) 95 229: 47(fvec4) Load 199(pos1) 230: 47(fvec4) Load 211(pos2) 231: 134(ptr) AccessChain 86(TessCoord) 36 232: 8(float) Load 231 233: 47(fvec4) CompositeConstruct 232 232 232 232 234: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 229 230 233 Store 223(pos) 234 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 238 238 16 16 247: 235 Load 243(displacementMapTexture) 258: 249 Load 255(displacementMapSampler) 263: 259 SampledImage 247 258 264: 45(ptr) AccessChain 108(output) 130 265: 43(fvec2) Load 264 266: 47(fvec4) ImageSampleExplicitLod 263 265 Lod 115 267: 8(float) CompositeExtract 266 0 311: 309(ptr) AccessChain 305 129 308 312: 8(float) Load 311 313: 8(float) FMul 267 312 314: 134(ptr) AccessChain 223(pos) 36 315: 8(float) Load 314 316: 8(float) FSub 315 313 317: 134(ptr) AccessChain 223(pos) 36 Store 317 316 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 320 320 16 16 318: 47(fvec4) Load 223(pos) 323: 321(ptr) AccessChain 305 129 132 324: 268 Load 323 325: 47(fvec4) VectorTimesMatrix 318 324 326: 321(ptr) AccessChain 305 129 129 327: 268 Load 326 328: 47(fvec4) VectorTimesMatrix 325 327 329: 197(ptr) AccessChain 108(output) 129 Store 329 328 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 332 332 16 16 330: 47(fvec4) Load 223(pos) 333: 49(fvec3) VectorShuffle 330 330 0 1 2 334: 49(fvec3) FNegate 333 335: 162(ptr) AccessChain 108(output) 146 Store 335 334 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 340 340 16 16 338: 336(ptr) AccessChain 305 129 130 341: 47(fvec4) Load 338 342: 49(fvec3) VectorShuffle 341 341 0 1 2 343: 162(ptr) AccessChain 108(output) 146 344: 49(fvec3) Load 343 345: 49(fvec3) FAdd 342 344 346: 49(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 345 347: 162(ptr) AccessChain 108(output) 308 Store 347 346 350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 351 351 16 16 349: 47(fvec4) Load 223(pos) 352: 49(fvec3) VectorShuffle 349 349 0 1 2 353: 162(ptr) AccessChain 108(output) 348 Store 353 352 356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 357 357 16 16 355: 47(fvec4) Load 223(pos) 358: 321(ptr) AccessChain 305 129 132 359: 268 Load 358 360: 47(fvec4) VectorTimesMatrix 355 359 361: 49(fvec3) VectorShuffle 360 360 0 1 2 362: 162(ptr) AccessChain 108(output) 354 Store 362 361 364: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 365 365 16 16 363:67(DSOutput) Load 108(output) ReturnValue 363 FunctionEnd