summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorAlexander Weinrauch <alexander.weinrauch@gmail.com>2021-11-17 08:28:59 +0100
committerGitHub <noreply@github.com>2021-11-16 23:28:59 -0800
commit763d0b5acb584a4d2eca5e02922afed7d499141e (patch)
tree91fcafc8d9497c824720e56fbe64f15ab7dc7524 /source
parent5042867e21f681eb0e9edde55146a9b8c1d3637c (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.cpp19
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");
}