Home
last modified time | relevance | path

Searched refs:TIntermBinary (Results 1 – 25 of 154) sorted by relevance

1234567

/external/angle/src/compiler/translator/tree_util/
DDriverUniform.h24 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 …]
DDriverUniform.cpp188 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 …]
DIntermNodePatternMatcher.h18 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;
DReplaceClipCullDistanceVariable.cpp92 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 …]
DReplaceArrayOfMatrixVarying.cpp126 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()
DRewriteSampleMaskVariable.cpp65 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()
DIntermNodePatternMatcher.cpp50 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/
DTranslatorVulkan.cpp224 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 …]
DTranslatorMetal.cpp71 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 …]
DTranslatorMetalDirect.cpp202 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 …]
DTranslatorMetal.h44 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/
DRewriteCubeMapSamplersAs2DArray.cpp37 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 …]
DDeclareAndInitBuiltinsForInstancedMultiview.cpp54 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 …]
DRewriteAtomicCounters.cpp61 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 …]
DRewriteDfdy.cpp139 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()
DRemoveDynamicIndexing.cpp29 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 …]
DInitializeVariables.cpp37 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 …]
DEmulateGLFragColorBroadcast.cpp47 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()
DScalarizeVecAndMatConstructorArgs.cpp29 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/
DVectorizeVectorScalarArithmetic.cpp41 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 …]
DUseInterfaceBlockFields.cpp32 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()
DRewriteRepeatedAssignToSwizzled.cpp35 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/
DRewriteExpressionsWithShaderStorageBlock.cpp122 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 …]
DSeparateExpressionsReturningArrays.cpp30 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/
DRewriteArrayOfArrayOfOpaqueUniforms.cpp50 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()

1234567