aboutsummaryrefslogtreecommitdiff
path: root/glslang/MachineIndependent/localintermediate.h
diff options
context:
space:
mode:
authorCaio Marcelo de Oliveira Filho <caio.oliveira@intel.com>2021-01-27 00:30:59 -0800
committerCaio Marcelo de Oliveira Filho <caio.oliveira@intel.com>2021-01-28 14:11:24 -0800
commita38df83d3ec985d2fd569a29aac69c074083b4b6 (patch)
tree22b850c6787703009969e6c50910cd0ba4b3cbf6 /glslang/MachineIndependent/localintermediate.h
parentf7c43377f095b96cec8b374ef04120c4b86864f6 (diff)
downloadglslang-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.h8
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);