Non-functional: HLSL: Simplify I/O logic for splitting.
This commit is contained in:
parent
4cf5266042
commit
6042eb475b
2 changed files with 36 additions and 55 deletions
|
|
@ -1370,15 +1370,12 @@ public:
|
|||
virtual bool isImage() const { return basicType == EbtSampler && getSampler().isImage(); }
|
||||
virtual bool isSubpass() const { return basicType == EbtSampler && getSampler().isSubpass(); }
|
||||
|
||||
virtual bool isBuiltInInterstageIO(EShLanguage language) const
|
||||
{
|
||||
return isPerVertexAndBuiltIn(language) || isLooseAndBuiltIn(language);
|
||||
}
|
||||
virtual bool isBuiltIn() const { return getQualifier().builtIn != EbvNone; }
|
||||
|
||||
// Return true if this is an interstage IO builtin
|
||||
virtual bool isPerVertexAndBuiltIn(EShLanguage language) const
|
||||
// Return true if this is a per-vertex built-in
|
||||
virtual bool isPerVertexBuiltIn(EShLanguage language) const
|
||||
{
|
||||
if (language == EShLangFragment)
|
||||
if (getQualifier().builtIn == EbvNone || language == EShLangFragment)
|
||||
return false;
|
||||
|
||||
// Any non-fragment stage
|
||||
|
|
@ -1401,15 +1398,6 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
// Return true if this is a loose builtin
|
||||
virtual bool isLooseAndBuiltIn(EShLanguage language) const
|
||||
{
|
||||
if (getQualifier().builtIn == EbvNone)
|
||||
return false;
|
||||
|
||||
return !isPerVertexAndBuiltIn(language);
|
||||
}
|
||||
|
||||
// return true if this type contains any subtype which satisfies the given predicate.
|
||||
template <typename P>
|
||||
bool contains(P predicate) const
|
||||
|
|
@ -1451,10 +1439,10 @@ public:
|
|||
return contains([](const TType* t) { return t->isOpaque(); } );
|
||||
}
|
||||
|
||||
// Recursively checks if the type contains an interstage IO builtin
|
||||
virtual bool containsBuiltInInterstageIO(EShLanguage language) const
|
||||
// Recursively checks if the type contains a built-in variable
|
||||
virtual bool containsBuiltIn() const
|
||||
{
|
||||
return contains([language](const TType* t) { return t->isBuiltInInterstageIO(language); } );
|
||||
return contains([](const TType* t) { return t->isBuiltIn(); } );
|
||||
}
|
||||
|
||||
virtual bool containsNonOpaque() const
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue