diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2020-03-03 18:41:07 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-03 18:41:07 -0500 |
| commit | 5951d2a45f3546a619fb5b032a4a422229c46e4c (patch) | |
| tree | 04962fbce2e61a4fabf4449ea5bb4e8851d49c67 /source/slang/slang-emit-glsl.cpp | |
| parent | 0f1f4a42df4efd32b80fd2b01f3893435e47e980 (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.cpp | 16 |
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; + } + } } } |
