summaryrefslogtreecommitdiff
path: root/source/slang/slang-emit-glsl.cpp
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2020-03-03 18:41:07 -0500
committerGitHub <noreply@github.com>2020-03-03 18:41:07 -0500
commit5951d2a45f3546a619fb5b032a4a422229c46e4c (patch)
tree04962fbce2e61a4fabf4449ea5bb4e8851d49c67 /source/slang/slang-emit-glsl.cpp
parent0f1f4a42df4efd32b80fd2b01f3893435e47e980 (diff)
__spirv_version Decoration (#1255)
* WIP add support for __spirv_version . * Added IRRequireSPIRVVersionDecoration
Diffstat (limited to 'source/slang/slang-emit-glsl.cpp')
-rw-r--r--source/slang/slang-emit-glsl.cpp16
1 files changed, 15 insertions, 1 deletions
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<IRRequireSPIRVVersionDecoration*>(decoration)->getSPIRVVersion());
+ break;
+ }
+
}
}
}