This is to be executed after the final root is put on top by the parsing process.
| 2730 | // process. |
| 2731 | // |
| 2732 | bool 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 | |
| 2759 | void TIntermediate::addSymbolLinkageNodes(TIntermAggregate*& linkage, EShLanguage language, TSymbolTable& symbolTable) |
| 2760 | { |
no test coverage detected