From 174fb97172c3ad63e682d5ea25fefea6d079d39d Mon Sep 17 00:00:00 2001 From: Vincent Lejeune Date: Fri, 27 Nov 2015 23:23:00 +0100 Subject: [PATCH] d3d12: Fix for case where fragment shaders samples textures starting from non first unit. --- rpcs3/Emu/RSX/D3D12/D3D12PipelineState.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/D3D12/D3D12PipelineState.h b/rpcs3/Emu/RSX/D3D12/D3D12PipelineState.h index e496501984..ecfe56aa92 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12PipelineState.h +++ b/rpcs3/Emu/RSX/D3D12/D3D12PipelineState.h @@ -157,7 +157,8 @@ struct D3D12Traits { if (PT.type == "sampler2D") { - fragmentProgramData.m_textureCount++; + size_t texture_unit = atoi(PI.name.c_str() + 3); + fragmentProgramData.m_textureCount = std::max(texture_unit + 1, fragmentProgramData.m_textureCount); continue; } size_t offset = atoi(PI.name.c_str() + 2);