Lines Matching refs:baseExpression
4635 TIntermTyped *TParseContext::addIndexExpression(TIntermTyped *baseExpression, in addIndexExpression() argument
4639 if (!baseExpression->isArray() && !baseExpression->isMatrix() && !baseExpression->isVector()) in addIndexExpression()
4641 if (baseExpression->getAsSymbolNode()) in addIndexExpression()
4644 baseExpression->getAsSymbolNode()->getName()); in addIndexExpression()
4654 if (baseExpression->getQualifier() == EvqPerVertexIn) in addIndexExpression()
4677 if (baseExpression->isInterfaceBlock()) in addIndexExpression()
4679 switch (baseExpression->getQualifier()) in addIndexExpression()
4700 if (!IsShaderIoBlock(baseExpression->getQualifier()) && in addIndexExpression()
4701 baseExpression->getQualifier() != EvqPatchIn && in addIndexExpression()
4702 baseExpression->getQualifier() != EvqPatchOut) in addIndexExpression()
4710 else if (baseExpression->getQualifier() == EvqFragmentOut) in addIndexExpression()
4715 else if (mShaderSpec == SH_WEBGL2_SPEC && baseExpression->getQualifier() == EvqFragData) in addIndexExpression()
4719 else if (baseExpression->isArray()) in addIndexExpression()
4721 TBasicType elementType = baseExpression->getType().getBasicType(); in addIndexExpression()
4772 if (!baseExpression->getType().isUnsizedArray()) in addIndexExpression()
4774 if (baseExpression->isArray()) in addIndexExpression()
4776 if (baseExpression->getQualifier() == EvqFragData && index > 0) in addIndexExpression()
4791 if (baseExpression->isArray()) in addIndexExpression()
4794 baseExpression->getOutermostArraySize(), in addIndexExpression()
4797 else if (baseExpression->isMatrix()) in addIndexExpression()
4800 baseExpression->getType().getCols(), in addIndexExpression()
4805 ASSERT(baseExpression->isVector()); in addIndexExpression()
4807 baseExpression->getType().getNominalSize(), in addIndexExpression()
4826 new TIntermBinary(EOpIndexDirect, baseExpression, indexExpression); in addIndexExpression()
4833 TIntermBinary *node = new TIntermBinary(EOpIndexIndirect, baseExpression, indexExpression); in addIndexExpression()
4860 TIntermTyped *TParseContext::addFieldSelectionExpression(TIntermTyped *baseExpression, in addFieldSelectionExpression() argument
4865 if (baseExpression->isArray()) in addFieldSelectionExpression()
4868 return baseExpression; in addFieldSelectionExpression()
4871 if (baseExpression->isVector()) in addFieldSelectionExpression()
4874 if (!parseVectorFields(fieldLocation, fieldString, baseExpression->getNominalSize(), in addFieldSelectionExpression()
4880 TIntermSwizzle *node = new TIntermSwizzle(baseExpression, fieldOffsets); in addFieldSelectionExpression()
4885 else if (baseExpression->getBasicType() == EbtStruct) in addFieldSelectionExpression()
4887 const TFieldList &fields = baseExpression->getType().getStruct()->fields(); in addFieldSelectionExpression()
4891 return baseExpression; in addFieldSelectionExpression()
4910 new TIntermBinary(EOpIndexDirectStruct, baseExpression, index); in addFieldSelectionExpression()
4917 return baseExpression; in addFieldSelectionExpression()
4921 else if (baseExpression->isInterfaceBlock()) in addFieldSelectionExpression()
4923 const TFieldList &fields = baseExpression->getType().getInterfaceBlock()->fields(); in addFieldSelectionExpression()
4927 return baseExpression; in addFieldSelectionExpression()
4946 new TIntermBinary(EOpIndexDirectInterfaceBlock, baseExpression, index); in addFieldSelectionExpression()
4954 return baseExpression; in addFieldSelectionExpression()
4972 return baseExpression; in addFieldSelectionExpression()