From 5951d2a45f3546a619fb5b032a4a422229c46e4c Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Tue, 3 Mar 2020 18:41:07 -0500 Subject: __spirv_version Decoration (#1255) * WIP add support for __spirv_version . * Added IRRequireSPIRVVersionDecoration --- source/slang/slang-emit-glsl.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'source/slang/slang-emit-glsl.cpp') diff --git a/source/slang/slang-emit-glsl.cpp b/source/slang/slang-emit-glsl.cpp index ae7a4130f..131c1882d 100644 --- a/source/slang/slang-emit-glsl.cpp +++ b/source/slang/slang-emit-glsl.cpp @@ -25,6 +25,11 @@ void GLSLSourceEmitter::_requireGLSLVersion(ProfileVersion version) m_glslExtensionTracker.requireVersion(version); } +void GLSLSourceEmitter::_requireSPIRVVersion(SPIRVVersion version) +{ + m_glslExtensionTracker.requireSPIRVVersion(version); +} + void GLSLSourceEmitter::_requireGLSLVersion(int version) { switch (version) @@ -1327,12 +1332,21 @@ void GLSLSourceEmitter::handleCallExprDecorationsImpl(IRInst* funcValue) break; case kIROp_RequireGLSLExtensionDecoration: + { _requireGLSLExtension(String(((IRRequireGLSLExtensionDecoration*)decoration)->getExtensionName())); break; - + } case kIROp_RequireGLSLVersionDecoration: + { _requireGLSLVersion(int(((IRRequireGLSLVersionDecoration*)decoration)->getLanguageVersion())); break; + } + case kIROp_RequireSPIRVVersionDecoration: + { + _requireSPIRVVersion(static_cast(decoration)->getSPIRVVersion()); + break; + } + } } } -- cgit v1.2.3