From b2b5f564a14d9855f162f87368c2e8e63c0a81f3 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Mon, 31 Jul 2017 23:41:15 +0300 Subject: [PATCH] rsx: Add a few more depth format types to known behaviour paths --- rpcs3/Emu/RSX/RSXThread.cpp | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/rpcs3/Emu/RSX/RSXThread.cpp b/rpcs3/Emu/RSX/RSXThread.cpp index b4663e4df5..fc0d4002c7 100644 --- a/rpcs3/Emu/RSX/RSXThread.cpp +++ b/rpcs3/Emu/RSX/RSXThread.cpp @@ -1130,12 +1130,22 @@ namespace rsx if (surface_exists) { u32 format = raw_format & ~(CELL_GCM_TEXTURE_LN | CELL_GCM_TEXTURE_UN); - if (format == CELL_GCM_TEXTURE_A8R8G8B8 || format == CELL_GCM_TEXTURE_D8R8G8B8) - result.redirected_textures |= (1 << i); - else if (format == CELL_GCM_TEXTURE_DEPTH16 || format == CELL_GCM_TEXTURE_DEPTH24_D8) - result.shadow_textures |= (1 << i); - else - LOG_ERROR(RSX, "Depth texture bound to pipeline with unexpected format 0x%X", format); + switch (format) + { + case CELL_GCM_TEXTURE_A8R8G8B8: + case CELL_GCM_TEXTURE_D8R8G8B8: + case CELL_GCM_TEXTURE_A4R4G4B4: + case CELL_GCM_TEXTURE_R5G6B5: + result.redirected_textures |= (1 << i); + break; + case CELL_GCM_TEXTURE_DEPTH16: + case CELL_GCM_TEXTURE_DEPTH24_D8: + case CELL_GCM_TEXTURE_DEPTH16_FLOAT: + result.shadow_textures |= (1 << i); + break; + default: + LOG_ERROR(RSX, "Depth texture bound to pipeline with unexpected format 0x%X", format); + } } } }