Flatten all interface variables (#2217)
Specifically, add flattening of arrayed io for geometry and tesselation shaders. Previously some interface structs just had builtins split out which caused some interfaces to not be exactly the same as that of flattened adjacent stages, affecting validation and correctness. This obviates builtin splitting. That will be removed in a followup commit. It was left in for this commit to better exhibit the functional changes that were made. Fixes #1660.
This commit is contained in:
parent
1a906168cd
commit
7c753a7253
17 changed files with 3325 additions and 1561 deletions
|
|
@ -276,7 +276,7 @@ protected:
|
|||
|
||||
void fixBuiltInIoType(TType&);
|
||||
|
||||
void flatten(const TVariable& variable, bool linkage);
|
||||
void flatten(const TVariable& variable, bool linkage, bool arrayed = false);
|
||||
int flatten(const TVariable& variable, const TType&, TFlattenData&, TString name, bool linkage,
|
||||
const TQualifier& outerQualifier, const TArraySizes* builtInArraySizes);
|
||||
int flattenStruct(const TVariable& variable, const TType&, TFlattenData&, TString name, bool linkage,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue