Commit fe2ed33a by Shahbaz Youssefi Committed by Commit Bot

Translator: Output memory qualifiers in OutputTree

Bug: angleproject:3602 Change-Id: I673d8080be874bea0a73a89f7499b652549c2f3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1976498Reviewed-by: 's avatarTobin Ehlis <tobine@google.com> Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
parent fbe6c1d2
......@@ -48,6 +48,29 @@ TInfoSinkBase &TInfoSinkBase::operator<<(const TType &type)
sink.append(type.getPrecisionString());
sink.append(" ");
}
const TMemoryQualifier &memoryQualifier = type.getMemoryQualifier();
if (memoryQualifier.readonly)
{
sink.append("readonly ");
}
if (memoryQualifier.writeonly)
{
sink.append("writeonly ");
}
if (memoryQualifier.coherent)
{
sink.append("coherent ");
}
if (memoryQualifier.restrictQualifier)
{
sink.append("restrict ");
}
if (memoryQualifier.volatileQualifier)
{
sink.append("volatile ");
}
if (type.isArray())
{
for (auto arraySizeIter = type.getArraySizes()->rbegin();
......
......@@ -385,7 +385,7 @@ void TOutputTraverser::visitFunctionPrototype(TIntermFunctionPrototype *node)
{
const TVariable *param = node->getFunction()->getParam(i);
OutputTreeText(mOut, node, getCurrentIndentDepth() + 1);
mOut << "parameter: " << param->name() << " (" << param->getType() << ")";
mOut << "parameter: " << param->name() << " (" << param->getType() << ")\n";
}
}
......@@ -405,7 +405,7 @@ bool TOutputTraverser::visitAggregate(Visit visit, TIntermAggregate *node)
switch (node->getOp())
{
case EOpCallFunctionInAST:
OutputFunction(mOut, "Call an user-defined function", node->getFunction());
OutputFunction(mOut, "Call a user-defined function", node->getFunction());
break;
case EOpCallInternalRawFunction:
OutputFunction(mOut, "Call an internal function with raw implementation",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment