blob: 22e613d6082ad97cd37da461b7f6945ce7e74fb3 [file] [log] [blame]
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<HSOutput, 4> 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