diff options
| author | Alexander Weinrauch <alexander.weinrauch@gmail.com> | 2021-11-17 08:28:59 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-16 23:28:59 -0800 |
| commit | 763d0b5acb584a4d2eca5e02922afed7d499141e (patch) | |
| tree | 91fcafc8d9497c824720e56fbe64f15ab7dc7524 /source | |
| parent | 5042867e21f681eb0e9edde55146a9b8c1d3637c (diff) | |
Added 8/16/64 bit int/unsigned int texture formats support for glsl shaders (#2017)
Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'source')
| -rw-r--r-- | source/slang/slang-emit-glsl.cpp | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/source/slang/slang-emit-glsl.cpp b/source/slang/slang-emit-glsl.cpp index 5540daa19..d5175a423 100644 --- a/source/slang/slang-emit-glsl.cpp +++ b/source/slang/slang-emit-glsl.cpp @@ -447,6 +447,12 @@ void GLSLSourceEmitter::_emitGLSLImageFormatModifier(IRInst* var, IRTextureType* case BaseType::Half: m_writer->emit("16f"); break; case BaseType::UInt: m_writer->emit("32ui"); break; case BaseType::Int: m_writer->emit("32i"); break; + case BaseType::Int8: m_writer->emit("8i"); break; + case BaseType::Int16: m_writer->emit("16i"); break; + case BaseType::Int64: m_writer->emit("64i"); break; + case BaseType::UInt8: m_writer->emit("8ui"); break; + case BaseType::UInt16: m_writer->emit("16ui"); break; + case BaseType::UInt64: m_writer->emit("64ui"); break; // TODO: Here are formats that are available in GLSL, // but that are not handled by the above cases. @@ -468,20 +474,7 @@ void GLSLSourceEmitter::_emitGLSLImageFormatModifier(IRInst* var, IRTextureType* // r16_snorm // r8_snorm // - // rgba16i - // rgba8i - // rg16i - // rg8i - // r16i - // r8i - // - // rgba16ui // rgb10_a2ui - // rgba8ui - // rg16ui - // rg8ui - // r16ui - // r8ui } m_writer->emit(")\n"); } |
