Establish desktop completeness through version 1.50. (gl_MaxVaryingFloats, implicit-cconversion safety, cube-sampler-array fix, add tests)

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26253 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2014-04-14 22:08:16 +00:00
parent 447c65c978
commit e96ee859a8
15 changed files with 246 additions and 36 deletions

View file

@ -368,7 +368,7 @@ TIntermTyped* TIntermediate::setAggregateOperator(TIntermNode* node, TOperator o
}
//
// Convert the node's type to the given type, as allowed by the operation involved 'op'.
// Convert the node's type to the given type, as allowed by the operation involved: 'op'.
// For implicit conversions, 'op' is not the requested conversion, it is the explicit
// operation requiring the implicit conversion.
//
@ -384,9 +384,13 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt
//
switch (node->getBasicType()) {
case EbtVoid:
case EbtSampler:
return 0;
default: break;
case EbtSampler:
if (op != EOpFunctionCall)
return 0;
break;
default:
break;
}
//
@ -450,6 +454,7 @@ TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TInt
case EOpMatrixTimesVector:
case EOpMatrixTimesScalar:
case EOpFunctionCall:
case EOpAssign:
case EOpAddAssign:
case EOpSubAssign: