Use line and column from node on DebugLexicalBlock.

* Fix bug in TestFixture.h, debug info gets enabled when nonsemantic debug info is requested.
This commit is contained in:
Sajjad Mirza 2024-10-04 11:11:27 -07:00 committed by GitHub
parent 48f63fe4b3
commit f69d2768e5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 7746 additions and 6750 deletions

View file

@ -2924,8 +2924,10 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
return false; return false;
} else { } else {
if (node->getOp() == glslang::EOpScope) if (node->getOp() == glslang::EOpScope) {
builder.enterLexicalBlock(0); auto loc = node->getLoc();
builder.enterLexicalBlock(loc.line, loc.column);
}
} }
} else { } else {
if (sequenceDepth > 1 && node->getOp() == glslang::EOpScope) if (sequenceDepth > 1 && node->getOp() == glslang::EOpScope)

View file

@ -2361,7 +2361,7 @@ Id Builder::makeDebugFunction([[maybe_unused]] Function* function, Id nameId, Id
return funcId; return funcId;
} }
Id Builder::makeDebugLexicalBlock(uint32_t line) { Id Builder::makeDebugLexicalBlock(uint32_t line, uint32_t column) {
assert(!currentDebugScopeId.empty()); assert(!currentDebugScopeId.empty());
Id lexId = getUniqueId(); Id lexId = getUniqueId();
@ -2371,7 +2371,7 @@ Id Builder::makeDebugLexicalBlock(uint32_t line) {
lex->addImmediateOperand(NonSemanticShaderDebugInfo100DebugLexicalBlock); lex->addImmediateOperand(NonSemanticShaderDebugInfo100DebugLexicalBlock);
lex->addIdOperand(makeDebugSource(currentFileId)); lex->addIdOperand(makeDebugSource(currentFileId));
lex->addIdOperand(makeUintConstant(line)); lex->addIdOperand(makeUintConstant(line));
lex->addIdOperand(makeUintConstant(0)); // column lex->addIdOperand(makeUintConstant(column)); // column
lex->addIdOperand(currentDebugScopeId.top()); // scope lex->addIdOperand(currentDebugScopeId.top()); // scope
constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(lex)); constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(lex));
module.mapInstruction(lex); module.mapInstruction(lex);
@ -2404,10 +2404,14 @@ void Builder::makeReturn(bool implicit, Id retVal)
} }
// Comments in header // Comments in header
void Builder::enterLexicalBlock(uint32_t line) void Builder::enterLexicalBlock(uint32_t line, uint32_t column)
{ {
if (!emitNonSemanticShaderDebugInfo) {
return;
}
// Generate new lexical scope debug instruction // Generate new lexical scope debug instruction
Id lexId = makeDebugLexicalBlock(line); Id lexId = makeDebugLexicalBlock(line, column);
currentDebugScopeId.push(lexId); currentDebugScopeId.push(lexId);
dirtyScopeTracker = true; dirtyScopeTracker = true;
} }
@ -2415,6 +2419,10 @@ void Builder::enterLexicalBlock(uint32_t line)
// Comments in header // Comments in header
void Builder::leaveLexicalBlock() void Builder::leaveLexicalBlock()
{ {
if (!emitNonSemanticShaderDebugInfo) {
return;
}
// Pop current scope from stack and clear current scope // Pop current scope from stack and clear current scope
currentDebugScopeId.pop(); currentDebugScopeId.pop();
dirtyScopeTracker = true; dirtyScopeTracker = true;

View file

@ -247,7 +247,7 @@ public:
Id makeDebugValue(Id const debugLocalVariable, Id const value); Id makeDebugValue(Id const debugLocalVariable, Id const value);
Id makeDebugFunctionType(Id returnType, const std::vector<Id>& paramTypes); Id makeDebugFunctionType(Id returnType, const std::vector<Id>& paramTypes);
Id makeDebugFunction(Function* function, Id nameId, Id funcTypeId); Id makeDebugFunction(Function* function, Id nameId, Id funcTypeId);
Id makeDebugLexicalBlock(uint32_t line); Id makeDebugLexicalBlock(uint32_t line, uint32_t column);
std::string unmangleFunctionName(std::string const& name) const; std::string unmangleFunctionName(std::string const& name) const;
// Initialize non-semantic debug information for a function, including those of: // Initialize non-semantic debug information for a function, including those of:
@ -451,7 +451,7 @@ public:
void makeReturn(bool implicit, Id retVal = 0); void makeReturn(bool implicit, Id retVal = 0);
// Initialize state and generate instructions for new lexical scope // Initialize state and generate instructions for new lexical scope
void enterLexicalBlock(uint32_t line); void enterLexicalBlock(uint32_t line, uint32_t column);
// Set state and generate instructions to exit current lexical scope // Set state and generate instructions to exit current lexical scope
void leaveLexicalBlock(); void leaveLexicalBlock();

View file

@ -10,8 +10,8 @@ hlsl.pp.line2.frag
ExecutionMode 5 OriginUpperLeft ExecutionMode 5 OriginUpperLeft
1: String "hlsl.pp.line2.frag" 1: String "hlsl.pp.line2.frag"
7: String "foo.frag" 7: String "foo.frag"
32: String "foo.h" 36: String "foo.h"
42: String "foo2.h" 44: String "foo2.h"
Source HLSL 500 1 "// OpModuleProcessed auto-map-locations Source HLSL 500 1 "// OpModuleProcessed auto-map-locations
// OpModuleProcessed auto-map-bindings // OpModuleProcessed auto-map-bindings
// OpModuleProcessed entry-point MainPs // OpModuleProcessed entry-point MainPs
@ -68,23 +68,23 @@ PS_OUTPUT MainPs ( PS_INPUT i )
MemberName 13(PS_OUTPUT) 0 "vColor" MemberName 13(PS_OUTPUT) 0 "vColor"
Name 16 "@MainPs(struct-PS_INPUT-vf21;" Name 16 "@MainPs(struct-PS_INPUT-vf21;"
Name 15 "i" Name 15 "i"
Name 19 "PerViewConstantBuffer_t" Name 19 "ps_output"
MemberName 19(PerViewConstantBuffer_t) 0 "g_nDataIdx" Name 22 "u"
MemberName 19(PerViewConstantBuffer_t) 1 "g_nDataIdx2" Name 23 "PerViewConstantBuffer_t"
MemberName 19(PerViewConstantBuffer_t) 2 "g_B" MemberName 23(PerViewConstantBuffer_t) 0 "g_nDataIdx"
Name 21 "" MemberName 23(PerViewConstantBuffer_t) 1 "g_nDataIdx2"
Name 34 "u" MemberName 23(PerViewConstantBuffer_t) 2 "g_B"
Name 44 "ps_output" Name 25 ""
Name 49 "g_tColor" Name 49 "g_tColor"
Name 56 "g_sAniso" Name 56 "g_sAniso"
Name 69 "i" Name 69 "i"
Name 71 "i.vTextureCoords" Name 71 "i.vTextureCoords"
Name 75 "@entryPointOutput.vColor" Name 75 "@entryPointOutput.vColor"
Name 76 "param" Name 76 "param"
Decorate 19(PerViewConstantBuffer_t) Block Decorate 23(PerViewConstantBuffer_t) Block
MemberDecorate 19(PerViewConstantBuffer_t) 0 Offset 0 MemberDecorate 23(PerViewConstantBuffer_t) 0 Offset 0
MemberDecorate 19(PerViewConstantBuffer_t) 1 Offset 4 MemberDecorate 23(PerViewConstantBuffer_t) 1 Offset 4
MemberDecorate 19(PerViewConstantBuffer_t) 2 Offset 8 MemberDecorate 23(PerViewConstantBuffer_t) 2 Offset 8
Decorate 49(g_tColor) Binding 0 Decorate 49(g_tColor) Binding 0
Decorate 49(g_tColor) DescriptorSet 0 Decorate 49(g_tColor) DescriptorSet 0
Decorate 56(g_sAniso) Binding 1 Decorate 56(g_sAniso) Binding 1
@ -100,21 +100,21 @@ PS_OUTPUT MainPs ( PS_INPUT i )
12: TypeVector 8(float) 4 12: TypeVector 8(float) 4
13(PS_OUTPUT): TypeStruct 12(fvec4) 13(PS_OUTPUT): TypeStruct 12(fvec4)
14: TypeFunction 13(PS_OUTPUT) 11(ptr) 14: TypeFunction 13(PS_OUTPUT) 11(ptr)
18: TypeInt 32 0 18: TypePointer Function 13(PS_OUTPUT)
19(PerViewConstantBuffer_t): TypeStruct 18(int) 18(int) 18(int) 20: TypeInt 32 0
20: TypePointer PushConstant 19(PerViewConstantBuffer_t) 21: TypePointer Function 20(int)
21: 20(ptr) Variable PushConstant 23(PerViewConstantBuffer_t): TypeStruct 20(int) 20(int) 20(int)
22: TypeInt 32 1 24: TypePointer PushConstant 23(PerViewConstantBuffer_t)
23: 22(int) Constant 2 25: 24(ptr) Variable PushConstant
24: TypePointer PushConstant 18(int) 26: TypeInt 32 1
27: TypeBool 27: 26(int) Constant 2
28: 18(int) Constant 0 28: TypePointer PushConstant 20(int)
33: TypePointer Function 18(int) 31: TypeBool
35: 22(int) Constant 0 32: 20(int) Constant 0
39: 22(int) Constant 1 37: 26(int) Constant 0
43: TypePointer Function 13(PS_OUTPUT) 41: 26(int) Constant 1
45: TypeImage 8(float) 2D sampled format:Unknown 45: TypeImage 8(float) 2D sampled format:Unknown
46: 18(int) Constant 128 46: 20(int) Constant 128
47: TypeArray 45 46 47: TypeArray 45 46
48: TypePointer UniformConstant 47 48: TypePointer UniformConstant 47
49(g_tColor): 48(ptr) Variable UniformConstant 49(g_tColor): 48(ptr) Variable UniformConstant
@ -136,7 +136,7 @@ PS_OUTPUT MainPs ( PS_INPUT i )
76(param): 11(ptr) Variable Function 76(param): 11(ptr) Variable Function
Line 7 23 0 Line 7 23 0
72: 9(fvec2) Load 71(i.vTextureCoords) 72: 9(fvec2) Load 71(i.vTextureCoords)
73: 60(ptr) AccessChain 69(i) 35 73: 60(ptr) AccessChain 69(i) 37
Store 73 72 Store 73 72
77:10(PS_INPUT) Load 69(i) 77:10(PS_INPUT) Load 69(i)
Store 76(param) 77 Store 76(param) 77
@ -149,39 +149,39 @@ PS_OUTPUT MainPs ( PS_INPUT i )
16(@MainPs(struct-PS_INPUT-vf21;):13(PS_OUTPUT) Function None 14 16(@MainPs(struct-PS_INPUT-vf21;):13(PS_OUTPUT) Function None 14
15(i): 11(ptr) FunctionParameter 15(i): 11(ptr) FunctionParameter
17: Label 17: Label
34(u): 33(ptr) Variable Function 19(ps_output): 18(ptr) Variable Function
44(ps_output): 43(ptr) Variable Function 22(u): 21(ptr) Variable Function
Line 7 47 0 Line 7 47 0
25: 24(ptr) AccessChain 21 23 29: 28(ptr) AccessChain 25 27
26: 18(int) Load 25 30: 20(int) Load 29
29: 27(bool) INotEqual 26 28 33: 31(bool) INotEqual 30 32
SelectionMerge 31 None SelectionMerge 35 None
BranchConditional 29 30 38 BranchConditional 33 34 40
30: Label 34: Label
Line 32 3 0 Line 36 3 0
36: 24(ptr) AccessChain 21 35 38: 28(ptr) AccessChain 25 37
37: 18(int) Load 36 39: 20(int) Load 38
Store 34(u) 37 Store 22(u) 39
Branch 31 Branch 35
38: Label 40: Label
Line 32 67 0 Line 36 67 0
40: 24(ptr) AccessChain 21 39 42: 28(ptr) AccessChain 25 41
41: 18(int) Load 40 43: 20(int) Load 42
Store 34(u) 41 Store 22(u) 43
Branch 31 Branch 35
31: Label 35: Label
Line 42 7 0 Line 44 7 0
50: 18(int) Load 34(u) 50: 20(int) Load 22(u)
52: 51(ptr) AccessChain 49(g_tColor) 50 52: 51(ptr) AccessChain 49(g_tColor) 50
53: 45 Load 52 53: 45 Load 52
57: 54 Load 56(g_sAniso) 57: 54 Load 56(g_sAniso)
59: 58 SampledImage 53 57 59: 58 SampledImage 53 57
61: 60(ptr) AccessChain 15(i) 35 61: 60(ptr) AccessChain 15(i) 37
62: 9(fvec2) Load 61 62: 9(fvec2) Load 61
63: 12(fvec4) ImageSampleImplicitLod 59 62 63: 12(fvec4) ImageSampleImplicitLod 59 62
65: 64(ptr) AccessChain 44(ps_output) 35 65: 64(ptr) AccessChain 19(ps_output) 37
Store 65 63 Store 65 63
Line 42 105 0 Line 44 105 0
66:13(PS_OUTPUT) Load 44(ps_output) 66:13(PS_OUTPUT) Load 19(ps_output)
ReturnValue 66 ReturnValue 66
FunctionEnd FunctionEnd

View file

@ -10,7 +10,7 @@ hlsl.pp.line4.frag
ExecutionMode 5 OriginUpperLeft ExecutionMode 5 OriginUpperLeft
1: String "hlsl.pp.line4.frag" 1: String "hlsl.pp.line4.frag"
7: String "C:\\Users\\Greg\\shaders\\line\\foo4.frag" 7: String "C:\\Users\\Greg\\shaders\\line\\foo4.frag"
32: String "C:\\Users\\Greg\\shaders\\line\\u1.h" 36: String "C:\\Users\\Greg\\shaders\\line\\u1.h"
Source HLSL 500 1 "// OpModuleProcessed auto-map-locations Source HLSL 500 1 "// OpModuleProcessed auto-map-locations
// OpModuleProcessed auto-map-bindings // OpModuleProcessed auto-map-bindings
// OpModuleProcessed entry-point MainPs // OpModuleProcessed entry-point MainPs
@ -63,19 +63,19 @@ PS_OUTPUT MainPs ( PS_INPUT i )
" "
Name 5 "MainPs" Name 5 "MainPs"
Name 19 "PerViewConstantBuffer_t" Name 23 "PerViewConstantBuffer_t"
MemberName 19(PerViewConstantBuffer_t) 0 "g_nDataIdx" MemberName 23(PerViewConstantBuffer_t) 0 "g_nDataIdx"
MemberName 19(PerViewConstantBuffer_t) 1 "g_nDataIdx2" MemberName 23(PerViewConstantBuffer_t) 1 "g_nDataIdx2"
MemberName 19(PerViewConstantBuffer_t) 2 "g_B" MemberName 23(PerViewConstantBuffer_t) 2 "g_B"
Name 21 "" Name 25 ""
Name 48 "g_tColor" Name 48 "g_tColor"
Name 55 "g_sAniso" Name 55 "g_sAniso"
Name 70 "i.vTextureCoords" Name 70 "i.vTextureCoords"
Name 74 "@entryPointOutput.vColor" Name 74 "@entryPointOutput.vColor"
Decorate 19(PerViewConstantBuffer_t) Block Decorate 23(PerViewConstantBuffer_t) Block
MemberDecorate 19(PerViewConstantBuffer_t) 0 Offset 0 MemberDecorate 23(PerViewConstantBuffer_t) 0 Offset 0
MemberDecorate 19(PerViewConstantBuffer_t) 1 Offset 4 MemberDecorate 23(PerViewConstantBuffer_t) 1 Offset 4
MemberDecorate 19(PerViewConstantBuffer_t) 2 Offset 8 MemberDecorate 23(PerViewConstantBuffer_t) 2 Offset 8
Decorate 48(g_tColor) Binding 0 Decorate 48(g_tColor) Binding 0
Decorate 48(g_tColor) DescriptorSet 0 Decorate 48(g_tColor) DescriptorSet 0
Decorate 55(g_sAniso) Binding 1 Decorate 55(g_sAniso) Binding 1
@ -87,19 +87,19 @@ PS_OUTPUT MainPs ( PS_INPUT i )
8: TypeFloat 32 8: TypeFloat 32
9: TypeVector 8(float) 2 9: TypeVector 8(float) 2
12: TypeVector 8(float) 4 12: TypeVector 8(float) 4
18: TypeInt 32 0 20: TypeInt 32 0
19(PerViewConstantBuffer_t): TypeStruct 18(int) 18(int) 18(int) 23(PerViewConstantBuffer_t): TypeStruct 20(int) 20(int) 20(int)
20: TypePointer PushConstant 19(PerViewConstantBuffer_t) 24: TypePointer PushConstant 23(PerViewConstantBuffer_t)
21: 20(ptr) Variable PushConstant 25: 24(ptr) Variable PushConstant
22: TypeInt 32 1 26: TypeInt 32 1
23: 22(int) Constant 2 27: 26(int) Constant 2
24: TypePointer PushConstant 18(int) 28: TypePointer PushConstant 20(int)
27: TypeBool 31: TypeBool
28: 18(int) Constant 0 32: 20(int) Constant 0
35: 22(int) Constant 0 37: 26(int) Constant 0
39: 22(int) Constant 1 41: 26(int) Constant 1
44: TypeImage 8(float) 2D sampled format:Unknown 44: TypeImage 8(float) 2D sampled format:Unknown
45: 18(int) Constant 128 45: 20(int) Constant 128
46: TypeArray 44 45 46: TypeArray 44 45
47: TypePointer UniformConstant 46 47: TypePointer UniformConstant 46
48(g_tColor): 47(ptr) Variable UniformConstant 48(g_tColor): 47(ptr) Variable UniformConstant
@ -119,23 +119,23 @@ PS_OUTPUT MainPs ( PS_INPUT i )
Line 7 25 0 Line 7 25 0
71: 9(fvec2) Load 70(i.vTextureCoords) 71: 9(fvec2) Load 70(i.vTextureCoords)
Line 7 29 0 Line 7 29 0
83: 24(ptr) AccessChain 21 23 83: 28(ptr) AccessChain 25 27
84: 18(int) Load 83 84: 20(int) Load 83
85: 27(bool) INotEqual 84 28 85: 31(bool) INotEqual 84 32
SelectionMerge 92 None SelectionMerge 92 None
BranchConditional 85 86 89 BranchConditional 85 86 89
86: Label 86: Label
Line 32 1 0 Line 36 1 0
87: 24(ptr) AccessChain 21 35 87: 28(ptr) AccessChain 25 37
88: 18(int) Load 87 88: 20(int) Load 87
Branch 92 Branch 92
89: Label 89: Label
Line 7 32 0 Line 7 32 0
90: 24(ptr) AccessChain 21 39 90: 28(ptr) AccessChain 25 41
91: 18(int) Load 90 91: 20(int) Load 90
Branch 92 Branch 92
92: Label 92: Label
115: 18(int) Phi 88 86 91 89 115: 20(int) Phi 88 86 91 89
Line 7 33 0 Line 7 33 0
94: 50(ptr) AccessChain 48(g_tColor) 115 94: 50(ptr) AccessChain 48(g_tColor) 115
95: 44 Load 94 95: 44 Load 94

View file

@ -5,7 +5,7 @@ gl_FragCoord origin is upper left
0:2 Function Definition: PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Definition: PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:2 Function Parameters: 0:2 Function Parameters:
0:2 'input' ( in 4-component vector of float) 0:2 'input' ( in 4-component vector of float)
0:? Sequence 0:? Scope
0:3 Branch: Return with expression 0:3 Branch: Return with expression
0:3 round ( temp 4-component vector of float) 0:3 round ( temp 4-component vector of float)
0:3 'input' ( in 4-component vector of float) 0:3 'input' ( in 4-component vector of float)
@ -22,7 +22,7 @@ gl_FragCoord origin is upper left
0:2 Function Definition: PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Definition: PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:2 Function Parameters: 0:2 Function Parameters:
0:2 'input' ( in 4-component vector of float) 0:2 'input' ( in 4-component vector of float)
0:? Sequence 0:? Scope
0:3 Branch: Return with expression 0:3 Branch: Return with expression
0:3 round ( temp 4-component vector of float) 0:3 round ( temp 4-component vector of float)
0:3 'input' ( in 4-component vector of float) 0:3 'input' ( in 4-component vector of float)

View file

@ -5,7 +5,10 @@ using depth_any
0:? Sequence 0:? Sequence
0:15 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:15 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:15 Function Parameters: 0:15 Function Parameters:
0:? Sequence 0:? Scope
0:16 Sequence
0:16 Declare ( temp void)
0:16 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:18 Sequence 0:18 Sequence
0:18 move second child to first child ( temp 4-component vector of float) 0:18 move second child to first child ( temp 4-component vector of float)
0:18 'ColorOut' ( temp 4-component vector of float) 0:18 'ColorOut' ( temp 4-component vector of float)
@ -196,7 +199,10 @@ using depth_any
0:? Sequence 0:? Sequence
0:15 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:15 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:15 Function Parameters: 0:15 Function Parameters:
0:? Sequence 0:? Scope
0:16 Sequence
0:16 Declare ( temp void)
0:16 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:18 Sequence 0:18 Sequence
0:18 move second child to first child ( temp 4-component vector of float) 0:18 move second child to first child ( temp 4-component vector of float)
0:18 'ColorOut' ( temp 4-component vector of float) 0:18 'ColorOut' ( temp 4-component vector of float)
@ -403,26 +409,26 @@ using depth_any
MemberName 9(PS_OUTPUT) 0 "Color" MemberName 9(PS_OUTPUT) 0 "Color"
MemberName 9(PS_OUTPUT) 1 "Depth" MemberName 9(PS_OUTPUT) 1 "Depth"
Name 11 "@main(" Name 11 "@main("
Name 14 "ColorOut" Name 14 "psout"
Name 20 "g_sam" Name 16 "ColorOut"
Name 32 "g_sam1D" Name 22 "g_sam"
Name 38 "g_sam2D" Name 34 "g_sam1D"
Name 48 "g_sam3D" Name 40 "g_sam2D"
Name 58 "g_samCube" Name 50 "g_sam3D"
Name 110 "psout" Name 60 "g_samCube"
Name 125 "flattenTemp" Name 125 "flattenTemp"
Name 128 "@entryPointOutput.Color" Name 128 "@entryPointOutput.Color"
Name 132 "@entryPointOutput.Depth" Name 132 "@entryPointOutput.Depth"
Decorate 20(g_sam) Binding 0 Decorate 22(g_sam) Binding 0
Decorate 20(g_sam) DescriptorSet 0 Decorate 22(g_sam) DescriptorSet 0
Decorate 32(g_sam1D) Binding 1 Decorate 34(g_sam1D) Binding 1
Decorate 32(g_sam1D) DescriptorSet 0 Decorate 34(g_sam1D) DescriptorSet 0
Decorate 38(g_sam2D) Binding 2 Decorate 40(g_sam2D) Binding 2
Decorate 38(g_sam2D) DescriptorSet 0 Decorate 40(g_sam2D) DescriptorSet 0
Decorate 48(g_sam3D) Binding 3 Decorate 50(g_sam3D) Binding 3
Decorate 48(g_sam3D) DescriptorSet 0 Decorate 50(g_sam3D) DescriptorSet 0
Decorate 58(g_samCube) Binding 4 Decorate 60(g_samCube) Binding 4
Decorate 58(g_samCube) DescriptorSet 0 Decorate 60(g_samCube) DescriptorSet 0
Decorate 128(@entryPointOutput.Color) Location 0 Decorate 128(@entryPointOutput.Color) Location 0
Decorate 132(@entryPointOutput.Depth) BuiltIn FragDepth Decorate 132(@entryPointOutput.Depth) BuiltIn FragDepth
3: TypeVoid 3: TypeVoid
@ -431,42 +437,42 @@ using depth_any
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9(PS_OUTPUT): TypeStruct 8(fvec4) 7(float) 9(PS_OUTPUT): TypeStruct 8(fvec4) 7(float)
10: TypeFunction 9(PS_OUTPUT) 10: TypeFunction 9(PS_OUTPUT)
13: TypePointer Function 8(fvec4) 13: TypePointer Function 9(PS_OUTPUT)
15: 7(float) Constant 0 15: TypePointer Function 8(fvec4)
16: 8(fvec4) ConstantComposite 15 15 15 15 17: 7(float) Constant 0
17: TypeImage 7(float) 2D sampled format:Unknown 18: 8(fvec4) ConstantComposite 17 17 17 17
18: TypeSampledImage 17 19: TypeImage 7(float) 2D sampled format:Unknown
19: TypePointer UniformConstant 18 20: TypeSampledImage 19
20(g_sam): 19(ptr) Variable UniformConstant 21: TypePointer UniformConstant 20
22: TypeVector 7(float) 2 22(g_sam): 21(ptr) Variable UniformConstant
23: 7(float) Constant 1053609165 24: TypeVector 7(float) 2
24: 7(float) Constant 1050253722 25: 7(float) Constant 1053609165
25: 22(fvec2) ConstantComposite 23 24 26: 7(float) Constant 1050253722
29: TypeImage 7(float) 1D sampled format:Unknown 27: 24(fvec2) ConstantComposite 25 26
30: TypeSampledImage 29 31: TypeImage 7(float) 1D sampled format:Unknown
31: TypePointer UniformConstant 30 32: TypeSampledImage 31
32(g_sam1D): 31(ptr) Variable UniformConstant 33: TypePointer UniformConstant 32
34: 7(float) Constant 1056964608 34(g_sam1D): 33(ptr) Variable UniformConstant
38(g_sam2D): 19(ptr) Variable UniformConstant 36: 7(float) Constant 1056964608
40: 7(float) Constant 1058642330 40(g_sam2D): 21(ptr) Variable UniformConstant
41: 22(fvec2) ConstantComposite 34 40 42: 7(float) Constant 1058642330
45: TypeImage 7(float) 3D sampled format:Unknown 43: 24(fvec2) ConstantComposite 36 42
46: TypeSampledImage 45 47: TypeImage 7(float) 3D sampled format:Unknown
47: TypePointer UniformConstant 46 48: TypeSampledImage 47
48(g_sam3D): 47(ptr) Variable UniformConstant 49: TypePointer UniformConstant 48
50: TypeVector 7(float) 3 50(g_sam3D): 49(ptr) Variable UniformConstant
51: 50(fvec3) ConstantComposite 34 40 23 52: TypeVector 7(float) 3
55: TypeImage 7(float) Cube sampled format:Unknown 53: 52(fvec3) ConstantComposite 36 42 25
56: TypeSampledImage 55 57: TypeImage 7(float) Cube sampled format:Unknown
57: TypePointer UniformConstant 56 58: TypeSampledImage 57
58(g_samCube): 57(ptr) Variable UniformConstant 59: TypePointer UniformConstant 58
64: 8(fvec4) ConstantComposite 23 24 15 15 60(g_samCube): 59(ptr) Variable UniformConstant
68: TypeInt 32 0 66: 8(fvec4) ConstantComposite 25 26 17 17
69: 68(int) Constant 3 70: TypeInt 32 0
75: 8(fvec4) ConstantComposite 34 15 15 15 71: 70(int) Constant 3
82: 8(fvec4) ConstantComposite 34 40 15 15 77: 8(fvec4) ConstantComposite 36 17 17 17
91: 8(fvec4) ConstantComposite 34 40 23 15 84: 8(fvec4) ConstantComposite 36 42 17 17
109: TypePointer Function 9(PS_OUTPUT) 93: 8(fvec4) ConstantComposite 36 42 25 17
111: TypeInt 32 1 111: TypeInt 32 1
112: 111(int) Constant 0 112: 111(int) Constant 0
114: 7(float) Constant 1092616192 114: 7(float) Constant 1092616192
@ -480,11 +486,11 @@ using depth_any
Line 1 15 1 Line 1 15 1
5(main): 3 Function None 4 5(main): 3 Function None 4
6: Label 6: Label
125(flattenTemp): 109(ptr) Variable Function 125(flattenTemp): 13(ptr) Variable Function
Line 1 15 0 Line 1 15 0
126:9(PS_OUTPUT) FunctionCall 11(@main() 126:9(PS_OUTPUT) FunctionCall 11(@main()
Store 125(flattenTemp) 126 Store 125(flattenTemp) 126
129: 13(ptr) AccessChain 125(flattenTemp) 112 129: 15(ptr) AccessChain 125(flattenTemp) 112
130: 8(fvec4) Load 129 130: 8(fvec4) Load 129
Store 128(@entryPointOutput.Color) 130 Store 128(@entryPointOutput.Color) 130
133: 120(ptr) AccessChain 125(flattenTemp) 118 133: 120(ptr) AccessChain 125(flattenTemp) 118
@ -495,100 +501,100 @@ using depth_any
Line 1 15 1 Line 1 15 1
11(@main():9(PS_OUTPUT) Function None 10 11(@main():9(PS_OUTPUT) Function None 10
12: Label 12: Label
14(ColorOut): 13(ptr) Variable Function 14(psout): 13(ptr) Variable Function
110(psout): 109(ptr) Variable Function 16(ColorOut): 15(ptr) Variable Function
Line 1 18 0 Line 1 18 0
Store 14(ColorOut) 16 Store 16(ColorOut) 18
Line 1 20 0 Line 1 20 0
21: 18 Load 20(g_sam) 23: 20 Load 22(g_sam)
26: 8(fvec4) ImageSampleImplicitLod 21 25 28: 8(fvec4) ImageSampleImplicitLod 23 27
27: 8(fvec4) Load 14(ColorOut) 29: 8(fvec4) Load 16(ColorOut)
28: 8(fvec4) FAdd 27 26 30: 8(fvec4) FAdd 29 28
Store 14(ColorOut) 28 Store 16(ColorOut) 30
Line 1 21 0 Line 1 21 0
33: 30 Load 32(g_sam1D) 35: 32 Load 34(g_sam1D)
35: 8(fvec4) ImageSampleImplicitLod 33 34 37: 8(fvec4) ImageSampleImplicitLod 35 36
36: 8(fvec4) Load 14(ColorOut) 38: 8(fvec4) Load 16(ColorOut)
37: 8(fvec4) FAdd 36 35 39: 8(fvec4) FAdd 38 37
Store 14(ColorOut) 37 Store 16(ColorOut) 39
Line 1 22 0 Line 1 22 0
39: 18 Load 38(g_sam2D) 41: 20 Load 40(g_sam2D)
42: 8(fvec4) ImageSampleImplicitLod 39 41 44: 8(fvec4) ImageSampleImplicitLod 41 43
43: 8(fvec4) Load 14(ColorOut) 45: 8(fvec4) Load 16(ColorOut)
44: 8(fvec4) FAdd 43 42 46: 8(fvec4) FAdd 45 44
Store 14(ColorOut) 44 Store 16(ColorOut) 46
Line 1 23 0 Line 1 23 0
49: 46 Load 48(g_sam3D) 51: 48 Load 50(g_sam3D)
52: 8(fvec4) ImageSampleImplicitLod 49 51 54: 8(fvec4) ImageSampleImplicitLod 51 53
53: 8(fvec4) Load 14(ColorOut) 55: 8(fvec4) Load 16(ColorOut)
54: 8(fvec4) FAdd 53 52 56: 8(fvec4) FAdd 55 54
Store 14(ColorOut) 54 Store 16(ColorOut) 56
Line 1 24 0 Line 1 24 0
59: 56 Load 58(g_samCube) 61: 58 Load 60(g_samCube)
60: 8(fvec4) ImageSampleImplicitLod 59 51 62: 8(fvec4) ImageSampleImplicitLod 61 53
61: 8(fvec4) Load 14(ColorOut) 63: 8(fvec4) Load 16(ColorOut)
62: 8(fvec4) FAdd 61 60 64: 8(fvec4) FAdd 63 62
Store 14(ColorOut) 62 Store 16(ColorOut) 64
Line 1 26 0 Line 1 26 0
63: 18 Load 20(g_sam) 65: 20 Load 22(g_sam)
65: 7(float) CompositeExtract 64 0 67: 7(float) CompositeExtract 66 0
66: 7(float) CompositeExtract 64 1 68: 7(float) CompositeExtract 66 1
67: 22(fvec2) CompositeConstruct 65 66 69: 24(fvec2) CompositeConstruct 67 68
70: 7(float) CompositeExtract 64 3 72: 7(float) CompositeExtract 66 3
71: 8(fvec4) ImageSampleExplicitLod 63 67 Lod 70 73: 8(fvec4) ImageSampleExplicitLod 65 69 Lod 72
72: 8(fvec4) Load 14(ColorOut) 74: 8(fvec4) Load 16(ColorOut)
73: 8(fvec4) FAdd 72 71 75: 8(fvec4) FAdd 74 73
Store 14(ColorOut) 73 Store 16(ColorOut) 75
Line 1 27 0 Line 1 27 0
74: 30 Load 32(g_sam1D) 76: 32 Load 34(g_sam1D)
76: 7(float) CompositeExtract 75 0 78: 7(float) CompositeExtract 77 0
77: 7(float) CompositeExtract 75 3 79: 7(float) CompositeExtract 77 3
78: 8(fvec4) ImageSampleExplicitLod 74 76 Lod 77 80: 8(fvec4) ImageSampleExplicitLod 76 78 Lod 79
79: 8(fvec4) Load 14(ColorOut) 81: 8(fvec4) Load 16(ColorOut)
80: 8(fvec4) FAdd 79 78 82: 8(fvec4) FAdd 81 80
Store 14(ColorOut) 80 Store 16(ColorOut) 82
Line 1 28 0 Line 1 28 0
81: 18 Load 38(g_sam2D) 83: 20 Load 40(g_sam2D)
83: 7(float) CompositeExtract 82 0 85: 7(float) CompositeExtract 84 0
84: 7(float) CompositeExtract 82 1 86: 7(float) CompositeExtract 84 1
85: 22(fvec2) CompositeConstruct 83 84 87: 24(fvec2) CompositeConstruct 85 86
86: 7(float) CompositeExtract 82 3 88: 7(float) CompositeExtract 84 3
87: 8(fvec4) ImageSampleExplicitLod 81 85 Lod 86 89: 8(fvec4) ImageSampleExplicitLod 83 87 Lod 88
88: 8(fvec4) Load 14(ColorOut) 90: 8(fvec4) Load 16(ColorOut)
89: 8(fvec4) FAdd 88 87 91: 8(fvec4) FAdd 90 89
Store 14(ColorOut) 89 Store 16(ColorOut) 91
Line 1 29 0 Line 1 29 0
90: 46 Load 48(g_sam3D) 92: 48 Load 50(g_sam3D)
92: 7(float) CompositeExtract 91 0 94: 7(float) CompositeExtract 93 0
93: 7(float) CompositeExtract 91 1 95: 7(float) CompositeExtract 93 1
94: 7(float) CompositeExtract 91 2 96: 7(float) CompositeExtract 93 2
95: 50(fvec3) CompositeConstruct 92 93 94 97: 52(fvec3) CompositeConstruct 94 95 96
96: 7(float) CompositeExtract 91 3 98: 7(float) CompositeExtract 93 3
97: 8(fvec4) ImageSampleExplicitLod 90 95 Lod 96 99: 8(fvec4) ImageSampleExplicitLod 92 97 Lod 98
98: 8(fvec4) Load 14(ColorOut) 100: 8(fvec4) Load 16(ColorOut)
99: 8(fvec4) FAdd 98 97 101: 8(fvec4) FAdd 100 99
Store 14(ColorOut) 99 Store 16(ColorOut) 101
Line 1 30 0 Line 1 30 0
100: 56 Load 58(g_samCube) 102: 58 Load 60(g_samCube)
101: 7(float) CompositeExtract 91 0 103: 7(float) CompositeExtract 93 0
102: 7(float) CompositeExtract 91 1 104: 7(float) CompositeExtract 93 1
103: 7(float) CompositeExtract 91 2 105: 7(float) CompositeExtract 93 2
104: 50(fvec3) CompositeConstruct 101 102 103 106: 52(fvec3) CompositeConstruct 103 104 105
105: 7(float) CompositeExtract 91 3 107: 7(float) CompositeExtract 93 3
106: 8(fvec4) ImageSampleExplicitLod 100 104 Lod 105 108: 8(fvec4) ImageSampleExplicitLod 102 106 Lod 107
107: 8(fvec4) Load 14(ColorOut) 109: 8(fvec4) Load 16(ColorOut)
108: 8(fvec4) FAdd 107 106 110: 8(fvec4) FAdd 109 108
Store 14(ColorOut) 108 Store 16(ColorOut) 110
Line 1 32 0 Line 1 32 0
113: 8(fvec4) Load 14(ColorOut) 113: 8(fvec4) Load 16(ColorOut)
115: 8(fvec4) CompositeConstruct 114 114 114 114 115: 8(fvec4) CompositeConstruct 114 114 114 114
116: 8(fvec4) FDiv 113 115 116: 8(fvec4) FDiv 113 115
117: 13(ptr) AccessChain 110(psout) 112 117: 15(ptr) AccessChain 14(psout) 112
Store 117 116 Store 117 116
Line 1 33 0 Line 1 33 0
121: 120(ptr) AccessChain 110(psout) 118 121: 120(ptr) AccessChain 14(psout) 118
Store 121 119 Store 121 119
Line 1 35 0 Line 1 35 0
122:9(PS_OUTPUT) Load 110(psout) 122:9(PS_OUTPUT) Load 14(psout)
ReturnValue 122 ReturnValue 122
FunctionEnd FunctionEnd

View file

@ -3,7 +3,10 @@ Shader version: 500
0:? Sequence 0:? Sequence
0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos})
0:11 Function Parameters: 0:11 Function Parameters:
0:? Sequence 0:? Scope
0:12 Sequence
0:12 Declare ( temp void)
0:12 'vsout' ( temp structure{ temp 4-component vector of float Pos})
0:14 Sequence 0:14 Sequence
0:14 move second child to first child ( temp 4-component vector of float) 0:14 move second child to first child ( temp 4-component vector of float)
0:14 'PosOut' ( temp 4-component vector of float) 0:14 'PosOut' ( temp 4-component vector of float)
@ -82,7 +85,10 @@ Shader version: 500
0:? Sequence 0:? Sequence
0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos})
0:11 Function Parameters: 0:11 Function Parameters:
0:? Sequence 0:? Scope
0:12 Sequence
0:12 Declare ( temp void)
0:12 'vsout' ( temp structure{ temp 4-component vector of float Pos})
0:14 Sequence 0:14 Sequence
0:14 move second child to first child ( temp 4-component vector of float) 0:14 move second child to first child ( temp 4-component vector of float)
0:14 'PosOut' ( temp 4-component vector of float) 0:14 'PosOut' ( temp 4-component vector of float)
@ -175,15 +181,15 @@ Shader version: 500
Name 9 "VS_OUTPUT" Name 9 "VS_OUTPUT"
MemberName 9(VS_OUTPUT) 0 "Pos" MemberName 9(VS_OUTPUT) 0 "Pos"
Name 11 "@main(" Name 11 "@main("
Name 14 "PosOut" Name 14 "vsout"
Name 20 "g_sam" Name 16 "PosOut"
Name 36 "g_sam2D" Name 22 "g_sam"
Name 49 "vsout" Name 38 "g_sam2D"
Name 61 "@entryPointOutput.Pos" Name 61 "@entryPointOutput.Pos"
Decorate 20(g_sam) Binding 0 Decorate 22(g_sam) Binding 0
Decorate 20(g_sam) DescriptorSet 0 Decorate 22(g_sam) DescriptorSet 0
Decorate 36(g_sam2D) Binding 1 Decorate 38(g_sam2D) Binding 1
Decorate 36(g_sam2D) DescriptorSet 0 Decorate 38(g_sam2D) DescriptorSet 0
Decorate 61(@entryPointOutput.Pos) BuiltIn Position Decorate 61(@entryPointOutput.Pos) BuiltIn Position
3: TypeVoid 3: TypeVoid
4: TypeFunction 3 4: TypeFunction 3
@ -191,25 +197,25 @@ Shader version: 500
8: TypeVector 7(float) 4 8: TypeVector 7(float) 4
9(VS_OUTPUT): TypeStruct 8(fvec4) 9(VS_OUTPUT): TypeStruct 8(fvec4)
10: TypeFunction 9(VS_OUTPUT) 10: TypeFunction 9(VS_OUTPUT)
13: TypePointer Function 8(fvec4) 13: TypePointer Function 9(VS_OUTPUT)
15: 7(float) Constant 0 15: TypePointer Function 8(fvec4)
16: 8(fvec4) ConstantComposite 15 15 15 15 17: 7(float) Constant 0
17: TypeImage 7(float) 2D sampled format:Unknown 18: 8(fvec4) ConstantComposite 17 17 17 17
18: TypeSampledImage 17 19: TypeImage 7(float) 2D sampled format:Unknown
19: TypePointer UniformConstant 18 20: TypeSampledImage 19
20(g_sam): 19(ptr) Variable UniformConstant 21: TypePointer UniformConstant 20
22: 7(float) Constant 1050253722 22(g_sam): 21(ptr) Variable UniformConstant
23: 7(float) Constant 1053609165 24: 7(float) Constant 1050253722
24: 7(float) Constant 1065353216 25: 7(float) Constant 1053609165
25: 8(fvec4) ConstantComposite 22 23 15 24 26: 7(float) Constant 1065353216
26: TypeVector 7(float) 2 27: 8(fvec4) ConstantComposite 24 25 17 26
30: TypeInt 32 0 28: TypeVector 7(float) 2
31: 30(int) Constant 3 32: TypeInt 32 0
36(g_sam2D): 19(ptr) Variable UniformConstant 33: 32(int) Constant 3
38: 7(float) Constant 1056964608 38(g_sam2D): 21(ptr) Variable UniformConstant
39: 7(float) Constant 1058642330 40: 7(float) Constant 1056964608
40: 8(fvec4) ConstantComposite 38 39 15 24 41: 7(float) Constant 1058642330
48: TypePointer Function 9(VS_OUTPUT) 42: 8(fvec4) ConstantComposite 40 41 17 26
50: TypeInt 32 1 50: TypeInt 32 1
51: 50(int) Constant 0 51: 50(int) Constant 0
53: 7(float) Constant 1073741824 53: 7(float) Constant 1073741824
@ -227,37 +233,37 @@ Shader version: 500
Line 1 11 1 Line 1 11 1
11(@main():9(VS_OUTPUT) Function None 10 11(@main():9(VS_OUTPUT) Function None 10
12: Label 12: Label
14(PosOut): 13(ptr) Variable Function 14(vsout): 13(ptr) Variable Function
49(vsout): 48(ptr) Variable Function 16(PosOut): 15(ptr) Variable Function
Line 1 14 0 Line 1 14 0
Store 14(PosOut) 16 Store 16(PosOut) 18
Line 1 16 0 Line 1 16 0
21: 18 Load 20(g_sam) 23: 20 Load 22(g_sam)
27: 7(float) CompositeExtract 25 0 29: 7(float) CompositeExtract 27 0
28: 7(float) CompositeExtract 25 1 30: 7(float) CompositeExtract 27 1
29: 26(fvec2) CompositeConstruct 27 28 31: 28(fvec2) CompositeConstruct 29 30
32: 7(float) CompositeExtract 25 3 34: 7(float) CompositeExtract 27 3
33: 8(fvec4) ImageSampleExplicitLod 21 29 Lod 32 35: 8(fvec4) ImageSampleExplicitLod 23 31 Lod 34
34: 8(fvec4) Load 14(PosOut) 36: 8(fvec4) Load 16(PosOut)
35: 8(fvec4) FAdd 34 33 37: 8(fvec4) FAdd 36 35
Store 14(PosOut) 35 Store 16(PosOut) 37
Line 1 17 0 Line 1 17 0
37: 18 Load 36(g_sam2D) 39: 20 Load 38(g_sam2D)
41: 7(float) CompositeExtract 40 0 43: 7(float) CompositeExtract 42 0
42: 7(float) CompositeExtract 40 1 44: 7(float) CompositeExtract 42 1
43: 26(fvec2) CompositeConstruct 41 42 45: 28(fvec2) CompositeConstruct 43 44
44: 7(float) CompositeExtract 40 3 46: 7(float) CompositeExtract 42 3
45: 8(fvec4) ImageSampleExplicitLod 37 43 Lod 44 47: 8(fvec4) ImageSampleExplicitLod 39 45 Lod 46
46: 8(fvec4) Load 14(PosOut) 48: 8(fvec4) Load 16(PosOut)
47: 8(fvec4) FAdd 46 45 49: 8(fvec4) FAdd 48 47
Store 14(PosOut) 47 Store 16(PosOut) 49
Line 1 19 0 Line 1 19 0
52: 8(fvec4) Load 14(PosOut) 52: 8(fvec4) Load 16(PosOut)
54: 8(fvec4) CompositeConstruct 53 53 53 53 54: 8(fvec4) CompositeConstruct 53 53 53 53
55: 8(fvec4) FDiv 52 54 55: 8(fvec4) FDiv 52 54
56: 13(ptr) AccessChain 49(vsout) 51 56: 15(ptr) AccessChain 14(vsout) 51
Store 56 55 Store 56 55
Line 1 21 0 Line 1 21 0
57:9(VS_OUTPUT) Load 49(vsout) 57:9(VS_OUTPUT) Load 14(vsout)
ReturnValue 57 ReturnValue 57
FunctionEnd FunctionEnd

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,14 +1,14 @@
spv.debuginfo.glsl.tesc spv.debuginfo.glsl.tesc
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 571 // Id's are bound by 579
Capability Tessellation Capability Tessellation
Extension "SPV_KHR_non_semantic_info" Extension "SPV_KHR_non_semantic_info"
1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100"
3: ExtInstImport "GLSL.std.450" 3: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint TessellationControl 14 "main" 262 267 296 385 401 516 532 542 557 EntryPoint TessellationControl 14 "main" 262 267 296 390 405 524 540 550 565
ExecutionMode 14 OutputVertices 4 ExecutionMode 14 OutputVertices 4
2: String "spv.debuginfo.glsl.tesc" 2: String "spv.debuginfo.glsl.tesc"
8: String "uint" 8: String "uint"
@ -194,12 +194,12 @@ void main()
289: String "samplerHeight" 289: String "samplerHeight"
298: String "inUV" 298: String "inUV"
317: String "i" 317: String "i"
387: String "gl_TessLevelInner" 392: String "gl_TessLevelInner"
403: String "gl_TessLevelOuter" 407: String "gl_TessLevelOuter"
518: String "gl_out" 526: String "gl_out"
534: String "outNormal" 542: String "outNormal"
544: String "inNormal" 552: String "inNormal"
559: String "outUV" 567: String "outUV"
Name 14 "main" Name 14 "main"
Name 29 "screenSpaceTessFactor(vf4;vf4;" Name 29 "screenSpaceTessFactor(vf4;vf4;"
Name 27 "p0" Name 27 "p0"
@ -231,25 +231,25 @@ void main()
Name 287 "samplerHeight" Name 287 "samplerHeight"
Name 296 "inUV" Name 296 "inUV"
Name 315 "i" Name 315 "i"
Name 385 "gl_TessLevelInner" Name 390 "gl_TessLevelInner"
Name 401 "gl_TessLevelOuter" Name 405 "gl_TessLevelOuter"
Name 426 "param" Name 434 "param"
Name 432 "param" Name 439 "param"
Name 437 "param" Name 444 "param"
Name 442 "param" Name 449 "param"
Name 447 "param" Name 454 "param"
Name 452 "param" Name 459 "param"
Name 457 "param" Name 464 "param"
Name 462 "param" Name 469 "param"
Name 503 "gl_PerVertex" Name 511 "gl_PerVertex"
MemberName 503(gl_PerVertex) 0 "gl_Position" MemberName 511(gl_PerVertex) 0 "gl_Position"
MemberName 503(gl_PerVertex) 1 "gl_PointSize" MemberName 511(gl_PerVertex) 1 "gl_PointSize"
MemberName 503(gl_PerVertex) 2 "gl_ClipDistance" MemberName 511(gl_PerVertex) 2 "gl_ClipDistance"
MemberName 503(gl_PerVertex) 3 "gl_CullDistance" MemberName 511(gl_PerVertex) 3 "gl_CullDistance"
Name 516 "gl_out" Name 524 "gl_out"
Name 532 "outNormal" Name 540 "outNormal"
Name 542 "inNormal" Name 550 "inNormal"
Name 557 "outUV" Name 565 "outUV"
Decorate 95 ArrayStride 16 Decorate 95 ArrayStride 16
Decorate 99(UBO) Block Decorate 99(UBO) Block
MemberDecorate 99(UBO) 0 ColMajor MemberDecorate 99(UBO) 0 ColMajor
@ -275,18 +275,18 @@ void main()
Decorate 287(samplerHeight) Binding 1 Decorate 287(samplerHeight) Binding 1
Decorate 287(samplerHeight) DescriptorSet 0 Decorate 287(samplerHeight) DescriptorSet 0
Decorate 296(inUV) Location 1 Decorate 296(inUV) Location 1
Decorate 385(gl_TessLevelInner) BuiltIn TessLevelInner Decorate 390(gl_TessLevelInner) BuiltIn TessLevelInner
Decorate 385(gl_TessLevelInner) Patch Decorate 390(gl_TessLevelInner) Patch
Decorate 401(gl_TessLevelOuter) BuiltIn TessLevelOuter Decorate 405(gl_TessLevelOuter) BuiltIn TessLevelOuter
Decorate 401(gl_TessLevelOuter) Patch Decorate 405(gl_TessLevelOuter) Patch
Decorate 503(gl_PerVertex) Block Decorate 511(gl_PerVertex) Block
MemberDecorate 503(gl_PerVertex) 0 BuiltIn Position MemberDecorate 511(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 503(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 511(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 503(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 511(gl_PerVertex) 2 BuiltIn ClipDistance
MemberDecorate 503(gl_PerVertex) 3 BuiltIn CullDistance MemberDecorate 511(gl_PerVertex) 3 BuiltIn CullDistance
Decorate 532(outNormal) Location 0 Decorate 540(outNormal) Location 0
Decorate 542(inNormal) Location 0 Decorate 550(inNormal) Location 0
Decorate 557(outUV) Location 1 Decorate 565(outUV) Location 1
4: TypeVoid 4: TypeVoid
5: TypeFunction 4 5: TypeFunction 4
7: TypeInt 32 0 7: TypeInt 32 0
@ -441,252 +441,260 @@ void main()
338: TypePointer Uniform 19(fvec4) 338: TypePointer Uniform 19(fvec4)
339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 38 12 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 38 12
343: 16(float) Constant 1090519040 343: 16(float) Constant 1090519040
348: 48(bool) ConstantFalse 349: 7(int) Constant 92
351: 7(int) Constant 92 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 349 20 56
359: 7(int) Constant 95 350: 48(bool) ConstantFalse
364: 7(int) Constant 96 360: 7(int) Constant 95
370: 7(int) Constant 100 365: 7(int) Constant 96
377: 7(int) Constant 102 371: 7(int) Constant 100
381: TypeArray 16(float) 38 376: 7(int) Constant 102
382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 376 13 59
383: TypePointer Output 381 384: 7(int) Constant 104
384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 382 13 12 385: 7(int) Constant 25
385(gl_TessLevelInner): 383(ptr) Variable Output 383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 384 385 375
388: 7(int) Constant 104 386: TypeArray 16(float) 38
386: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 387 382 33 388 12 36 387 385(gl_TessLevelInner) 112 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38
389: TypePointer Output 16(float) 388: TypePointer Output 386
390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 387 13 12
396: 7(int) Constant 105 390(gl_TessLevelInner): 388(ptr) Variable Output
397: TypeArray 16(float) 20 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 392 387 33 384 12 36 392 390(gl_TessLevelInner) 112
398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20 393: TypePointer Output 16(float)
399: TypePointer Output 397 394: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12
400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 398 13 12 400: 7(int) Constant 105
401(gl_TessLevelOuter): 399(ptr) Variable Output 401: TypeArray 16(float) 20
404: 7(int) Constant 106 402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20
402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 403 398 33 404 12 36 403 401(gl_TessLevelOuter) 112 403: TypePointer Output 401
409: 7(int) Constant 107 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 402 13 12
410: 125(int) Constant 2 405(gl_TessLevelOuter): 403(ptr) Variable Output
413: 7(int) Constant 108 408: 7(int) Constant 106
416: 7(int) Constant 109 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 407 402 33 408 12 36 407 405(gl_TessLevelOuter) 112
421: 7(int) Constant 113 413: 7(int) Constant 107
430: 7(int) Constant 115 414: 125(int) Constant 2
440: 7(int) Constant 116 417: 7(int) Constant 108
450: 7(int) Constant 117 420: 7(int) Constant 109
460: 7(int) Constant 118 423: 7(int) Constant 113
469: 7(int) Constant 119 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 423 20 375
477: 7(int) Constant 120 432: 7(int) Constant 115
487: 7(int) Constant 126 433: 7(int) Constant 26
490: 7(int) Constant 127 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 432 433 422
493: 7(int) Constant 128 447: 7(int) Constant 116
496: 7(int) Constant 129 457: 7(int) Constant 117
499: 7(int) Constant 130 467: 7(int) Constant 118
502: 7(int) Constant 131 476: 7(int) Constant 119
503(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243 484: 7(int) Constant 120
505: 7(int) Constant 110 492: 7(int) Constant 126
504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 505 12 12 13 491: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 492 433 422
506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 493 12 12 13 498: 7(int) Constant 127
508: 7(int) Constant 171 501: 7(int) Constant 128
507: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 508 12 12 13 504: 7(int) Constant 129
509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 508 12 12 13 507: 7(int) Constant 130
511: 7(int) Constant 137 510: 7(int) Constant 131
510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 511 12 36 257 12 13 504 506 507 509 511(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243
512: TypeArray 503(gl_PerVertex) 20 513: 7(int) Constant 110
513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 510 20 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 513 12 12 13
514: TypePointer Output 512 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 501 12 12 13
515: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 513 13 12 516: 7(int) Constant 171
516(gl_out): 514(ptr) Variable Output 515: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 516 12 12 13
517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 518 513 33 511 12 36 518 516(gl_out) 112 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 516 12 12 13
525: TypePointer Output 19(fvec4) 519: 7(int) Constant 137
526: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 518: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 519 12 36 257 12 13 512 514 515 517
528: TypeArray 146(fvec3) 20 520: TypeArray 511(gl_PerVertex) 20
529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 20 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 518 20
530: TypePointer Output 528 522: TypePointer Output 520
531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 529 13 12 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 521 13 12
532(outNormal): 530(ptr) Variable Output 524(gl_out): 522(ptr) Variable Output
535: 7(int) Constant 138 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 526 521 33 519 12 36 526 524(gl_out) 112
533: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 534 529 33 535 12 36 534 532(outNormal) 112 533: TypePointer Output 19(fvec4)
538: TypeArray 146(fvec3) 10 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12
539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 10 536: TypeArray 146(fvec3) 20
540: TypePointer Input 538 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 20
541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 539 37 12 538: TypePointer Output 536
542(inNormal): 540(ptr) Variable Input 539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 537 13 12
543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 544 539 33 535 12 36 544 542(inNormal) 112 540(outNormal): 538(ptr) Variable Output
546: TypePointer Input 146(fvec3) 543: 7(int) Constant 138
547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 37 12 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 542 537 33 543 12 36 542 540(outNormal) 112
550: TypePointer Output 146(fvec3) 546: TypeArray 146(fvec3) 10
551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 13 12 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 10
553: TypeArray 97(fvec2) 20 548: TypePointer Input 546
554: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 20 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 547 37 12
555: TypePointer Output 553 550(inNormal): 548(ptr) Variable Input
556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 554 13 12 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 552 547 33 543 12 36 552 550(inNormal) 112
557(outUV): 555(ptr) Variable Output 554: TypePointer Input 146(fvec3)
560: 7(int) Constant 139 555: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 37 12
558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 559 554 33 560 12 36 559 557(outUV) 112 558: TypePointer Output 146(fvec3)
566: TypePointer Output 97(fvec2) 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 13 12
567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 13 12 561: TypeArray 97(fvec2) 20
570: 7(int) Constant 140 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 20
563: TypePointer Output 561
564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 562 13 12
565(outUV): 563(ptr) Variable Output
568: 7(int) Constant 139
566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 567 562 33 568 12 36 567 565(outUV) 112
574: TypePointer Output 97(fvec2)
575: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 13 12
578: 7(int) Constant 140
14(main): 4 Function None 5 14(main): 4 Function None 5
15: Label 15: Label
426(param): 22(ptr) Variable Function 434(param): 22(ptr) Variable Function
432(param): 22(ptr) Variable Function 439(param): 22(ptr) Variable Function
437(param): 22(ptr) Variable Function 444(param): 22(ptr) Variable Function
442(param): 22(ptr) Variable Function 449(param): 22(ptr) Variable Function
447(param): 22(ptr) Variable Function 454(param): 22(ptr) Variable Function
452(param): 22(ptr) Variable Function 459(param): 22(ptr) Variable Function
457(param): 22(ptr) Variable Function 464(param): 22(ptr) Variable Function
462(param): 22(ptr) Variable Function 469(param): 22(ptr) Variable Function
366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12
365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main) 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main)
369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 370 370 12 12 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 371 371 12 12
368: 125(int) Load 267(gl_InvocationID) 369: 125(int) Load 267(gl_InvocationID)
371: 48(bool) IEqual 368 141 372: 48(bool) IEqual 369 141
SelectionMerge 373 None SelectionMerge 374 None
BranchConditional 371 372 373 BranchConditional 372 373 374
372: Label
375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 377 377 12 12
374: 48(bool) FunctionCall 53(frustumCheck()
378: 48(bool) LogicalNot 374
SelectionMerge 380 None
BranchConditional 378 379 417
379: Label
392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 388 388 12 12
391: 389(ptr) AccessChain 385(gl_TessLevelInner) 141
Store 391 148
395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 396 396 12 12
394: 389(ptr) AccessChain 385(gl_TessLevelInner) 128
Store 394 148
406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 404 404 12 12
405: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141
Store 405 148
408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 409 409 12 12
407: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128
Store 407 148
412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 413 413 12 12
411: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410
Store 411 148
415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 416 416 12 12
414: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336
Store 414 148
Branch 380
417: Label
419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 421 421 12 12
418: 217(ptr) AccessChain 122(ubo) 222
422: 16(float) Load 418
423: 48(bool) FOrdGreaterThan 422 148
SelectionMerge 425 None
BranchConditional 423 424 483
424: Label
428: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 430 430 12 12
427: 271(ptr) AccessChain 262(gl_in) 336 141
431: 19(fvec4) Load 427
Store 426(param) 431
433: 271(ptr) AccessChain 262(gl_in) 141 141
434: 19(fvec4) Load 433
Store 432(param) 434
435: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 426(param) 432(param)
436: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141
Store 436 435
439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 440 440 12 12
438: 271(ptr) AccessChain 262(gl_in) 141 141
441: 19(fvec4) Load 438
Store 437(param) 441
443: 271(ptr) AccessChain 262(gl_in) 128 141
444: 19(fvec4) Load 443
Store 442(param) 444
445: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 437(param) 442(param)
446: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128
Store 446 445
449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 450 450 12 12
448: 271(ptr) AccessChain 262(gl_in) 128 141
451: 19(fvec4) Load 448
Store 447(param) 451
453: 271(ptr) AccessChain 262(gl_in) 410 141
454: 19(fvec4) Load 453
Store 452(param) 454
455: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 447(param) 452(param)
456: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410
Store 456 455
459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 460 460 12 12
458: 271(ptr) AccessChain 262(gl_in) 410 141
461: 19(fvec4) Load 458
Store 457(param) 461
463: 271(ptr) AccessChain 262(gl_in) 336 141
464: 19(fvec4) Load 463
Store 462(param) 464
465: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 457(param) 462(param)
466: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336
Store 466 465
468: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 469 469 12 12
467: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141
470: 16(float) Load 467
471: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336
472: 16(float) Load 471
473: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 470 472 68
474: 389(ptr) AccessChain 385(gl_TessLevelInner) 141
Store 474 473
476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 477 477 12 12
475: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410
478: 16(float) Load 475
479: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128
480: 16(float) Load 479
481: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 478 480 68
482: 389(ptr) AccessChain 385(gl_TessLevelInner) 128
Store 482 481
Branch 425
483: Label
485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 487 487 12 12
484: 389(ptr) AccessChain 385(gl_TessLevelInner) 141
Store 484 226
489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 490 490 12 12
488: 389(ptr) AccessChain 385(gl_TessLevelInner) 128
Store 488 226
492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 493 493 12 12
491: 389(ptr) AccessChain 401(gl_TessLevelOuter) 141
Store 491 226
495: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 496 496 12 12
494: 389(ptr) AccessChain 401(gl_TessLevelOuter) 128
Store 494 226
498: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 499 499 12 12
497: 389(ptr) AccessChain 401(gl_TessLevelOuter) 410
Store 497 226
501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 502 502 12 12
500: 389(ptr) AccessChain 401(gl_TessLevelOuter) 336
Store 500 226
Branch 425
425: Label
Branch 380
380: Label
Branch 373
373: Label 373: Label
520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 375
521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 511 511 12 12 379: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 376 376 12 12
519: 125(int) Load 267(gl_InvocationID) 377: 48(bool) FunctionCall 53(frustumCheck()
522: 125(int) Load 267(gl_InvocationID) 380: 48(bool) LogicalNot 377
523: 271(ptr) AccessChain 262(gl_in) 522 141 SelectionMerge 382 None
524: 19(fvec4) Load 523 BranchConditional 380 381 421
527: 525(ptr) AccessChain 516(gl_out) 519 141 381: Label
Store 527 524 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 383
537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 535 535 12 12 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 384 384 12 12
536: 125(int) Load 267(gl_InvocationID) 395: 393(ptr) AccessChain 390(gl_TessLevelInner) 141
545: 125(int) Load 267(gl_InvocationID) Store 395 148
548: 546(ptr) AccessChain 542(inNormal) 545 399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 400 400 12 12
549: 146(fvec3) Load 548 398: 393(ptr) AccessChain 390(gl_TessLevelInner) 128
552: 550(ptr) AccessChain 532(outNormal) 536 Store 398 148
Store 552 549 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 408 408 12 12
562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 560 560 12 12 409: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141
561: 125(int) Load 267(gl_InvocationID) Store 409 148
563: 125(int) Load 267(gl_InvocationID) 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 413 413 12 12
564: 299(ptr) AccessChain 296(inUV) 563 411: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128
565: 97(fvec2) Load 564 Store 411 148
568: 566(ptr) AccessChain 557(outUV) 561 416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 417 417 12 12
Store 568 565 415: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414
569: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 570 570 12 12 Store 415 148
419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 420 420 12 12
418: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336
Store 418 148
Branch 382
421: Label
425: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 422
426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 423 423 12 12
424: 217(ptr) AccessChain 122(ubo) 222
427: 16(float) Load 424
428: 48(bool) FOrdGreaterThan 427 148
SelectionMerge 430 None
BranchConditional 428 429 490
429: Label
436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 431
437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 432 432 12 12
435: 271(ptr) AccessChain 262(gl_in) 336 141
438: 19(fvec4) Load 435
Store 434(param) 438
440: 271(ptr) AccessChain 262(gl_in) 141 141
441: 19(fvec4) Load 440
Store 439(param) 441
442: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 434(param) 439(param)
443: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141
Store 443 442
446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 447 447 12 12
445: 271(ptr) AccessChain 262(gl_in) 141 141
448: 19(fvec4) Load 445
Store 444(param) 448
450: 271(ptr) AccessChain 262(gl_in) 128 141
451: 19(fvec4) Load 450
Store 449(param) 451
452: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 444(param) 449(param)
453: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128
Store 453 452
456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 457 457 12 12
455: 271(ptr) AccessChain 262(gl_in) 128 141
458: 19(fvec4) Load 455
Store 454(param) 458
460: 271(ptr) AccessChain 262(gl_in) 414 141
461: 19(fvec4) Load 460
Store 459(param) 461
462: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 454(param) 459(param)
463: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414
Store 463 462
466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 467 467 12 12
465: 271(ptr) AccessChain 262(gl_in) 414 141
468: 19(fvec4) Load 465
Store 464(param) 468
470: 271(ptr) AccessChain 262(gl_in) 336 141
471: 19(fvec4) Load 470
Store 469(param) 471
472: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 464(param) 469(param)
473: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336
Store 473 472
475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 476 476 12 12
474: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141
477: 16(float) Load 474
478: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336
479: 16(float) Load 478
480: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 477 479 68
481: 393(ptr) AccessChain 390(gl_TessLevelInner) 141
Store 481 480
483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 484 484 12 12
482: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414
485: 16(float) Load 482
486: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128
487: 16(float) Load 486
488: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 485 487 68
489: 393(ptr) AccessChain 390(gl_TessLevelInner) 128
Store 489 488
Branch 430
490: Label
494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 491
495: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 492 492 12 12
493: 393(ptr) AccessChain 390(gl_TessLevelInner) 141
Store 493 226
497: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 498 498 12 12
496: 393(ptr) AccessChain 390(gl_TessLevelInner) 128
Store 496 226
500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 501 501 12 12
499: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141
Store 499 226
503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 504 504 12 12
502: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128
Store 502 226
506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 507 507 12 12
505: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414
Store 505 226
509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 510 510 12 12
508: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336
Store 508 226
Branch 430
430: Label
Branch 382
382: Label
Branch 374
374: Label
528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59
529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 519 519 12 12
527: 125(int) Load 267(gl_InvocationID)
530: 125(int) Load 267(gl_InvocationID)
531: 271(ptr) AccessChain 262(gl_in) 530 141
532: 19(fvec4) Load 531
535: 533(ptr) AccessChain 524(gl_out) 527 141
Store 535 532
545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 543 543 12 12
544: 125(int) Load 267(gl_InvocationID)
553: 125(int) Load 267(gl_InvocationID)
556: 554(ptr) AccessChain 550(inNormal) 553
557: 146(fvec3) Load 556
560: 558(ptr) AccessChain 540(outNormal) 544
Store 560 557
570: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 568 568 12 12
569: 125(int) Load 267(gl_InvocationID)
571: 125(int) Load 267(gl_InvocationID)
572: 299(ptr) AccessChain 296(inUV) 571
573: 97(fvec2) Load 572
576: 574(ptr) AccessChain 565(outUV) 569
Store 576 573
577: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 578 578 12 12
Return Return
FunctionEnd FunctionEnd
29(screenSpaceTessFactor(vf4;vf4;): 16(float) Function None 25 29(screenSpaceTessFactor(vf4;vf4;): 16(float) Function None 25
@ -856,20 +864,20 @@ void main()
SelectionMerge 347 None SelectionMerge 347 None
BranchConditional 345 346 347 BranchConditional 345 346 347
346: Label 346: Label
349: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 351: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 348
350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 351 351 12 12 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 349 349 12 12
ReturnValue 348 ReturnValue 350
347: Label 347: Label
Branch 324 Branch 324
324: Label 324: Label
354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12
353: 125(int) Load 315(i) 354: 125(int) Load 315(i)
356: 125(int) IAdd 353 128 357: 125(int) IAdd 354 128
Store 315(i) 356 Store 315(i) 357
Branch 321 Branch 321
323: Label 323: Label
357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56
358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 359 359 12 12 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 360 360 12 12
ReturnValue 94 ReturnValue 94
FunctionEnd FunctionEnd

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
spv.debuginfo.hlsl.geom spv.debuginfo.hlsl.geom
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 366 // Id's are bound by 373
Capability Geometry Capability Geometry
Capability MultiViewport Capability MultiViewport
@ -9,12 +9,12 @@ spv.debuginfo.hlsl.geom
1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100"
3: ExtInstImport "GLSL.std.450" 3: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Geometry 6 "main" 264 273 278 285 290 295 300 315 322 327 351 354 EntryPoint Geometry 6 "main" 270 279 284 291 296 301 306 322 329 334 358 361
ExecutionMode 6 Triangles ExecutionMode 6 Triangles
ExecutionMode 6 Invocations 2 ExecutionMode 6 Invocations 2
ExecutionMode 6 OutputTriangleStrip ExecutionMode 6 OutputTriangleStrip
ExecutionMode 6 OutputVertices 3 ExecutionMode 6 OutputVertices 3
2: String "" 2: String "spv.debuginfo.hlsl.geom"
9: String "float" 9: String "float"
12: String "uint" 12: String "uint"
25: String "Pos" 25: String "Pos"
@ -26,6 +26,85 @@ spv.debuginfo.hlsl.geom
// OpModuleProcessed keep-uncalled // OpModuleProcessed keep-uncalled
// OpModuleProcessed hlsl-offsets // OpModuleProcessed hlsl-offsets
#line 1 #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[2];
float4x4 modelview[2];
float4 lightPos;
};
cbuffer ubo : register(b0) { UBO ubo; }
struct VSOutput
{
float4 Pos : SV_POSITION;
[[vk::location(0)]] float3 Normal : NORMAL0;
[[vk::location(1)]] float3 Color : COLOR0;
};
struct GSOutput
{
float4 Pos : SV_POSITION;
uint ViewportIndex : SV_ViewportArrayIndex;
uint PrimitiveID : SV_PrimitiveID;
[[vk::location(0)]] float3 Normal : NORMAL0;
[[vk::location(1)]] float3 Color : COLOR0;
[[vk::location(2)]] float3 ViewVec : TEXCOOR1;
[[vk::location(3)]] float3 LightVec : TEXCOOR2;
};
[maxvertexcount(3)]
[instance(2)]
void main(triangle VSOutput input[3], inout TriangleStream<GSOutput> outStream, uint InvocationID : SV_GSInstanceID, uint PrimitiveID : SV_PrimitiveID)
{
for(int i = 0; i < 3; i++)
{
GSOutput output = (GSOutput)0;
output.Normal = mul((float3x3)ubo.modelview[InvocationID], input[i].Normal);
output.Color = input[i].Color;
float4 pos = input[i].Pos;
float4 worldPos = mul(ubo.modelview[InvocationID], pos);
float3 lPos = mul(ubo.modelview[InvocationID], ubo.lightPos).xyz;
output.LightVec = lPos - worldPos.xyz;
output.ViewVec = -worldPos.xyz;
output.Pos = mul(ubo.projection[InvocationID], worldPos);
// Set the viewport index that the vertex will be emitted to
output.ViewportIndex = InvocationID;
output.PrimitiveID = PrimitiveID;
outStream.Append( output );
}
outStream.RestartStrip();
}
" "
31: String "Color" 31: String "Color"
36: String "VSOutput" 36: String "VSOutput"
@ -36,25 +115,26 @@ spv.debuginfo.hlsl.geom
77: String "input" 77: String "input"
83: String "outStream" 83: String "outStream"
87: String "InvocationID" 87: String "InvocationID"
93: String "int" 97: String "int"
99: String "i" 103: String "i"
116: String "bool" 120: String "bool"
121: String "output" 126: String "output"
147: String "projection" 152: String "projection"
151: String "modelview" 156: String "modelview"
155: String "lightPos" 160: String "lightPos"
159: String "UBO" 164: String "UBO"
162: String "ubo" 167: String "ubo"
198: String "pos" 174: String ""
207: String "worldPos" 204: String "pos"
218: String "lPos" 213: String "worldPos"
266: String "outStream.Pos" 224: String "lPos"
275: String "outStream.ViewportIndex" 272: String "outStream.Pos"
280: String "outStream.PrimitiveID" 281: String "outStream.ViewportIndex"
287: String "outStream.Normal" 286: String "outStream.PrimitiveID"
292: String "outStream.Color" 293: String "outStream.Normal"
297: String "outStream.ViewVec" 298: String "outStream.Color"
302: String "outStream.LightVec" 303: String "outStream.ViewVec"
308: String "outStream.LightVec"
Name 6 "main" Name 6 "main"
Name 23 "VSOutput" Name 23 "VSOutput"
MemberName 23(VSOutput) 0 "Pos" MemberName 23(VSOutput) 0 "Pos"
@ -73,63 +153,63 @@ spv.debuginfo.hlsl.geom
Name 69 "outStream" Name 69 "outStream"
Name 70 "InvocationID" Name 70 "InvocationID"
Name 71 "PrimitiveID" Name 71 "PrimitiveID"
Name 97 "i" Name 101 "i"
Name 119 "output" Name 124 "output"
Name 145 "UBO" Name 150 "UBO"
MemberName 145(UBO) 0 "projection" MemberName 150(UBO) 0 "projection"
MemberName 145(UBO) 1 "modelview" MemberName 150(UBO) 1 "modelview"
MemberName 145(UBO) 2 "lightPos" MemberName 150(UBO) 2 "lightPos"
Name 160 "ubo" Name 165 "ubo"
MemberName 160(ubo) 0 "ubo" MemberName 165(ubo) 0 "ubo"
Name 167 "" Name 172 ""
Name 196 "pos" Name 202 "pos"
Name 205 "worldPos" Name 211 "worldPos"
Name 216 "lPos" Name 222 "lPos"
Name 264 "outStream.Pos" Name 270 "outStream.Pos"
Name 273 "outStream.ViewportIndex" Name 279 "outStream.ViewportIndex"
Name 278 "outStream.PrimitiveID" Name 284 "outStream.PrimitiveID"
Name 285 "outStream.Normal" Name 291 "outStream.Normal"
Name 290 "outStream.Color" Name 296 "outStream.Color"
Name 295 "outStream.ViewVec" Name 301 "outStream.ViewVec"
Name 300 "outStream.LightVec" Name 306 "outStream.LightVec"
Name 312 "input" Name 319 "input"
Name 315 "input.Pos" Name 322 "input.Pos"
Name 322 "input.Normal" Name 329 "input.Normal"
Name 327 "input.Color" Name 334 "input.Color"
Name 349 "InvocationID" Name 356 "InvocationID"
Name 351 "InvocationID" Name 358 "InvocationID"
Name 353 "PrimitiveID" Name 360 "PrimitiveID"
Name 354 "PrimitiveID" Name 361 "PrimitiveID"
Name 356 "outStream" Name 363 "outStream"
Name 357 "param" Name 364 "param"
Name 359 "param" Name 366 "param"
Name 360 "param" Name 367 "param"
Name 362 "param" Name 369 "param"
Decorate 141 ArrayStride 64 Decorate 146 ArrayStride 64
Decorate 143 ArrayStride 64 Decorate 148 ArrayStride 64
MemberDecorate 145(UBO) 0 RowMajor MemberDecorate 150(UBO) 0 RowMajor
MemberDecorate 145(UBO) 0 MatrixStride 16 MemberDecorate 150(UBO) 0 MatrixStride 16
MemberDecorate 145(UBO) 0 Offset 0 MemberDecorate 150(UBO) 0 Offset 0
MemberDecorate 145(UBO) 1 RowMajor MemberDecorate 150(UBO) 1 RowMajor
MemberDecorate 145(UBO) 1 MatrixStride 16 MemberDecorate 150(UBO) 1 MatrixStride 16
MemberDecorate 145(UBO) 1 Offset 128 MemberDecorate 150(UBO) 1 Offset 128
MemberDecorate 145(UBO) 2 Offset 256 MemberDecorate 150(UBO) 2 Offset 256
Decorate 160(ubo) Block Decorate 165(ubo) Block
MemberDecorate 160(ubo) 0 Offset 0 MemberDecorate 165(ubo) 0 Offset 0
Decorate 167 Binding 0 Decorate 172 Binding 0
Decorate 167 DescriptorSet 0 Decorate 172 DescriptorSet 0
Decorate 264(outStream.Pos) BuiltIn Position Decorate 270(outStream.Pos) BuiltIn Position
Decorate 273(outStream.ViewportIndex) BuiltIn ViewportIndex Decorate 279(outStream.ViewportIndex) BuiltIn ViewportIndex
Decorate 278(outStream.PrimitiveID) BuiltIn PrimitiveId Decorate 284(outStream.PrimitiveID) BuiltIn PrimitiveId
Decorate 285(outStream.Normal) Location 0 Decorate 291(outStream.Normal) Location 0
Decorate 290(outStream.Color) Location 1 Decorate 296(outStream.Color) Location 1
Decorate 295(outStream.ViewVec) Location 2 Decorate 301(outStream.ViewVec) Location 2
Decorate 300(outStream.LightVec) Location 3 Decorate 306(outStream.LightVec) Location 3
Decorate 315(input.Pos) BuiltIn Position Decorate 322(input.Pos) BuiltIn Position
Decorate 322(input.Normal) Location 0 Decorate 329(input.Normal) Location 0
Decorate 327(input.Color) Location 1 Decorate 334(input.Color) Location 1
Decorate 351(InvocationID) BuiltIn InvocationId Decorate 358(InvocationID) BuiltIn InvocationId
Decorate 354(PrimitiveID) BuiltIn PrimitiveId Decorate 361(PrimitiveID) BuiltIn PrimitiveId
4: TypeVoid 4: TypeVoid
5: TypeFunction 4 5: TypeFunction 4
8: TypeFloat 32 8: TypeFloat 32
@ -190,170 +270,174 @@ spv.debuginfo.hlsl.geom
82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 60 26 38 16 75 19 84 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 60 26 38 16 75 19 84
86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 13 26 38 16 75 19 17 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 13 26 38 16 75 19 17
89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 50 13 26 38 16 75 19 19 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 50 13 26 38 16 75 19 19
92: TypeInt 32 1 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 16 16 75
94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 93 14 19 16 94: 11(int) Constant 57
95: TypePointer Function 92(int) 95: 11(int) Constant 10
96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 94 44 16 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 94 95 92
100: 11(int) Constant 57 96: TypeInt 32 1
98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 99 94 26 100 16 75 19 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 97 14 19 16
103: 92(int) Constant 0 99: TypePointer Function 96(int)
114: 92(int) Constant 3 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 44 16
115: TypeBool 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 103 98 26 94 16 93 19
117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 116 14 84 16 107: 96(int) Constant 0
122: 11(int) Constant 59 118: 96(int) Constant 3
120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 121 60 26 122 16 75 19 119: TypeBool
126: 8(float) Constant 0 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 120 14 84 16
127: 18(fvec4) ConstantComposite 126 126 126 126 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 16 16 93
128: 21(fvec3) ConstantComposite 126 126 126 127: 11(int) Constant 59
129:46(GSOutput) ConstantComposite 127 16 16 128 128 128 128 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 126 60 26 127 16 123 19
132: 11(int) Constant 60 131: 8(float) Constant 0
133: 92(int) Constant 1 132: 18(fvec4) ConstantComposite 131 131 131 131
134: TypePointer Function 21(fvec3) 133: 21(fvec3) ConstantComposite 131 131 131
135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 44 16 134:46(GSOutput) ConstantComposite 132 16 16 133 133 133 133
138: TypeMatrix 18(fvec4) 4 137: 11(int) Constant 60
140: 115(bool) ConstantTrue 138: 96(int) Constant 1
139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 140 139: TypePointer Function 21(fvec3)
141: TypeArray 138 84 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 44 16
142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 139 84 143: TypeMatrix 18(fvec4) 4
143: TypeArray 138 84 145: 119(bool) ConstantTrue
144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 139 84 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 145
145(UBO): TypeStruct 141 143 18(fvec4) 146: TypeArray 143 84
148: 11(int) Constant 28 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 144 84
149: 11(int) Constant 21 148: TypeArray 143 84
146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 147 142 26 148 149 16 16 17 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 144 84
152: 11(int) Constant 29 150(UBO): TypeStruct 146 148 18(fvec4)
153: 11(int) Constant 20 153: 11(int) Constant 28
150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 151 144 26 152 153 16 16 17 154: 11(int) Constant 21
156: 11(int) Constant 30 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 152 147 26 153 154 16 16 17
157: 11(int) Constant 17 157: 11(int) Constant 29
154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 155 20 26 156 157 16 16 17 158: 11(int) Constant 20
158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 159 37 26 132 16 39 159 16 17 146 150 154 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 156 149 26 157 158 16 16 17
160(ubo): TypeStruct 145(UBO) 161: 11(int) Constant 30
163: 11(int) Constant 33 162: 11(int) Constant 17
161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 162 158 26 163 28 16 16 17 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 160 20 26 161 162 16 16 17
164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 37 26 132 16 39 162 16 17 161 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 164 37 26 137 16 39 164 16 17 151 155 159
165: TypePointer Uniform 160(ubo) 165(ubo): TypeStruct 150(UBO)
166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 164 84 16 168: 11(int) Constant 33
167: 165(ptr) Variable Uniform 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 167 163 26 168 28 16 16 17
169: 11(int) Constant 8 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 167 37 26 137 16 39 167 16 17 166
168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 164 26 132 16 39 2 167 169 170: TypePointer Uniform 165(ubo)
171: TypePointer Uniform 138 171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 169 84 16
172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 139 84 16 172: 170(ptr) Variable Uniform
175: TypeMatrix 21(fvec3) 3 175: 11(int) Constant 8
176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 22 17 140 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 174 169 26 137 16 39 174 172 175
186: 92(int) Constant 4 177: TypePointer Uniform 143
189: 11(int) Constant 61 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 144 84 16
190: 92(int) Constant 2 181: TypeMatrix 21(fvec3) 3
194: TypePointer Function 18(fvec4) 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 22 17 145
195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 44 16 192: 96(int) Constant 4
199: 11(int) Constant 63 195: 11(int) Constant 61
197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 198 20 26 199 16 75 19 196: 96(int) Constant 2
208: 11(int) Constant 64 200: TypePointer Function 18(fvec4)
206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 207 20 26 208 16 75 19 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 44 16
219: 11(int) Constant 66 205: 11(int) Constant 63
217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 218 22 26 219 16 75 19 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 204 20 26 205 16 123 19
222: TypePointer Uniform 18(fvec4) 214: 11(int) Constant 64
223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 84 16 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 213 20 26 214 16 123 19
231: 92(int) Constant 6 225: 11(int) Constant 66
234: 11(int) Constant 67 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 224 22 26 225 16 123 19
239: 92(int) Constant 5 228: TypePointer Uniform 18(fvec4)
242: 11(int) Constant 68 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 84 16
248: 11(int) Constant 70 237: 96(int) Constant 6
256: 11(int) Constant 73 240: 11(int) Constant 67
260: 11(int) Constant 74 245: 96(int) Constant 5
262: TypePointer Output 18(fvec4) 248: 11(int) Constant 68
263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 17 16 254: 11(int) Constant 70
264(outStream.Pos): 262(ptr) Variable Output 262: 11(int) Constant 73
267: 11(int) Constant 75 266: 11(int) Constant 74
265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 266 20 26 267 16 39 266 264(outStream.Pos) 169 268: TypePointer Output 18(fvec4)
271: TypePointer Output 11(int) 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 17 16
272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 17 16 270(outStream.Pos): 268(ptr) Variable Output
273(outStream.ViewportIndex): 271(ptr) Variable Output 273: 11(int) Constant 75
274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 275 13 26 267 16 39 275 273(outStream.ViewportIndex) 169 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 272 20 26 273 16 39 272 270(outStream.Pos) 175
278(outStream.PrimitiveID): 271(ptr) Variable Output 277: TypePointer Output 11(int)
279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 280 13 26 267 16 39 280 278(outStream.PrimitiveID) 169 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 17 16
283: TypePointer Output 21(fvec3) 279(outStream.ViewportIndex): 277(ptr) Variable Output
284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 17 16 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 281 13 26 273 16 39 281 279(outStream.ViewportIndex) 175
285(outStream.Normal): 283(ptr) Variable Output 284(outStream.PrimitiveID): 277(ptr) Variable Output
286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 287 22 26 267 16 39 287 285(outStream.Normal) 169 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 286 13 26 273 16 39 286 284(outStream.PrimitiveID) 175
290(outStream.Color): 283(ptr) Variable Output 289: TypePointer Output 21(fvec3)
291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 292 22 26 267 16 39 292 290(outStream.Color) 169 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 17 16
295(outStream.ViewVec): 283(ptr) Variable Output 291(outStream.Normal): 289(ptr) Variable Output
296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 297 22 26 267 16 39 297 295(outStream.ViewVec) 169 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 293 22 26 273 16 39 293 291(outStream.Normal) 175
300(outStream.LightVec): 283(ptr) Variable Output 296(outStream.Color): 289(ptr) Variable Output
301: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 302 22 26 267 16 39 302 300(outStream.LightVec) 169 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 298 22 26 273 16 39 298 296(outStream.Color) 175
311: 11(int) Constant 78 301(outStream.ViewVec): 289(ptr) Variable Output
313: TypeArray 18(fvec4) 17 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 303 22 26 273 16 39 303 301(outStream.ViewVec) 175
314: TypePointer Input 313 306(outStream.LightVec): 289(ptr) Variable Output
315(input.Pos): 314(ptr) Variable Input 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 308 22 26 273 16 39 308 306(outStream.LightVec) 175
316: TypePointer Input 18(fvec4) 317: 11(int) Constant 78
320: TypeArray 21(fvec3) 17 320: TypeArray 18(fvec4) 17
321: TypePointer Input 320 321: TypePointer Input 320
322(input.Normal): 321(ptr) Variable Input 322(input.Pos): 321(ptr) Variable Input
323: TypePointer Input 21(fvec3) 323: TypePointer Input 18(fvec4)
327(input.Color): 321(ptr) Variable Input 327: TypeArray 21(fvec3) 17
350: TypePointer Input 11(int) 328: TypePointer Input 327
351(InvocationID): 350(ptr) Variable Input 329(input.Normal): 328(ptr) Variable Input
354(PrimitiveID): 350(ptr) Variable Input 330: TypePointer Input 21(fvec3)
334(input.Color): 328(ptr) Variable Input
357: TypePointer Input 11(int)
358(InvocationID): 357(ptr) Variable Input
361(PrimitiveID): 357(ptr) Variable Input
6(main): 4 Function None 5 6(main): 4 Function None 5
7: Label 7: Label
312(input): 43(ptr) Variable Function 319(input): 43(ptr) Variable Function
349(InvocationID): 64(ptr) Variable Function 356(InvocationID): 64(ptr) Variable Function
353(PrimitiveID): 64(ptr) Variable Function 360(PrimitiveID): 64(ptr) Variable Function
356(outStream): 62(ptr) Variable Function 363(outStream): 62(ptr) Variable Function
357(param): 43(ptr) Variable Function 364(param): 43(ptr) Variable Function
359(param): 62(ptr) Variable Function 366(param): 62(ptr) Variable Function
360(param): 64(ptr) Variable Function 367(param): 64(ptr) Variable Function
362(param): 64(ptr) Variable Function 369(param): 64(ptr) Variable Function
317: 316(ptr) AccessChain 315(input.Pos) 103 324: 323(ptr) AccessChain 322(input.Pos) 107
318: 18(fvec4) Load 317 325: 18(fvec4) Load 324
319: 194(ptr) AccessChain 312(input) 103 103 326: 200(ptr) AccessChain 319(input) 107 107
Store 319 318
324: 323(ptr) AccessChain 322(input.Normal) 103
325: 21(fvec3) Load 324
326: 134(ptr) AccessChain 312(input) 103 133
Store 326 325 Store 326 325
328: 323(ptr) AccessChain 327(input.Color) 103 331: 330(ptr) AccessChain 329(input.Normal) 107
329: 21(fvec3) Load 328 332: 21(fvec3) Load 331
330: 134(ptr) AccessChain 312(input) 103 190 333: 139(ptr) AccessChain 319(input) 107 138
Store 330 329
331: 316(ptr) AccessChain 315(input.Pos) 133
332: 18(fvec4) Load 331
333: 194(ptr) AccessChain 312(input) 133 103
Store 333 332 Store 333 332
334: 323(ptr) AccessChain 322(input.Normal) 133 335: 330(ptr) AccessChain 334(input.Color) 107
335: 21(fvec3) Load 334 336: 21(fvec3) Load 335
336: 134(ptr) AccessChain 312(input) 133 133 337: 139(ptr) AccessChain 319(input) 107 196
Store 336 335 Store 337 336
337: 323(ptr) AccessChain 327(input.Color) 133 338: 323(ptr) AccessChain 322(input.Pos) 138
338: 21(fvec3) Load 337 339: 18(fvec4) Load 338
339: 134(ptr) AccessChain 312(input) 133 190 340: 200(ptr) AccessChain 319(input) 138 107
Store 339 338 Store 340 339
340: 316(ptr) AccessChain 315(input.Pos) 190 341: 330(ptr) AccessChain 329(input.Normal) 138
341: 18(fvec4) Load 340 342: 21(fvec3) Load 341
342: 194(ptr) AccessChain 312(input) 190 103 343: 139(ptr) AccessChain 319(input) 138 138
Store 342 341 Store 343 342
343: 323(ptr) AccessChain 322(input.Normal) 190 344: 330(ptr) AccessChain 334(input.Color) 138
344: 21(fvec3) Load 343 345: 21(fvec3) Load 344
345: 134(ptr) AccessChain 312(input) 190 133 346: 139(ptr) AccessChain 319(input) 138 196
Store 345 344 Store 346 345
346: 323(ptr) AccessChain 327(input.Color) 190 347: 323(ptr) AccessChain 322(input.Pos) 196
347: 21(fvec3) Load 346 348: 18(fvec4) Load 347
348: 134(ptr) AccessChain 312(input) 190 190 349: 200(ptr) AccessChain 319(input) 196 107
Store 348 347 Store 349 348
352: 11(int) Load 351(InvocationID) 350: 330(ptr) AccessChain 329(input.Normal) 196
Store 349(InvocationID) 352 351: 21(fvec3) Load 350
355: 11(int) Load 354(PrimitiveID) 352: 139(ptr) AccessChain 319(input) 196 138
Store 353(PrimitiveID) 355 Store 352 351
358: 41 Load 312(input) 353: 330(ptr) AccessChain 334(input.Color) 196
Store 357(param) 358 354: 21(fvec3) Load 353
361: 11(int) Load 349(InvocationID) 355: 139(ptr) AccessChain 319(input) 196 196
Store 360(param) 361 Store 355 354
363: 11(int) Load 353(PrimitiveID) 359: 11(int) Load 358(InvocationID)
Store 362(param) 363 Store 356(InvocationID) 359
364: 4 FunctionCall 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 357(param) 359(param) 360(param) 362(param) 362: 11(int) Load 361(PrimitiveID)
365:46(GSOutput) Load 359(param) Store 360(PrimitiveID) 362
Store 356(outStream) 365 365: 41 Load 319(input)
Store 364(param) 365
368: 11(int) Load 356(InvocationID)
Store 367(param) 368
370: 11(int) Load 360(PrimitiveID)
Store 369(param) 370
371: 4 FunctionCall 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 364(param) 366(param) 367(param) 369(param)
372:46(GSOutput) Load 366(param)
Store 363(outStream) 372
Return Return
FunctionEnd FunctionEnd
72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;): 4 Function None 66 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;): 4 Function None 66
@ -362,11 +446,11 @@ spv.debuginfo.hlsl.geom
70(InvocationID): 64(ptr) FunctionParameter 70(InvocationID): 64(ptr) FunctionParameter
71(PrimitiveID): 64(ptr) FunctionParameter 71(PrimitiveID): 64(ptr) FunctionParameter
73: Label 73: Label
97(i): 95(ptr) Variable Function 101(i): 99(ptr) Variable Function
119(output): 62(ptr) Variable Function 124(output): 62(ptr) Variable Function
196(pos): 194(ptr) Variable Function 202(pos): 200(ptr) Variable Function
205(worldPos): 194(ptr) Variable Function 211(worldPos): 200(ptr) Variable Function
216(lPos): 134(ptr) Variable Function 222(lPos): 139(ptr) Variable Function
80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75
81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 38 38 16 16 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 38 38 16 16
78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 76 68(input) 79 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 76 68(input) 79
@ -374,136 +458,138 @@ spv.debuginfo.hlsl.geom
88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 86 70(InvocationID) 79 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 86 70(InvocationID) 79
90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 89 71(PrimitiveID) 79 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 89 71(PrimitiveID) 79
91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 75 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 75 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;)
102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93
101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 98 97(i) 79 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16
Store 97(i) 103 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 102 101(i) 79
Branch 104 Store 101(i) 107
104: Label Branch 108
108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 108: Label
109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93
LoopMerge 106 107 None 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16
Branch 110 LoopMerge 110 111 None
110: Label Branch 114
112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 114: Label
113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93
111: 92(int) Load 97(i) 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16
118: 115(bool) SLessThan 111 114 115: 96(int) Load 101(i)
BranchConditional 118 105 106 122: 119(bool) SLessThan 115 118
105: Label BranchConditional 122 109 110
124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 109: Label
125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 122 122 16 16 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 123
123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 120 119(output) 79 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 127 127 16 16
Store 119(output) 129 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 125 124(output) 79
131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 132 132 16 16 Store 124(output) 134
130: 92(int) Load 97(i) 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 137 137 16 16
136: 134(ptr) AccessChain 68(input) 130 133 135: 96(int) Load 101(i)
137: 21(fvec3) Load 136 141: 139(ptr) AccessChain 68(input) 135 138
170: 11(int) Load 70(InvocationID) 142: 21(fvec3) Load 141
173: 171(ptr) AccessChain 167 103 133 170 176: 11(int) Load 70(InvocationID)
174: 138 Load 173 179: 177(ptr) AccessChain 172 107 138 176
177: 18(fvec4) CompositeExtract 174 0 180: 143 Load 179
178: 21(fvec3) VectorShuffle 177 177 0 1 2 183: 18(fvec4) CompositeExtract 180 0
179: 18(fvec4) CompositeExtract 174 1 184: 21(fvec3) VectorShuffle 183 183 0 1 2
180: 21(fvec3) VectorShuffle 179 179 0 1 2 185: 18(fvec4) CompositeExtract 180 1
181: 18(fvec4) CompositeExtract 174 2 186: 21(fvec3) VectorShuffle 185 185 0 1 2
182: 21(fvec3) VectorShuffle 181 181 0 1 2 187: 18(fvec4) CompositeExtract 180 2
183: 175 CompositeConstruct 178 180 182 188: 21(fvec3) VectorShuffle 187 187 0 1 2
184: 21(fvec3) VectorTimesMatrix 137 183 189: 181 CompositeConstruct 184 186 188
185: 134(ptr) AccessChain 119(output) 114 190: 21(fvec3) VectorTimesMatrix 142 189
Store 185 184 191: 139(ptr) AccessChain 124(output) 118
188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 189 189 16 16 Store 191 190
187: 92(int) Load 97(i) 194: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 195 195 16 16
191: 134(ptr) AccessChain 68(input) 187 190 193: 96(int) Load 101(i)
192: 21(fvec3) Load 191 197: 139(ptr) AccessChain 68(input) 193 196
193: 134(ptr) AccessChain 119(output) 186 198: 21(fvec3) Load 197
Store 193 192 199: 139(ptr) AccessChain 124(output) 192
201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 199 199 16 16 Store 199 198
200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 197 196(pos) 79 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 205 205 16 16
202: 92(int) Load 97(i) 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 203 202(pos) 79
203: 194(ptr) AccessChain 68(input) 202 103 208: 96(int) Load 101(i)
204: 18(fvec4) Load 203 209: 200(ptr) AccessChain 68(input) 208 107
Store 196(pos) 204 210: 18(fvec4) Load 209
210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 208 208 16 16 Store 202(pos) 210
209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 206 205(worldPos) 79 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 214 214 16 16
211: 18(fvec4) Load 196(pos) 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 212 211(worldPos) 79
212: 11(int) Load 70(InvocationID) 217: 18(fvec4) Load 202(pos)
213: 171(ptr) AccessChain 167 103 133 212 218: 11(int) Load 70(InvocationID)
214: 138 Load 213 219: 177(ptr) AccessChain 172 107 138 218
215: 18(fvec4) VectorTimesMatrix 211 214 220: 143 Load 219
Store 205(worldPos) 215 221: 18(fvec4) VectorTimesMatrix 217 220
221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 219 219 16 16 Store 211(worldPos) 221
220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 217 216(lPos) 79 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 225 225 16 16
224: 222(ptr) AccessChain 167 103 190 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 223 222(lPos) 79
225: 18(fvec4) Load 224 230: 228(ptr) AccessChain 172 107 196
226: 11(int) Load 70(InvocationID) 231: 18(fvec4) Load 230
227: 171(ptr) AccessChain 167 103 133 226 232: 11(int) Load 70(InvocationID)
228: 138 Load 227 233: 177(ptr) AccessChain 172 107 138 232
229: 18(fvec4) VectorTimesMatrix 225 228 234: 143 Load 233
230: 21(fvec3) VectorShuffle 229 229 0 1 2 235: 18(fvec4) VectorTimesMatrix 231 234
Store 216(lPos) 230
233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 234 234 16 16
232: 21(fvec3) Load 216(lPos)
235: 18(fvec4) Load 205(worldPos)
236: 21(fvec3) VectorShuffle 235 235 0 1 2 236: 21(fvec3) VectorShuffle 235 235 0 1 2
237: 21(fvec3) FSub 232 236 Store 222(lPos) 236
238: 134(ptr) AccessChain 119(output) 231 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 240 240 16 16
Store 238 237 238: 21(fvec3) Load 222(lPos)
241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 242 242 16 16 241: 18(fvec4) Load 211(worldPos)
240: 18(fvec4) Load 205(worldPos) 242: 21(fvec3) VectorShuffle 241 241 0 1 2
243: 21(fvec3) VectorShuffle 240 240 0 1 2 243: 21(fvec3) FSub 238 242
244: 21(fvec3) FNegate 243 244: 139(ptr) AccessChain 124(output) 237
245: 134(ptr) AccessChain 119(output) 239 Store 244 243
Store 245 244
247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 248 248 16 16 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 248 248 16 16
246: 18(fvec4) Load 205(worldPos) 246: 18(fvec4) Load 211(worldPos)
249: 11(int) Load 70(InvocationID) 249: 21(fvec3) VectorShuffle 246 246 0 1 2
250: 171(ptr) AccessChain 167 103 103 249 250: 21(fvec3) FNegate 249
251: 138 Load 250 251: 139(ptr) AccessChain 124(output) 245
252: 18(fvec4) VectorTimesMatrix 246 251 Store 251 250
253: 194(ptr) AccessChain 119(output) 103 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 254 254 16 16
Store 253 252 252: 18(fvec4) Load 211(worldPos)
255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 256 256 16 16 255: 11(int) Load 70(InvocationID)
254: 11(int) Load 70(InvocationID) 256: 177(ptr) AccessChain 172 107 107 255
257: 64(ptr) AccessChain 119(output) 133 257: 143 Load 256
Store 257 254 258: 18(fvec4) VectorTimesMatrix 252 257
259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 260 260 16 16 259: 200(ptr) AccessChain 124(output) 107
258: 11(int) Load 71(PrimitiveID) Store 259 258
261: 64(ptr) AccessChain 119(output) 190 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 262 262 16 16
Store 261 258 260: 11(int) Load 70(InvocationID)
269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 267 267 16 16 263: 64(ptr) AccessChain 124(output) 138
268: 194(ptr) AccessChain 119(output) 103 Store 263 260
270: 18(fvec4) Load 268 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 266 266 16 16
Store 264(outStream.Pos) 270 264: 11(int) Load 71(PrimitiveID)
276: 64(ptr) AccessChain 119(output) 133 267: 64(ptr) AccessChain 124(output) 196
277: 11(int) Load 276 Store 267 264
Store 273(outStream.ViewportIndex) 277 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 273 273 16 16
281: 64(ptr) AccessChain 119(output) 190 274: 200(ptr) AccessChain 124(output) 107
282: 11(int) Load 281 276: 18(fvec4) Load 274
Store 278(outStream.PrimitiveID) 282 Store 270(outStream.Pos) 276
288: 134(ptr) AccessChain 119(output) 114 282: 64(ptr) AccessChain 124(output) 138
289: 21(fvec3) Load 288 283: 11(int) Load 282
Store 285(outStream.Normal) 289 Store 279(outStream.ViewportIndex) 283
293: 134(ptr) AccessChain 119(output) 186 287: 64(ptr) AccessChain 124(output) 196
294: 21(fvec3) Load 293 288: 11(int) Load 287
Store 290(outStream.Color) 294 Store 284(outStream.PrimitiveID) 288
298: 134(ptr) AccessChain 119(output) 239 294: 139(ptr) AccessChain 124(output) 118
299: 21(fvec3) Load 298 295: 21(fvec3) Load 294
Store 295(outStream.ViewVec) 299 Store 291(outStream.Normal) 295
303: 134(ptr) AccessChain 119(output) 231 299: 139(ptr) AccessChain 124(output) 192
304: 21(fvec3) Load 303 300: 21(fvec3) Load 299
Store 300(outStream.LightVec) 304 Store 296(outStream.Color) 300
304: 139(ptr) AccessChain 124(output) 245
305: 21(fvec3) Load 304
Store 301(outStream.ViewVec) 305
309: 139(ptr) AccessChain 124(output) 237
310: 21(fvec3) Load 309
Store 306(outStream.LightVec) 310
EmitVertex EmitVertex
Branch 107 Branch 111
107: Label 111: Label
306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93
307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16
305: 92(int) Load 97(i) 311: 96(int) Load 101(i)
308: 92(int) IAdd 305 133 314: 96(int) IAdd 311 138
Store 97(i) 308 Store 101(i) 314
Branch 104 Branch 108
106: Label 110: Label
309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 92
310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 311 311 16 16 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 317 317 16 16
EndPrimitive EndPrimitive
318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75
Return Return
FunctionEnd FunctionEnd

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,14 +1,14 @@
spv.debuginfo.implicit_br.glsl.frag spv.debuginfo.implicit_br.glsl.frag
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 194 // Id's are bound by 204
Capability Shader Capability Shader
Extension "SPV_KHR_non_semantic_info" Extension "SPV_KHR_non_semantic_info"
1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100"
3: ExtInstImport "GLSL.std.450" 3: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Fragment 14 "main" 186 EntryPoint Fragment 14 "main" 196
ExecutionMode 14 OriginUpperLeft ExecutionMode 14 OriginUpperLeft
2: String "spv.debuginfo.implicit_br.glsl.frag" 2: String "spv.debuginfo.implicit_br.glsl.frag"
8: String "uint" 8: String "uint"
@ -88,7 +88,7 @@ void main() {
50: String "int" 50: String "int"
56: String "counter" 56: String "counter"
65: String "bool" 65: String "bool"
188: String "outx" 198: String "outx"
Name 14 "main" Name 14 "main"
Name 16 "test_if(" Name 16 "test_if("
Name 26 "test_ifelse(" Name 26 "test_ifelse("
@ -96,8 +96,8 @@ void main() {
Name 36 "test_if_compound2(" Name 36 "test_if_compound2("
Name 41 "test_switch(" Name 41 "test_switch("
Name 54 "counter" Name 54 "counter"
Name 186 "outx" Name 196 "outx"
Decorate 186(outx) Location 0 Decorate 196(outx) Location 0
4: TypeVoid 4: TypeVoid
5: TypeFunction 4 5: TypeFunction 4
7: TypeInt 32 0 7: TypeInt 32 0
@ -134,55 +134,65 @@ void main() {
64: TypeBool 64: TypeBool
66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 65 10 25 12 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 65 10 25 12
67: 64(bool) ConstantFalse 67: 64(bool) ConstantFalse
70: 49(int) Constant 1 71: 7(int) Constant 17
77: 7(int) Constant 10 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 57 71 19
72: 49(int) Constant 1
79: 7(int) Constant 10
86: 7(int) Constant 14 86: 7(int) Constant 14
89: 49(int) Constant 2 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 86 71 29
93: 7(int) Constant 17 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 71 71 29
97: 7(int) Constant 19 93: 49(int) Constant 2
110: 7(int) Constant 24 100: 7(int) Constant 19
114: 7(int) Constant 27 107: 7(int) Constant 23
131: 7(int) Constant 35 108: 7(int) Constant 9
135: 7(int) Constant 37 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 107 108 34
146: 7(int) Constant 42 114: 7(int) Constant 24
151: 7(int) Constant 45 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 114 35 106
154: 7(int) Constant 46 121: 7(int) Constant 27
156: 49(int) Constant 3 128: 7(int) Constant 31
160: 7(int) Constant 48 127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 128 108 39
165: 7(int) Constant 51 133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 10 35 127
171: 7(int) Constant 54 141: 7(int) Constant 35
174: 7(int) Constant 55 145: 7(int) Constant 37
177: 7(int) Constant 56 156: 7(int) Constant 42
180: 7(int) Constant 57 161: 7(int) Constant 45
183: 7(int) Constant 58 164: 7(int) Constant 46
184: TypePointer Output 49(int) 166: 49(int) Constant 3
185: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 51 13 12 170: 7(int) Constant 48
186(outx): 184(ptr) Variable Output 175: 7(int) Constant 51
189: 7(int) Constant 59 181: 7(int) Constant 54
187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 188 51 20 189 12 22 188 186(outx) 57 184: 7(int) Constant 55
193: 7(int) Constant 60 187: 7(int) Constant 56
190: 7(int) Constant 57
193: 7(int) Constant 58
194: TypePointer Output 49(int)
195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 51 13 12
196(outx): 194(ptr) Variable Output
199: 7(int) Constant 59
197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 198 51 20 199 12 22 198 196(outx) 57
203: 7(int) Constant 60
14(main): 4 Function None 5 14(main): 4 Function None 5
15: Label 15: Label
59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 22 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 22
60: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 24 24 12 12 60: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 24 24 12 12
Store 54(counter) 58 Store 54(counter) 58
167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 47 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 47
168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 48 48 12 12 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 48 48 12 12
166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 47 14(main) 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 47 14(main)
170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 171 171 12 12 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 181 181 12 12
169: 4 FunctionCall 16(test_if() 179: 4 FunctionCall 16(test_if()
173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 174 174 12 12 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 184 184 12 12
172: 4 FunctionCall 26(test_ifelse() 182: 4 FunctionCall 26(test_ifelse()
176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 177 177 12 12 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 187 187 12 12
175: 4 FunctionCall 31(test_if_compound() 185: 4 FunctionCall 31(test_if_compound()
179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 180 180 12 12 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 190 190 12 12
178: 4 FunctionCall 36(test_if_compound2() 188: 4 FunctionCall 36(test_if_compound2()
182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 183 183 12 12
181: 4 FunctionCall 41(test_switch()
191: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 189 189 12 12
190: 49(int) Load 54(counter)
Store 186(outx) 190
192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 193 193 12 12 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 193 193 12 12
191: 4 FunctionCall 41(test_switch()
201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 199 199 12 12
200: 49(int) Load 54(counter)
Store 196(outx) 200
202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 203 203 12 12
Return Return
FunctionEnd FunctionEnd
16(test_if(): 4 Function None 5 16(test_if(): 4 Function None 5
@ -193,133 +203,133 @@ void main() {
SelectionMerge 69 None SelectionMerge 69 None
BranchConditional 67 68 69 BranchConditional 67 68 69
68: Label 68: Label
72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 70
73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 57 57 12 12 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 57 57 12 12
71: 49(int) Load 54(counter) 73: 49(int) Load 54(counter)
74: 49(int) IAdd 71 70 76: 49(int) IAdd 73 72
Store 54(counter) 74 Store 54(counter) 76
Branch 69 Branch 69
69: Label 69: Label
75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19
76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 77 77 12 12 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 79 79 12 12
Return Return
FunctionEnd FunctionEnd
26(test_ifelse(): 4 Function None 5 26(test_ifelse(): 4 Function None 5
27: Label 27: Label
79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29
80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 30 30 12 12 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 30 30 12 12
78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 29 26(test_ifelse() 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 29 26(test_ifelse()
SelectionMerge 82 None SelectionMerge 84 None
BranchConditional 67 81 88 BranchConditional 67 83 91
81: Label 83: Label
84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85
85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 86 86 12 12 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 86 86 12 12
83: 49(int) Load 54(counter) 87: 49(int) Load 54(counter)
87: 49(int) IAdd 83 70 90: 49(int) IAdd 87 72
Store 54(counter) 87 Store 54(counter) 90
Branch 82 Branch 84
88: Label 91: Label
91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 92
92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 93 93 12 12 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 71 71 12 12
90: 49(int) Load 54(counter) 94: 49(int) Load 54(counter)
94: 49(int) IAdd 90 89 97: 49(int) IAdd 94 93
Store 54(counter) 94 Store 54(counter) 97
Branch 82 Branch 84
82: Label 84: Label
95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29
96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 97 97 12 12 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 100 100 12 12
Return Return
FunctionEnd FunctionEnd
31(test_if_compound(): 4 Function None 5 31(test_if_compound(): 4 Function None 5
32: Label 32: Label
99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34
100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12
98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 34 31(test_if_compound() 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 34 31(test_if_compound()
SelectionMerge 102 None SelectionMerge 105 None
BranchConditional 67 101 102 BranchConditional 67 104 105
101: Label
105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34
106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12
SelectionMerge 104 None
BranchConditional 67 103 104
103: Label
108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34
109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 110 110 12 12
107: 49(int) Load 54(counter)
111: 49(int) IAdd 107 70
Store 54(counter) 111
Branch 104
104: Label 104: Label
Branch 102 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 106
102: Label 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12
112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 SelectionMerge 110 None
113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 114 114 12 12 BranchConditional 67 109 110
109: Label
116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113
117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 114 114 12 12
115: 49(int) Load 54(counter)
118: 49(int) IAdd 115 72
Store 54(counter) 118
Branch 110
110: Label
Branch 105
105: Label
119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34
120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 121 121 12 12
Return Return
FunctionEnd FunctionEnd
36(test_if_compound2(): 4 Function None 5 36(test_if_compound2(): 4 Function None 5
37: Label 37: Label
116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39
117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 40 40 12 12 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 40 40 12 12
115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 39 36(test_if_compound2() 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 39 36(test_if_compound2()
SelectionMerge 119 None SelectionMerge 126 None
BranchConditional 67 118 119 BranchConditional 67 125 126
118: Label 125: Label
122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 127
123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 40 40 12 12 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 40 40 12 12
SelectionMerge 121 None SelectionMerge 130 None
BranchConditional 67 120 121 BranchConditional 67 129 130
120: Label 129: Label
125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 133
126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 10 10 12 12 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 10 10 12 12
124: 49(int) Load 54(counter) 134: 49(int) Load 54(counter)
127: 49(int) IAdd 124 70 137: 49(int) IAdd 134 72
Store 54(counter) 127 Store 54(counter) 137
Branch 121 Branch 130
121: Label 130: Label
129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 127
130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 131 131 12 12 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 141 141 12 12
128: 49(int) Load 54(counter) 138: 49(int) Load 54(counter)
132: 49(int) IAdd 128 89 142: 49(int) IAdd 138 93
Store 54(counter) 132 Store 54(counter) 142
Branch 119 Branch 126
119: Label 126: Label
133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39
134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 135 135 12 12 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 145 145 12 12
Return Return
FunctionEnd FunctionEnd
41(test_switch(): 4 Function None 5 41(test_switch(): 4 Function None 5
42: Label 42: Label
137: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44
138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 45 45 12 12 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 45 45 12 12
136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 44 41(test_switch() 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 44 41(test_switch()
SelectionMerge 142 None SelectionMerge 152 None
Switch 58 141 Switch 58 151
case 0: 139 case 0: 149
case 1: 140 case 1: 150
141: Label 151: Label
158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44
159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 160 160 12 12 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 170 170 12 12
157: 49(int) Load 54(counter) 167: 49(int) Load 54(counter)
161: 49(int) IAdd 157 156 171: 49(int) IAdd 167 166
Store 54(counter) 161 Store 54(counter) 171
Branch 142 Branch 152
139: Label 149: Label
144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44
145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 146 146 12 12 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 156 156 12 12
143: 49(int) Load 54(counter) 153: 49(int) Load 54(counter)
147: 49(int) IAdd 143 70 157: 49(int) IAdd 153 72
Store 54(counter) 147 Store 54(counter) 157
Branch 140 Branch 150
140: Label 150: Label
149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44
150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 151 151 12 12 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 161 161 12 12
148: 49(int) Load 54(counter) 158: 49(int) Load 54(counter)
152: 49(int) IAdd 148 89 162: 49(int) IAdd 158 93
Store 54(counter) 152 Store 54(counter) 162
153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 154 154 12 12 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 164 164 12 12
Branch 142 Branch 152
142: Label 152: Label
163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44
164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 165 165 12 12 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 175 175 12 12
Return Return
FunctionEnd FunctionEnd

View file

@ -1,7 +1,7 @@
spv.debuginfo.rt_types.glsl.rgen spv.debuginfo.rt_types.glsl.rgen
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 8000b // Generated by (magic number): 8000b
// Id's are bound by 125 // Id's are bound by 127
Capability RayQueryKHR Capability RayQueryKHR
Capability RayTracingNV Capability RayTracingNV
@ -147,8 +147,10 @@ void main()
110: TypeBool 110: TypeBool
112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 111 10 24 12 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 111 10 24 12
115: 7(int) Constant 19 115: 7(int) Constant 19
121: 7(int) Constant 21 120: 7(int) Constant 21
124: 7(int) Constant 23 121: 7(int) Constant 30
119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 18 120 121 17
126: 7(int) Constant 23
14(main): 4 Function None 5 14(main): 4 Function None 5
15: Label 15: Label
31(rayFlags): 28(ptr) Variable Function 31(rayFlags): 28(ptr) Variable Function
@ -182,12 +184,12 @@ void main()
SelectionMerge 118 None SelectionMerge 118 None
BranchConditional 116 117 118 BranchConditional 116 117 118
117: Label 117: Label
119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 119
120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 121 121 12 12 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 120 120 12 12
RayQueryTerminateKHR 66(localRayQuery) RayQueryTerminateKHR 66(localRayQuery)
Branch 118 Branch 118
118: Label 118: Label
122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17
123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 124 124 12 12 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 126 126 12 12
Return Return
FunctionEnd FunctionEnd

View file

@ -149,7 +149,7 @@ TEST_P(HlslNonSemanticShaderDebugInfoTest, FromFile)
{ {
loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam().fileName, loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam().fileName,
Source::HLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, Source::HLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0,
Target::Spv, true, GetParam().entryPoint, "/baseResults/", false, false, true); Target::Spv, true, GetParam().entryPoint, "/baseResults/", false, true, true);
} }
// clang-format off // clang-format off

View file

@ -262,6 +262,14 @@ public:
shader.setAutoMapLocations(true); shader.setAutoMapLocations(true);
shader.setAutoMapBindings(true); shader.setAutoMapBindings(true);
} }
if (enableDebug) {
shader.setDebugInfo(true);
}
if (enableNonSemanticShaderDebugInfo) {
assert(enableDebug && "Debug must be on for non-semantic debug info");
}
shader.setTextureSamplerTransformMode(texSampTransMode); shader.setTextureSamplerTransformMode(texSampTransMode);
#ifdef ENABLE_HLSL #ifdef ENABLE_HLSL
shader.setFlattenUniformArrays(flattenUniformArrays); shader.setFlattenUniformArrays(flattenUniformArrays);