GLSL: No more restrictions on (non)shadow sampler construction.
Match https://github.com/KhronosGroup/GLSL/pull/22
This commit is contained in:
parent
62faea79d7
commit
e161cc11f7
@ -15,7 +15,6 @@ ERROR: 0:19: 'sampler2D' : sampler-constructor second argument must be a scalar
|
||||
ERROR: 0:21: 'sampler3D' : sampler-constructor cannot make an array of samplers
|
||||
ERROR: 0:22: 'sampler2D' : sampler-constructor first argument must be a scalar textureXXX type
|
||||
ERROR: 0:23: 'sampler2D' : sampler-constructor first argument must match type and dimensionality of constructor type
|
||||
ERROR: 0:24: 'sampler2D' : sampler-constructor second argument presence of shadow must match constructor presence of shadow
|
||||
ERROR: 0:28: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: s2D
|
||||
ERROR: 0:29: 'sampler3D' : sampler-constructor cannot make an array of samplers
|
||||
ERROR: 0:29: 'sampler3D' : sampler/image types can only be used in uniform variables or function parameters: s3d
|
||||
@ -55,7 +54,7 @@ ERROR: 0:101: 'noise1' : no matching overloaded function found
|
||||
ERROR: 0:102: 'noise2' : no matching overloaded function found
|
||||
ERROR: 0:103: 'noise3' : no matching overloaded function found
|
||||
ERROR: 0:104: 'noise4' : no matching overloaded function found
|
||||
ERROR: 54 compilation errors. No code generated.
|
||||
ERROR: 53 compilation errors. No code generated.
|
||||
|
||||
|
||||
ERROR: Linking fragment stage: Only one push_constant block is allowed per stage
|
||||
|
@ -21,7 +21,7 @@ void badConst()
|
||||
sampler3D[4](t3d5, sA[2]); // ERROR, can't make array
|
||||
sampler2D(i2d, s); // ERROR, image instead of texture
|
||||
sampler2D(t3d[1], s); // ERROR, 3D not 2D
|
||||
sampler2D(t2d, sShadow); // ERROR, shadow mismatch
|
||||
sampler2D(t2d, sShadow);
|
||||
sampler2DShadow(t2d, s);
|
||||
}
|
||||
|
||||
|
@ -2655,19 +2655,12 @@ bool TParseContext::constructorTextureSamplerError(const TSourceLoc& loc, const
|
||||
// second argument
|
||||
// * the constructor's second argument must be a scalar of type
|
||||
// *sampler* or *samplerShadow*
|
||||
// * if the second argument is *samplerShadow* the constructor must be a
|
||||
// shadow constructor (however, shadow constructors are allowed to have
|
||||
// a second argument of *sampler*)
|
||||
if ( function[1].type->getBasicType() != EbtSampler ||
|
||||
! function[1].type->getSampler().isPureSampler() ||
|
||||
function[1].type->isArray()) {
|
||||
error(loc, "sampler-constructor second argument must be a scalar type 'sampler'", token, "");
|
||||
return true;
|
||||
}
|
||||
if (!function.getType().getSampler().shadow && function[1].type->getSampler().shadow) {
|
||||
error(loc, "sampler-constructor second argument presence of shadow must match constructor presence of shadow", token, "");
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user