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());