blob: 494878cd1cc457f57f214ef7d8d0cf6759fd5d9f [file] [log] [blame]
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