Add support for pragma STDGL invariant(all)

Fixes #2689
This commit is contained in:
Greg Fischer 2021-07-29 14:58:10 -06:00
parent 4b7b86d568
commit 715f5c6cf1
7 changed files with 111 additions and 1 deletions

View file

@ -291,6 +291,7 @@ public:
numEntryPoints(0), numErrors(0), numPushConstants(0), recursive(false),
invertY(false),
useStorageBuffer(false),
invariantAll(false),
nanMinMaxClamp(false),
depthReplacing(false),
uniqueId(0),
@ -560,6 +561,8 @@ public:
void setUseStorageBuffer() { useStorageBuffer = true; }
bool usingStorageBuffer() const { return useStorageBuffer; }
void setInvariantAll() { invariantAll = true; }
bool isInvariantAll() const { return invariantAll; }
void setDepthReplacing() { depthReplacing = true; }
bool isDepthReplacing() const { return depthReplacing; }
bool setLocalSize(int dim, int size)
@ -1063,6 +1066,7 @@ protected:
bool recursive;
bool invertY;
bool useStorageBuffer;
bool invariantAll;
bool nanMinMaxClamp; // true if desiring min/max/clamp to favor non-NaN over NaN
bool depthReplacing;
int localSize[3];