/external/angle/src/compiler/translator/tree_util/ |
D | DriverUniform.h | 24 class TIntermBinary; variable 48 TIntermBinary *getViewportRef() const; 49 TIntermBinary *getAbcBufferOffsets() const; 50 TIntermBinary *getXfbActiveUnpaused() const; 51 TIntermBinary *getXfbVerticesPerInstance() const; 52 TIntermBinary *getXfbBufferOffsets() const; 53 TIntermBinary *getClipDistancesEnabled() const; 54 TIntermBinary *getDepthRangeRef() const; 55 TIntermBinary *getDepthRangeReservedFieldRef() const; 56 TIntermBinary *getNumSamplesRef() const; [all …]
|
D | DriverUniform.cpp | 188 TIntermBinary *DriverUniform::createDriverUniformRef(const char *fieldName) const in createDriverUniformRef() 208 return new TIntermBinary(EOpIndexDirectInterfaceBlock, angleUniformsRef, indexRef); in createDriverUniformRef() 210 return new TIntermBinary(EOpIndexDirectStruct, angleUniformsRef, indexRef); in createDriverUniformRef() 213 TIntermBinary *DriverUniform::getViewportRef() const in getViewportRef() 218 TIntermBinary *DriverUniform::getAbcBufferOffsets() const in getAbcBufferOffsets() 223 TIntermBinary *DriverUniform::getXfbActiveUnpaused() const in getXfbActiveUnpaused() 228 TIntermBinary *DriverUniform::getXfbVerticesPerInstance() const in getXfbVerticesPerInstance() 233 TIntermBinary *DriverUniform::getXfbBufferOffsets() const in getXfbBufferOffsets() 238 TIntermBinary *DriverUniform::getClipDistancesEnabled() const in getClipDistancesEnabled() 243 TIntermBinary *DriverUniform::getDepthRangeRef() const in getDepthRangeRef() [all …]
|
D | IntermNodePatternMatcher.h | 18 class TIntermBinary; variable 27 static bool IsDynamicIndexingOfNonSSBOVectorOrMatrix(TIntermBinary *node); 28 static bool IsDynamicIndexingOfVectorOrMatrix(TIntermBinary *node); 29 static bool IsDynamicIndexingOfSwizzledVector(TIntermBinary *node); 63 bool match(TIntermBinary *node, TIntermNode *parentNode) const; 67 bool match(TIntermBinary *node, TIntermNode *parentNode, bool isLValueRequiredHere) const; 76 bool matchInternal(TIntermBinary *node, TIntermNode *parentNode) const;
|
D | ReplaceClipCullDistanceVariable.cpp | 92 bool visitBinary(Visit visit, TIntermBinary *node) override in visitBinary() 201 TIntermBinary *left = in simpleAssignFunc() 202 new TIntermBinary(EOpIndexDirect, leftSymbol->deepCopy(), CreateIndexNode(index)); in simpleAssignFunc() 203 TIntermBinary *right = in simpleAssignFunc() 204 new TIntermBinary(EOpIndexDirect, rightSymbol->deepCopy(), CreateIndexNode(index)); in simpleAssignFunc() 206 return new TIntermBinary(EOpAssign, left, right); in simpleAssignFunc() 220 TIntermBinary *bitwiseAnd = new TIntermBinary(EOpBitwiseAnd, enableFlags->deepCopy(), bitMask); in assignFuncWithEnableFlags() 221 TIntermBinary *nonZero = new TIntermBinary(EOpNotEqual, bitwiseAnd, CreateUIntNode(0)); in assignFuncWithEnableFlags() 223 TIntermBinary *left = in assignFuncWithEnableFlags() 224 new TIntermBinary(EOpIndexDirect, leftSymbol->deepCopy(), CreateIndexNode(index)); in assignFuncWithEnableFlags() [all …]
|
D | ReplaceArrayOfMatrixVarying.cpp | 126 TIntermBinary *tempMatrixIndexed = in ReplaceArrayOfMatrixVarying() 127 new TIntermBinary(EOpIndexDirect, tempReplaceSymbol->deepCopy(), CreateIndexNode(i)); in ReplaceArrayOfMatrixVarying() 131 TIntermBinary *tempMatrixColIndexed = new TIntermBinary( in ReplaceArrayOfMatrixVarying() 133 TIntermBinary *vectorIndexed = in ReplaceArrayOfMatrixVarying() 134 new TIntermBinary(EOpIndexDirect, varyingReplaceSymbol->deepCopy(), in ReplaceArrayOfMatrixVarying() 136 TIntermBinary *assignment; in ReplaceArrayOfMatrixVarying() 139 assignment = new TIntermBinary(EOpAssign, tempMatrixColIndexed, vectorIndexed); in ReplaceArrayOfMatrixVarying() 143 assignment = new TIntermBinary(EOpAssign, vectorIndexed, tempMatrixColIndexed); in ReplaceArrayOfMatrixVarying()
|
D | RewriteSampleMaskVariable.cpp | 65 bool visitBinary(Visit visit, TIntermBinary *node) override in visitBinary() 149 TIntermBinary *equalTo = in RewriteSampleMask() 150 new TIntermBinary(EOpEqual, numSamplesUniform->deepCopy(), singleSampleCount); in RewriteSampleMask() 154 TIntermBinary *sampleMaskVar = new TIntermBinary(EOpIndexDirect, glSampleMaskSymbol->deepCopy(), in RewriteSampleMask() 157 TIntermBinary *assignment = new TIntermBinary(EOpAssign, sampleMaskVar, fullSampleMask); in RewriteSampleMask()
|
D | IntermNodePatternMatcher.cpp | 50 bool IntermNodePatternMatcher::IsDynamicIndexingOfNonSSBOVectorOrMatrix(TIntermBinary *node) in IsDynamicIndexingOfNonSSBOVectorOrMatrix() 56 bool IntermNodePatternMatcher::IsDynamicIndexingOfVectorOrMatrix(TIntermBinary *node) in IsDynamicIndexingOfVectorOrMatrix() 63 bool IntermNodePatternMatcher::IsDynamicIndexingOfSwizzledVector(TIntermBinary *node) in IsDynamicIndexingOfSwizzledVector() 68 bool IntermNodePatternMatcher::matchInternal(TIntermBinary *node, TIntermNode *parentNode) const in matchInternal() 102 bool IntermNodePatternMatcher::match(TIntermBinary *node, TIntermNode *parentNode) const in match() 111 bool IntermNodePatternMatcher::match(TIntermBinary *node, in match() 135 TIntermBinary *parentBinary = parentNode->getAsBinaryNode(); in match()
|
/external/angle/src/compiler/translator/ |
D | TranslatorVulkan.cpp | 224 rotatedXY = new TIntermBinary(EOpMatrixTimesVector, fragRotation, builtinXY); in RotateAndFlipBuiltinVariable() 233 TIntermBinary *removePivot = new TIntermBinary(EOpSub, rotatedXY, pivot); in RotateAndFlipBuiltinVariable() 234 TIntermBinary *inverseXY = new TIntermBinary(EOpMul, removePivot, flipXY); in RotateAndFlipBuiltinVariable() 235 TIntermBinary *plusPivot = new TIntermBinary(EOpAdd, inverseXY, pivot->deepCopy()); in RotateAndFlipBuiltinVariable() 238 TIntermBinary *assignment = in RotateAndFlipBuiltinVariable() 239 new TIntermBinary(EOpAssign, flippedBuiltinRef, builtinRef->deepCopy()); in RotateAndFlipBuiltinVariable() 244 TIntermBinary *assignToY = new TIntermBinary(EOpAssign, correctedXY, plusPivot); in RotateAndFlipBuiltinVariable() 270 TIntermBinary *angleEmulatedDepthRangeRef = driverUniforms->getDepthRangeRef(); in ReplaceGLDepthRangeWithDriverUniform() 311 TIntermBinary *viewportRef = driverUniforms->getViewportRef(); in AddBresenhamEmulationVS() 316 TIntermBinary *noPerspective = new TIntermBinary(EOpDiv, glPosXY, glPosW); in AddBresenhamEmulationVS() [all …]
|
D | TranslatorMetal.cpp | 71 TIntermBinary *inverseY = new TIntermBinary(EOpMul, positionY->deepCopy(), negFlipY); in AppendVertexShaderPositionYCorrectionToMain() 75 TIntermBinary *assignment = new TIntermBinary(TOperator::EOpAssign, positionYLHS, inverseY); in AppendVertexShaderPositionYCorrectionToMain() 146 TIntermBinary *DriverUniformMetal::getHalfRenderAreaRef() const in getHalfRenderAreaRef() 151 TIntermBinary *DriverUniformMetal::getFlipXYRef() const in getFlipXYRef() 156 TIntermBinary *DriverUniformMetal::getNegFlipXYRef() const in getNegFlipXYRef() 164 TIntermBinary *negFlipXY = createDriverUniformRef(kNegFlipXY); in getNegFlipYRef() 170 TIntermBinary *DriverUniformMetal::getCoverageMaskFieldRef() const in getCoverageMaskFieldRef() 266 TIntermBinary *viewportZScale = driverUniforms->getDepthRangeReservedFieldRef(); in transformDepthBeforeCorrection() 269 TIntermBinary *zScale = new TIntermBinary(EOpMul, positionZ->deepCopy(), viewportZScale); in transformDepthBeforeCorrection() 273 TIntermBinary *assignment = new TIntermBinary(TOperator::EOpAssign, positionZLHS, zScale); in transformDepthBeforeCorrection() [all …]
|
D | TranslatorMetalDirect.cpp | 202 TIntermBinary *angleEmulatedDepthRangeRef = driverUniforms->getDepthRangeRef(); in ReplaceGLDepthRangeWithDriverUniform() 237 TIntermBinary *zRotated = new TIntermBinary(EOpMatrixTimesVector, preRotationRef, glPosXY); in AppendPreRotation() 240 TIntermBinary *assignment = in AppendPreRotation() 241 new TIntermBinary(TOperator::EOpAssign, glPosXY->deepCopy(), zRotated); in AppendPreRotation() 283 rotatedXY = new TIntermBinary(EOpMatrixTimesVector, fragRotation, builtinXY); in RotateAndFlipBuiltinVariable() 292 TIntermBinary *removePivot = new TIntermBinary(EOpSub, rotatedXY, pivot); in RotateAndFlipBuiltinVariable() 293 TIntermBinary *inverseXY = new TIntermBinary(EOpMul, removePivot, flipXY); in RotateAndFlipBuiltinVariable() 294 TIntermBinary *plusPivot = new TIntermBinary(EOpAdd, inverseXY, pivot->deepCopy()); in RotateAndFlipBuiltinVariable() 301 TIntermBinary *assignment = new TIntermBinary(EOpInitialize, flippedBuiltinRef, aggregate); in RotateAndFlipBuiltinVariable() 306 TIntermBinary *assignToY = new TIntermBinary(EOpAssign, correctedXY, plusPivot); in RotateAndFlipBuiltinVariable() [all …]
|
D | TranslatorMetal.h | 44 TIntermBinary *getHalfRenderAreaRef() const override; 45 TIntermBinary *getFlipXYRef() const override; 46 TIntermBinary *getNegFlipXYRef() const override; 48 TIntermBinary *getCoverageMaskFieldRef() const;
|
/external/angle/src/compiler/translator/tree_ops/ |
D | RewriteCubeMapSamplersAs2DArray.cpp | 37 return new TIntermBinary( in DerivativeQuotient() 39 new TIntermBinary(EOpSub, new TIntermBinary(EOpMul, du->deepCopy(), v->deepCopy()), in DerivativeQuotient() 40 new TIntermBinary(EOpMul, dv->deepCopy(), u->deepCopy())), in DerivativeQuotient() 41 new TIntermBinary(EOpMul, vRecip->deepCopy(), vRecip->deepCopy())); in DerivativeQuotient() 51 return new TIntermBinary(EOpIndexDirect, array, CreateIndexNode(i)); in IndexDirect() 70 new TIntermUnary(EOpNegative, new TIntermBinary(EOpMul, signX, z->deepCopy()), nullptr); in TransformXMajor() 73 block->appendStatement(new TIntermBinary(EOpAssign, uc->deepCopy(), ucValue)); in TransformXMajor() 74 block->appendStatement(new TIntermBinary(EOpAssign, vc->deepCopy(), vcValue)); in TransformXMajor() 93 duValue = new TIntermBinary(EOpMul, duValue, CreateFloatNode(0.5f)); in TransformDerivativeXMajor() 94 dvValue = new TIntermBinary(EOpMul, dvValue, CreateFloatNode(0.5f)); in TransformDerivativeXMajor() [all …]
|
D | DeclareAndInitBuiltinsForInstancedMultiview.cpp | 54 TIntermBinary *normalizedInstanceID = in InitializeViewIDAndInstanceID() 55 new TIntermBinary(EOpDiv, glInstanceIDAsUint, numberOfViewsUint); in InitializeViewIDAndInstanceID() 64 TIntermBinary *instanceIDInitializer = in InitializeViewIDAndInstanceID() 65 new TIntermBinary(EOpAssign, new TIntermSymbol(instanceID), normalizedInstanceIDAsInt); in InitializeViewIDAndInstanceID() 69 TIntermBinary *normalizedViewID = in InitializeViewIDAndInstanceID() 70 new TIntermBinary(EOpIMod, glInstanceIDAsUint->deepCopy(), numberOfViewsUint->deepCopy()); in InitializeViewIDAndInstanceID() 73 TIntermBinary *viewIDInitializer = in InitializeViewIDAndInstanceID() 74 new TIntermBinary(EOpAssign, new TIntermSymbol(viewID), normalizedViewID); in InitializeViewIDAndInstanceID() 97 new TIntermBinary(EOpAssign, viewportIndexSymbol, viewIDAsInt)); in SelectViewIndexInVertexShader() 103 TIntermBinary *sumOfViewIDAndBaseViewIndex = new TIntermBinary( in SelectViewIndexInVertexShader() [all …]
|
D | RewriteAtomicCounters.cpp | 61 TIntermBinary *uniformBufferOffsetUint = new TIntermBinary( in CreateUniformBufferOffset() 65 TIntermBinary *uniformBufferOffsetShifted = uniformBufferOffsetUint; in CreateUniformBufferOffset() 68 uniformBufferOffsetShifted = new TIntermBinary(EOpBitShiftRight, uniformBufferOffsetUint, in CreateUniformBufferOffset() 73 return new TIntermBinary(EOpBitwiseAnd, uniformBufferOffsetShifted, CreateUIntNode(0xFF)); in CreateUniformBufferOffset() 76 TIntermBinary *CreateAtomicCounterRef(TIntermTyped *atomicCounterExpression, in CreateAtomicCounterRef() 113 TIntermBinary *asBinary = atomicCounterExpression->getAsBinaryNode(); in CreateAtomicCounterRef() 150 index = new TIntermBinary(EOpAdd, index, atomicCounterIndex); in CreateAtomicCounterRef() 154 index = new TIntermBinary(EOpAdd, index, CreateIndexNode(offset)); in CreateAtomicCounterRef() 164 TIntermBinary *countersBlock = in CreateAtomicCounterRef() 165 new TIntermBinary(EOpIndexDirect, atomicCountersRef, CreateIndexNode(binding)); in CreateAtomicCounterRef() [all …]
|
D | RewriteDfdy.cpp | 139 TIntermBinary *halfRotationMat = nullptr; in visitAggregateWithRotation() 142 halfRotationMat = new TIntermBinary(EOpIndexDirect, fragRotation, CreateIndexNode(0)); in visitAggregateWithRotation() 146 halfRotationMat = new TIntermBinary(EOpIndexDirect, fragRotation, CreateIndexNode(1)); in visitAggregateWithRotation() 150 TIntermBinary *rotatedFlipXY = new TIntermBinary(EOpMul, flipXY, halfRotationMat); in visitAggregateWithRotation() 174 TIntermBinary *rotatedFlippedDfdx = new TIntermBinary(multiplyOp, dFdx, multiplierX); in visitAggregateWithRotation() 175 TIntermBinary *rotatedFlippedDfdy = new TIntermBinary(multiplyOp, dFdy, multiplierY); in visitAggregateWithRotation() 178 TIntermBinary *correctedResult = in visitAggregateWithRotation() 179 new TIntermBinary(EOpAdd, rotatedFlippedDfdx, rotatedFlippedDfdy); in visitAggregateWithRotation() 205 flipY = new TIntermBinary(EOpIndexDirect, flipXY, CreateIndexNode(1)); in visitAggregateWithoutRotation() 210 TIntermBinary *correctedDfdy = new TIntermBinary(multiplyOp, newDfdy, flipY); in visitAggregateWithoutRotation()
|
D | RemoveDynamicIndexing.cpp | 29 using DynamicIndexingNodeMatcher = std::function<bool(TIntermBinary *)>; 195 TIntermBinary *indexNode = in GetIndexFunctionDefinition() 196 new TIntermBinary(EOpIndexDirect, baseParam->deepCopy(), CreateIndexNode(i)); in GetIndexFunctionDefinition() 199 TIntermBinary *assignNode = in GetIndexFunctionDefinition() 200 new TIntermBinary(EOpAssign, indexNode, valueParam->deepCopy()); in GetIndexFunctionDefinition() 223 TIntermBinary *cond = in GetIndexFunctionDefinition() 224 new TIntermBinary(EOpLessThan, indexParam->deepCopy(), CreateIntConstantNode(0)); in GetIndexFunctionDefinition() 230 TIntermBinary *indexFirstNode = in GetIndexFunctionDefinition() 231 new TIntermBinary(EOpIndexDirect, baseParam->deepCopy(), CreateIndexNode(0)); in GetIndexFunctionDefinition() 232 TIntermBinary *indexLastNode = in GetIndexFunctionDefinition() [all …]
|
D | InitializeVariables.cpp | 37 TIntermBinary *CreateZeroInitAssignment(const TIntermTyped *initializedNode) in CreateZeroInitAssignment() 40 return new TIntermBinary(EOpAssign, initializedNode->deepCopy(), zero); in CreateZeroInitAssignment() 76 TIntermBinary *element = new TIntermBinary(EOpIndexDirectStruct, in AddStructZeroInitSequence() 94 TIntermBinary *element = in AddArrayZeroInitStatementList() 95 new TIntermBinary(EOpIndexDirect, initializedNode->deepCopy(), CreateIndexNode(i)); in AddArrayZeroInitStatementList() 116 TIntermBinary *indexSmallerThanSize = in AddArrayZeroInitForLoop() 117 new TIntermBinary(EOpLessThan, indexSymbolNode->deepCopy(), arraySizeNode); in AddArrayZeroInitForLoop() 124 TIntermBinary *element = new TIntermBinary(EOpIndexIndirect, initializedNode->deepCopy(), in AddArrayZeroInitForLoop() 193 new TIntermBinary(EOpIndexDirect, initializedSymbol, CreateIndexNode(0)); in InsertInitCode() 262 TIntermBinary *init = in visitDeclaration() [all …]
|
D | EmulateGLFragColorBroadcast.cpp | 47 TIntermBinary *constructGLFragDataNode(int index) const; 48 TIntermBinary *constructGLFragDataAssignNode(int index) const; 56 TIntermBinary *GLFragColorBroadcastTraverser::constructGLFragDataNode(int index) const in constructGLFragDataNode() 62 TIntermBinary *binary = new TIntermBinary(EOpIndexDirect, symbol, indexNode); in constructGLFragDataNode() 66 TIntermBinary *GLFragColorBroadcastTraverser::constructGLFragDataAssignNode(int index) const in constructGLFragDataAssignNode() 71 return new TIntermBinary(EOpAssign, fragDataIndex, fragDataZero); in constructGLFragDataAssignNode()
|
D | ScalarizeVecAndMatConstructorArgs.cpp | 29 TIntermBinary *ConstructVectorIndexBinaryNode(TIntermSymbol *symbolNode, int index) in ConstructVectorIndexBinaryNode() 31 return new TIntermBinary(EOpIndexDirect, symbolNode, CreateIndexNode(index)); in ConstructVectorIndexBinaryNode() 34 TIntermBinary *ConstructMatrixIndexBinaryNode(TIntermSymbol *symbolNode, int colIndex, int rowIndex) in ConstructMatrixIndexBinaryNode() 36 TIntermBinary *colVectorNode = ConstructVectorIndexBinaryNode(symbolNode, colIndex); in ConstructMatrixIndexBinaryNode() 38 return new TIntermBinary(EOpIndexDirect, colVectorNode, CreateIndexNode(rowIndex)); in ConstructMatrixIndexBinaryNode() 147 TIntermBinary *newNode = ConstructVectorIndexBinaryNode(symbolNode, index); in scalarizeArgs() 169 TIntermBinary *newNode = in scalarizeArgs()
|
/external/angle/src/compiler/translator/tree_ops/gl/ |
D | VectorizeVectorScalarArithmetic.cpp | 41 bool visitBinary(Visit visit, TIntermBinary *node) override; 47 void replaceMathInsideConstructor(TIntermAggregate *node, TIntermBinary *argBinary); 49 const TIntermBinary *argBinary); 85 bool VectorizeVectorScalarArithmeticTraverser::visitBinary(Visit /*visit*/, TIntermBinary *node) in visitBinary() 132 TIntermBinary *argBinary) in replaceMathInsideConstructor() 151 TIntermBinary *newArg = new TIntermBinary(argBinary->getOp(), leftVectorized, rightVectorized); in replaceMathInsideConstructor() 157 const TIntermBinary *argBinary) in replaceAssignInsideConstructor() 190 TIntermBinary *replacementCompoundAssignment = new TIntermBinary( in replaceAssignInsideConstructor() 199 TIntermBinary *replacementAssignBackToTarget = in replaceAssignInsideConstructor() 200 new TIntermBinary(EOpAssign, left->deepCopy(), tempAssignmentTargetX); in replaceAssignInsideConstructor() [all …]
|
D | UseInterfaceBlockFields.cpp | 32 TIntermBinary *element = in AddNodeUseStatements() 33 new TIntermBinary(EOpIndexDirect, node->deepCopy(), CreateIndexNode(i)); in AddNodeUseStatements() 56 TIntermBinary *element = new TIntermBinary(EOpIndexDirectInterfaceBlock, in InsertUseCode() 81 TIntermBinary *elementSymbol = in InsertUseCode() 82 new TIntermBinary(EOpIndexDirect, arraySymbol->deepCopy(), CreateIndexNode(i)); in InsertUseCode()
|
D | RewriteRepeatedAssignToSwizzled.cpp | 35 bool visitBinary(Visit, TIntermBinary *node) override; 70 bool RewriteAssignToSwizzledTraverser::visitBinary(Visit, TIntermBinary *node) in visitBinary() 72 TIntermBinary *rightBinary = node->getRight()->getAsBinaryNode(); in visitBinary() 80 TIntermBinary *lastAssign = in visitBinary() 81 new TIntermBinary(EOpAssign, node->getLeft(), rightAssignmentTargetCopy); in visitBinary()
|
/external/angle/src/compiler/translator/tree_ops/d3d/ |
D | RewriteExpressionsWithShaderStorageBlock.cpp | 122 bool visitBinary(Visit, TIntermBinary *node) override; 151 TIntermBinary *node) in visitBinary() 195 TIntermBinary *tempCompoundOperate = in visitBinary() 196 new TIntermBinary(node->getOp(), tempSymbol->deepCopy(), rightNode->deepCopy()); in visitBinary() 200 TIntermBinary *assignTempValueToSSBO = in visitBinary() 201 new TIntermBinary(EOpAssign, node->getLeft(), tempSymbol->deepCopy()); in visitBinary() 207 TIntermBinary *compoundAssignRValueToLValue = in visitBinary() 208 new TIntermBinary(node->getOp(), node->getLeft(), rightNode->deepCopy()); in visitBinary() 236 TIntermBinary *newExpr = in visitBinary() 237 new TIntermBinary(node->getOp(), leftNode->deepCopy(), rightNode->deepCopy()); in visitBinary() [all …]
|
D | SeparateExpressionsReturningArrays.cpp | 30 bool visitBinary(Visit visit, TIntermBinary *node) override; 53 TIntermBinary *CopyAssignmentNode(TIntermBinary *node) in CopyAssignmentNode() 55 return new TIntermBinary(node->getOp(), node->getLeft(), node->getRight()); in CopyAssignmentNode() 58 bool SeparateExpressionsTraverser::visitBinary(Visit visit, TIntermBinary *node) in visitBinary()
|
/external/angle/src/compiler/translator/tree_ops/vulkan/ |
D | RewriteArrayOfArrayOfOpaqueUniforms.cpp | 50 TIntermBinary *node, 64 bool visitBinary(Visit visit, TIntermBinary *node) override in visitBinary() 124 TIntermBinary *node, in RewriteArrayOfArraySubscriptExpression() 136 TIntermBinary *iter = node; in RewriteArrayOfArraySubscriptExpression() 186 new TIntermBinary(EOpMul, indexExpression, CreateIndexNode(subArraySize)); in RewriteArrayOfArraySubscriptExpression() 195 variableIndex = new TIntermBinary(EOpAdd, variableIndex, indexExpression); in RewriteArrayOfArraySubscriptExpression() 222 index = new TIntermBinary(EOpAdd, index, variableIndex); in RewriteArrayOfArraySubscriptExpression() 228 return new TIntermBinary(op, new TIntermSymbol(data.flattened), index); in RewriteArrayOfArraySubscriptExpression() 314 bool visitBinary(Visit visit, TIntermBinary *node) override in visitBinary()
|