From 9cde0b57987c833abfaf0400594cc14426d8924f Mon Sep 17 00:00:00 2001 From: Robin Kertels Date: Mon, 25 Dec 2023 15:34:55 +0100 Subject: [d3d9] Fix off-by-one when copying shader defined constants --- src/d3d9/d3d9_device.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp index 30a4a5b2..732f818c 100644 --- a/src/d3d9/d3d9_device.cpp +++ b/src/d3d9/d3d9_device.cpp @@ -5260,7 +5260,7 @@ namespace dxvk { uint32_t floatCount = m_vsFloatConstsCount; if (constSet.meta.needsConstantCopies) { auto shader = GetCommonShader(m_state.vertexShader); - floatCount = std::max(floatCount, shader->GetMaxDefinedConstant()); + floatCount = std::max(floatCount, shader->GetMaxDefinedConstant() + 1); } floatCount = std::min(floatCount, constSet.meta.maxConstIndexF); @@ -5322,7 +5322,7 @@ namespace dxvk { uint32_t floatCount = ShaderStage == DxsoProgramType::VertexShader ? m_vsFloatConstsCount : m_psFloatConstsCount; if (constSet.meta.needsConstantCopies) { auto shader = GetCommonShader(Shader); - floatCount = std::max(floatCount, shader->GetMaxDefinedConstant()); + floatCount = std::max(floatCount, shader->GetMaxDefinedConstant() + 1); } floatCount = std::min(constSet.meta.maxConstIndexF, floatCount); -- cgit v1.2.3