Merge pull request #2985 from jeremy-lunarg/hayes-nonsemantic-shader-debuginfo-rebase
Implement NonSemantic.Shader.DebugInfo.100 debug instruction generation. These instructions will be generated under the -gV and -gVS command line options. These instructions enable source-level shader debugging with Renderdoc. This is an alpha release of this capability. Additional improvements are forthcoming. Use and feedback are welcome.
This commit is contained in:
commit
284ceb6d45
55 changed files with 11275 additions and 96 deletions
|
|
@ -665,6 +665,8 @@ bool TOutputTraverser::visitUnary(TVisit /* visit */, TIntermUnary* node)
|
|||
|
||||
case EOpConstructReference: out.debug << "Construct reference type"; break;
|
||||
|
||||
case EOpDeclare: out.debug << "Declare"; break;
|
||||
|
||||
#ifndef GLSLANG_WEB
|
||||
case EOpSpirvInst: out.debug << "spirv_instruction"; break;
|
||||
#endif
|
||||
|
|
@ -692,6 +694,7 @@ bool TOutputTraverser::visitAggregate(TVisit /* visit */, TIntermAggregate* node
|
|||
|
||||
switch (node->getOp()) {
|
||||
case EOpSequence: out.debug << "Sequence\n"; return true;
|
||||
case EOpScope: out.debug << "Scope\n"; return true;
|
||||
case EOpLinkerObjects: out.debug << "Linker Objects\n"; return true;
|
||||
case EOpComma: out.debug << "Comma"; break;
|
||||
case EOpFunction: out.debug << "Function Definition: " << node->getName(); break;
|
||||
|
|
@ -1109,7 +1112,7 @@ bool TOutputTraverser::visitAggregate(TVisit /* visit */, TIntermAggregate* node
|
|||
default: out.debug.message(EPrefixError, "Bad aggregation op");
|
||||
}
|
||||
|
||||
if (node->getOp() != EOpSequence && node->getOp() != EOpParameters)
|
||||
if (node->getOp() != EOpSequence && node->getOp() != EOpScope && node->getOp() != EOpParameters)
|
||||
out.debug << " (" << node->getCompleteString() << ")";
|
||||
|
||||
out.debug << "\n";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue