From 3f321c61f379baec2e416ac5abdae973b665d78c Mon Sep 17 00:00:00 2001 From: kd-11 Date: Tue, 10 Feb 2026 03:11:47 +0300 Subject: [PATCH] rsx: Fix remapping behavior for depth textures (sampled as depth) --- rpcs3/Emu/RSX/Common/TextureUtils.cpp | 3 ++- rpcs3/Emu/RSX/RSXThread.cpp | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/RSX/Common/TextureUtils.cpp b/rpcs3/Emu/RSX/Common/TextureUtils.cpp index 5fda3c6131..ddfbb99b9b 100644 --- a/rpcs3/Emu/RSX/Common/TextureUtils.cpp +++ b/rpcs3/Emu/RSX/Common/TextureUtils.cpp @@ -1227,7 +1227,8 @@ namespace rsx case CELL_GCM_TEXTURE_DEPTH16: case CELL_GCM_TEXTURE_DEPTH16_FLOAT: // Depth textures will hang the hardware if BX2 or GAMMA is active. ARGB8_SIGNED has no impact. - return 0; + // UNSIGNED_REMAP=BIASED works on all formats including the float variants. + return RSX_FORMAT_FEATURE_BIASED_NORMALIZATION; case CELL_GCM_TEXTURE_X16: case CELL_GCM_TEXTURE_Y16_X16: diff --git a/rpcs3/Emu/RSX/RSXThread.cpp b/rpcs3/Emu/RSX/RSXThread.cpp index 984f64afcd..0d9955b4d4 100644 --- a/rpcs3/Emu/RSX/RSXThread.cpp +++ b/rpcs3/Emu/RSX/RSXThread.cpp @@ -2323,7 +2323,6 @@ namespace rsx if (const auto format_features = rsx::get_format_features(format); format_features != 0) { - // Special operations applied to 8-bit formats such as gamma correction and sign conversion // NOTE: The unsigned_remap=bias flag being set flags the texture as being compressed normal (2n-1 / BX2) (UE3) // NOTE: The ARGB8_signed flag means to reinterpret the raw bytes as signed. This is different than unsigned_remap=bias which does range decompression. // This is a separate method of setting the format to signed mode without doing so per-channel