Error message: Finish addressing #2097, better texture error message.

This commit is contained in:
John Kessenich 2020-04-07 02:18:23 -06:00
parent b5757b9500
commit 9c3204a1fd
2 changed files with 11 additions and 10 deletions

View File

@ -7,14 +7,14 @@ ERROR: 0:8: 'binding' : sampler/texture/image requires layout(binding=X)
ERROR: 0:9: 'binding' : sampler/texture/image requires layout(binding=X)
ERROR: 0:10: 'binding' : sampler/texture/image requires layout(binding=X)
ERROR: 0:14: 'sampler2D' : sampler-constructor requires two arguments
ERROR: 0:15: 'sampler2D' : sampler-constructor first argument must be a scalar textureXXX type
ERROR: 0:16: 'sampler2D' : sampler-constructor first argument must be a scalar textureXXX type
ERROR: 0:17: 'sampler2D' : sampler-constructor second argument must be a scalar type 'sampler'
ERROR: 0:18: 'sampler2D' : sampler-constructor second argument must be a scalar type 'sampler'
ERROR: 0:19: 'sampler2D' : sampler-constructor second argument must be a scalar type 'sampler'
ERROR: 0:15: 'sampler2D' : sampler-constructor first argument must be a scalar *texture* type
ERROR: 0:16: 'sampler2D' : sampler-constructor first argument must be a scalar *texture* type
ERROR: 0:17: 'sampler2D' : sampler-constructor second argument must be a scalar sampler or samplerShadow
ERROR: 0:18: 'sampler2D' : sampler-constructor second argument must be a scalar sampler or samplerShadow
ERROR: 0:19: 'sampler2D' : sampler-constructor second argument must be a scalar sampler or samplerShadow
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:22: 'sampler2D' : sampler-constructor first argument must be a scalar *texture* type
ERROR: 0:23: 'sampler2D' : sampler-constructor first argument must be a *texture* type matching the dimensionality and sampled type of the constructor
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

View File

@ -3152,7 +3152,7 @@ bool TParseContext::constructorTextureSamplerError(const TSourceLoc& loc, const
if (function[0].type->getBasicType() != EbtSampler ||
! function[0].type->getSampler().isTexture() ||
function[0].type->isArray()) {
error(loc, "sampler-constructor first argument must be a scalar textureXXX type", token, "");
error(loc, "sampler-constructor first argument must be a scalar *texture* type", token, "");
return true;
}
// simulate the first argument's impact on the result type, so it can be compared with the encapsulated operator!=()
@ -3160,7 +3160,8 @@ bool TParseContext::constructorTextureSamplerError(const TSourceLoc& loc, const
texture.setCombined(false);
texture.shadow = false;
if (texture != function[0].type->getSampler()) {
error(loc, "sampler-constructor first argument must match type and dimensionality of constructor type", token, "");
error(loc, "sampler-constructor first argument must be a *texture* type"
" matching the dimensionality and sampled type of the constructor", token, "");
return true;
}
@ -3170,7 +3171,7 @@ bool TParseContext::constructorTextureSamplerError(const TSourceLoc& loc, const
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, "");
error(loc, "sampler-constructor second argument must be a scalar sampler or samplerShadow", token, "");
return true;
}