diff options
Diffstat (limited to 'source')
| -rw-r--r-- | source/slang-glslang/slang-glslang.cpp | 2 | ||||
| -rw-r--r-- | source/slang/slang-compiler-options.cpp | 1 | ||||
| -rw-r--r-- | source/slang/slang.cpp | 33 |
3 files changed, 21 insertions, 15 deletions
diff --git a/source/slang-glslang/slang-glslang.cpp b/source/slang-glslang/slang-glslang.cpp index 8d9f64fd5..e830fb15a 100644 --- a/source/slang-glslang/slang-glslang.cpp +++ b/source/slang-glslang/slang-glslang.cpp @@ -172,7 +172,7 @@ extern "C" #endif bool glslang_validateSPIRV(const uint32_t* contents, int contentsSize) { - spv_target_env target_env = SPV_ENV_VULKAN_1_3; + spv_target_env target_env = SPV_ENV_UNIVERSAL_1_6; spvtools::ValidatorOptions options; options.SetScalarBlockLayout(true); diff --git a/source/slang/slang-compiler-options.cpp b/source/slang/slang-compiler-options.cpp index 84b0b4a6d..ca8397f3e 100644 --- a/source/slang/slang-compiler-options.cpp +++ b/source/slang/slang-compiler-options.cpp @@ -155,6 +155,7 @@ void CompilerOptionSet::writeCommandLineArgs(Session* globalSession, StringBuild case CompilerOptionName::DisableDynamicDispatch: case CompilerOptionName::DisableSpecialization: case CompilerOptionName::DumpIntermediates: + case CompilerOptionName::SkipSPIRVValidation: if (option.value.getCount() && option.value[0].intValue != 0) sb << " " << name; break; diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp index 99457647d..df07a7637 100644 --- a/source/slang/slang.cpp +++ b/source/slang/slang.cpp @@ -873,6 +873,11 @@ Session::createSession(slang::SessionDesc const& inDesc, slang::ISession** outSe RefPtr<Linkage> linkage = new Linkage(this, astBuilder, getBuiltinLinkage()); + if (desc.skipSPIRVValidation) + { + linkage->m_optionSet.set(CompilerOptionName::SkipSPIRVValidation, true); + } + { std::lock_guard<std::mutex> lock(m_typeCheckingCacheMutex); if (m_typeCheckingCache) @@ -1468,17 +1473,17 @@ void Linkage::addTarget(slang::TargetDesc const& desc) } #if 0 -SLANG_NO_THROW SlangInt SLANG_MCALL Linkage::getTargetCount() -{ - return targets.getCount(); -} + SLANG_NO_THROW SlangInt SLANG_MCALL Linkage::getTargetCount() + { + return targets.getCount(); + } -SLANG_NO_THROW slang::ITarget* SLANG_MCALL Linkage::getTargetByIndex(SlangInt index) -{ - if(index < 0) return nullptr; - if(index >= targets.getCount()) return nullptr; - return asExternal(targets[index]); -} + SLANG_NO_THROW slang::ITarget* SLANG_MCALL Linkage::getTargetByIndex(SlangInt index) + { + if (index < 0) return nullptr; + if (index >= targets.getCount()) return nullptr; + return asExternal(targets[index]); + } #endif static void outputExceptionDiagnostic( @@ -3476,10 +3481,10 @@ void FrontEndCompileRequest::parseTranslationUnit(TranslationUnitRequest* transl } #if 0 - // Test serialization - { - ASTSerialTestUtil::testSerialize(translationUnit->getModuleDecl(), getSession()->getRootNamePool(), getLinkage()->getASTBuilder()->getSharedASTBuilder(), getSourceManager()); - } + // Test serialization + { + ASTSerialTestUtil::testSerialize(translationUnit->getModuleDecl(), getSession()->getRootNamePool(), getLinkage()->getASTBuilder()->getSharedASTBuilder(), getSourceManager()); + } #endif } } |
