Lines Matching defs:operand

2778 	sw::Shader::ParameterType OutputASM::registerType(TIntermTyped *operand)
2780 if(isSamplerRegister(operand))
2785 const TQualifier qualifier = operand->getQualifier();
2791 mContext.error(operand->getLine(), "static assignment to both gl_FragData and gl_FragColor", "");
2796 if(qualifier == EvqConstExpr && (!operand->getAsConstantUnion() || !operand->getAsConstantUnion()->getUnionArrayPointer()))
2799 if(operand->isArray() && operand->getArraySize() > 1)
2850 bool OutputASM::hasFlatQualifier(TIntermTyped *operand)
2852 const TQualifier qualifier = operand->getQualifier();
2856 unsigned int OutputASM::registerIndex(TIntermTyped *operand)
2858 if(isSamplerRegister(operand))
2860 return samplerRegister(operand);
2863 switch(operand->getQualifier())
2865 case EvqTemporary: return temporaryRegister(operand);
2866 case EvqGlobal: return temporaryRegister(operand);
2867 case EvqConstExpr: return temporaryRegister(operand); // Unevaluated constant expression
2868 case EvqAttribute: return attributeRegister(operand);
2869 case EvqVaryingIn: return varyingRegister(operand);
2870 case EvqVaryingOut: return varyingRegister(operand);
2871 case EvqVertexIn: return attributeRegister(operand);
2872 case EvqFragmentOut: return fragmentOutputRegister(operand);
2873 case EvqVertexOut: return varyingRegister(operand);
2874 case EvqFragmentIn: return varyingRegister(operand);
2875 case EvqInvariantVaryingIn: return varyingRegister(operand);
2876 case EvqInvariantVaryingOut: return varyingRegister(operand);
2877 case EvqSmooth: return varyingRegister(operand);
2878 case EvqFlat: return varyingRegister(operand);
2879 case EvqCentroidOut: return varyingRegister(operand);
2880 case EvqSmoothIn: return varyingRegister(operand);
2881 case EvqFlatIn: return varyingRegister(operand);
2882 case EvqCentroidIn: return varyingRegister(operand);
2883 case EvqUniform: return uniformRegister(operand);
2884 case EvqIn: return temporaryRegister(operand);
2885 case EvqOut: return temporaryRegister(operand);
2886 case EvqInOut: return temporaryRegister(operand);
2887 case EvqConstReadOnly: return temporaryRegister(operand);
2888 case EvqPosition: return varyingRegister(operand);
2889 case EvqPointSize: return varyingRegister(operand);
2894 case EvqPointCoord: return varyingRegister(operand);
2896 case EvqFragData: return fragmentOutputRegister(operand);
2898 default: UNREACHABLE(operand->getQualifier());
3406 bool OutputASM::isSamplerRegister(TIntermTyped *operand)
3408 return operand && IsSampler(operand->getBasicType()) && samplerRegister(operand) >= 0;