diff options
author | Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> | 2021-01-27 00:30:59 -0800 |
---|---|---|
committer | Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> | 2021-01-28 14:11:24 -0800 |
commit | a38df83d3ec985d2fd569a29aac69c074083b4b6 (patch) | |
tree | 22b850c6787703009969e6c50910cd0ba4b3cbf6 /glslang/MachineIndependent/localintermediate.h | |
parent | f7c43377f095b96cec8b374ef04120c4b86864f6 (diff) | |
download | glslang-a38df83d3ec985d2fd569a29aac69c074083b4b6.tar.gz |
Consider GL_EXT_scalar_block_layout when validating SPIR-V
If GL_EXT_scalar_block_layout is requested by the shader, set the
option to allow scalar blocks in the SPIR-V validator.
Fix the existing tests using scalar layout to not expect "Validation
failed".
Fixes #2400.
Diffstat (limited to 'glslang/MachineIndependent/localintermediate.h')
-rw-r--r-- | glslang/MachineIndependent/localintermediate.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h index f8d8e801..d581959d 100644 --- a/glslang/MachineIndependent/localintermediate.h +++ b/glslang/MachineIndependent/localintermediate.h @@ -858,6 +858,14 @@ public: bool usingHlslIoMapping() { return false; } #endif + bool usingScalarBlockLayout() const { + for (auto extIt = requestedExtensions.begin(); extIt != requestedExtensions.end(); ++extIt) { + if (*extIt == E_GL_EXT_scalar_block_layout) + return true; + } + return false; + }; + void addToCallGraph(TInfoSink&, const TString& caller, const TString& callee); void merge(TInfoSink&, TIntermediate&); void finalCheck(TInfoSink&, bool keepUncalled); |