MCPcopy Create free account
hub / github.com/KhronosGroup/glslang / postProcess

Method postProcess

glslang/MachineIndependent/Intermediate.cpp:2732–2757  ·  view source on GitHub ↗

This is to be executed after the final root is put on top by the parsing process.

Source from the content-addressed store, hash-verified

2730// process.
2731//
2732bool TIntermediate::postProcess(TIntermNode* root, EShLanguage /*language*/)
2733{
2734 if (root == nullptr)
2735 return true;
2736
2737 // Finish off the top-level sequence
2738 TIntermAggregate* aggRoot = root->getAsAggregate();
2739 if (aggRoot && aggRoot->getOp() == EOpNull)
2740 aggRoot->setOperator(EOpSequence);
2741
2742 // Propagate 'noContraction' label in backward from 'precise' variables.
2743 glslang::PropagateNoContraction(*this);
2744
2745 switch (textureSamplerTransformMode) {
2746 case EShTexSampTransKeep:
2747 break;
2748 case EShTexSampTransUpgradeTextureRemoveSampler:
2749 performTextureUpgradeAndSamplerRemovalTransformation(root);
2750 break;
2751 case EShTexSampTransCount:
2752 assert(0);
2753 break;
2754 }
2755
2756 return true;
2757}
2758
2759void TIntermediate::addSymbolLinkageNodes(TIntermAggregate*& linkage, EShLanguage language, TSymbolTable& symbolTable)
2760{

Callers 1

operator()Method · 0.45

Calls 4

PropagateNoContractionFunction · 0.85
getOpMethod · 0.80
setOperatorMethod · 0.80
getAsAggregateMethod · 0.45

Tested by

no test coverage detected