From d665af1f9dd04e2decb8767fbb1276672445488a Mon Sep 17 00:00:00 2001 From: Lynix Date: Tue, 22 Sep 2020 21:50:56 +0200 Subject: [PATCH] Shader/SpirV: Fix sampler storage class --- src/Nazara/Shader/SpirvWriter.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Nazara/Shader/SpirvWriter.cpp b/src/Nazara/Shader/SpirvWriter.cpp index 522dd699d..45e1785b2 100644 --- a/src/Nazara/Shader/SpirvWriter.cpp +++ b/src/Nazara/Shader/SpirvWriter.cpp @@ -238,7 +238,7 @@ namespace Nz RegisterPointerType(output.type, SpirvStorageClass::Output); for (const auto& uniform : shader.GetUniforms()) - RegisterPointerType(uniform.type, SpirvStorageClass::Uniform); + RegisterPointerType(uniform.type, (IsSamplerType(uniform.type)) ? SpirvStorageClass::UniformConstant : SpirvStorageClass::Uniform); for (const auto& func : shader.GetFunctions()) RegisterFunctionType(func.returnType, func.parameters); @@ -330,7 +330,7 @@ namespace Nz { SpirvConstantCache::Variable variable; variable.debugName = uniform.name; - variable.storageClass = SpirvStorageClass::Uniform; + variable.storageClass = (IsSamplerType(uniform.type)) ? SpirvStorageClass::UniformConstant : SpirvStorageClass::Uniform; variable.type = SpirvConstantCache::BuildPointerType(shader, uniform.type, variable.storageClass); UInt32 varId = m_currentState->constantTypeCache.Register(variable);