From c91101d2e465e2cc4859b9b6d3974d074abfe8ae Mon Sep 17 00:00:00 2001 From: Sasha Szpakowski Date: Sun, 10 Mar 2024 21:24:10 -0300 Subject: [PATCH] Fix texel buffer detection in shaders. --- src/modules/graphics/Shader.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/graphics/Shader.cpp b/src/modules/graphics/Shader.cpp index d25842252..1f5a76553 100644 --- a/src/modules/graphics/Shader.cpp +++ b/src/modules/graphics/Shader.cpp @@ -1073,7 +1073,7 @@ bool Shader::validateInternal(StrongRef stages[], std::string &err, const auto &sampler = type->getSampler(); - if (type->isTexture() && type->getSampler().isCombined()) + if (type->isTexture() && type->getSampler().isCombined() && !sampler.isBuffer()) { u.baseType = UNIFORM_SAMPLER; u.dataBaseType = getBaseType(sampler.getBasicType()); @@ -1122,7 +1122,7 @@ bool Shader::validateInternal(StrongRef stages[], std::string &err, reflection.storageTextures[u.name] = u; } - else if (type->getBasicType() == glslang::EbtSampler && type->getSampler().isBuffer()) + else if (type->getBasicType() == glslang::EbtSampler && sampler.isBuffer()) { u.baseType = UNIFORM_TEXELBUFFER; u.dataBaseType = getBaseType(sampler.getBasicType());