GLSL: Inherit memory qualifiers, both declaratively and in execution.
Fixes #1870, probably others.
This commit is contained in:
parent
28f314d436
commit
9a5689f632
11 changed files with 371 additions and 89 deletions
|
|
@ -539,20 +539,6 @@ public:
|
|||
writeonly = false;
|
||||
}
|
||||
|
||||
// Drop just the storage qualification, which perhaps should
|
||||
// never be done, as it is fundamentally inconsistent, but need to
|
||||
// explore what downstream consumers need.
|
||||
// E.g., in a dereference, it is an inconsistency between:
|
||||
// A) partially dereferenced resource is still in the storage class it started in
|
||||
// B) partially dereferenced resource is a new temporary object
|
||||
// If A, then nothing should change, if B, then everything should change, but this is half way.
|
||||
void makePartialTemporary()
|
||||
{
|
||||
storage = EvqTemporary;
|
||||
specConstant = false;
|
||||
nonUniform = false;
|
||||
}
|
||||
|
||||
const char* semanticName;
|
||||
TStorageQualifier storage : 6;
|
||||
TBuiltInVariable builtIn : 9;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue