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); + } } } }