Web: Make switched methods all be non-virtual, more web-dependent code,
added a few more HLSL flag tests. This was mostly focused on the SPV generator. Saves about 17K.
This commit is contained in:
parent
d8834df992
commit
b9197c812e
19 changed files with 329 additions and 211 deletions
|
|
@ -1147,6 +1147,7 @@ TIntermTyped* TParseContext::handleFunctionCall(const TSourceLoc& loc, TFunction
|
|||
error(arguments->getLoc(), "Non-L-value cannot be passed for 'out' or 'inout' parameters.", "out", "");
|
||||
}
|
||||
TQualifier& argQualifier = arg->getAsTyped()->getQualifier();
|
||||
#ifndef GLSLANG_WEB
|
||||
if (argQualifier.isMemory()) {
|
||||
const char* message = "argument cannot drop memory qualifier when passed to formal parameter";
|
||||
if (argQualifier.volatil && ! formalQualifier.volatil)
|
||||
|
|
@ -1176,7 +1177,7 @@ TIntermTyped* TParseContext::handleFunctionCall(const TSourceLoc& loc, TFunction
|
|||
argQualifier.getFormat() != ElfNone))
|
||||
error(arguments->getLoc(), "image formats must match", "format", "");
|
||||
}
|
||||
|
||||
#endif
|
||||
if (builtIn && arg->getAsTyped()->getType().contains16BitFloat())
|
||||
requireFloat16Arithmetic(arguments->getLoc(), "built-in function", "float16 types can only be in uniform block or buffer storage");
|
||||
if (builtIn && arg->getAsTyped()->getType().contains16BitInt())
|
||||
|
|
@ -7507,7 +7508,7 @@ void TParseContext::blockQualifierCheck(const TSourceLoc& loc, const TQualifier&
|
|||
error(loc, "cannot use interpolation qualifiers on an interface block", "flat/smooth/noperspective", "");
|
||||
if (qualifier.centroid)
|
||||
error(loc, "cannot use centroid qualifier on an interface block", "centroid", "");
|
||||
if (qualifier.sample)
|
||||
if (qualifier.isSample())
|
||||
error(loc, "cannot use sample qualifier on an interface block", "sample", "");
|
||||
if (qualifier.invariant)
|
||||
error(loc, "cannot use invariant qualifier on an interface block", "invariant", "");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue