diff --git a/rpcs3/Emu/RSX/D3D12/D3D12Texture.cpp b/rpcs3/Emu/RSX/D3D12/D3D12Texture.cpp index fc10f050a8..d91984425a 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12Texture.cpp +++ b/rpcs3/Emu/RSX/D3D12/D3D12Texture.cpp @@ -101,7 +101,6 @@ size_t D3D12GSRender::UploadTextures() { case CELL_GCM_TEXTURE_A1R5G5B5: case CELL_GCM_TEXTURE_A4R4G4B4: - case CELL_GCM_TEXTURE_R5G6B5: case CELL_GCM_TEXTURE_G8B8: case CELL_GCM_TEXTURE_R6G5B5: case CELL_GCM_TEXTURE_DEPTH24_D8: @@ -123,6 +122,11 @@ size_t D3D12GSRender::UploadTextures() default: LOG_ERROR(RSX, "Unimplemented Texture format : %x", format); break; + case CELL_GCM_TEXTURE_R5G6B5: + dxgiFormat = DXGI_FORMAT_B5G6R5_UNORM; + blockSizeInByte = 2; + blockWidthInPixel = 1, blockHeightInPixel = 1; + break; case CELL_GCM_TEXTURE_D8R8G8B8: dxgiFormat = DXGI_FORMAT_R8G8B8A8_UNORM; blockSizeInByte = 4; @@ -281,7 +285,6 @@ size_t D3D12GSRender::UploadTextures() { case CELL_GCM_TEXTURE_A1R5G5B5: case CELL_GCM_TEXTURE_A4R4G4B4: - case CELL_GCM_TEXTURE_R5G6B5: case CELL_GCM_TEXTURE_G8B8: case CELL_GCM_TEXTURE_R6G5B5: case CELL_GCM_TEXTURE_DEPTH24_D8: @@ -303,6 +306,9 @@ size_t D3D12GSRender::UploadTextures() default: LOG_ERROR(RSX, "Unimplemented Texture format : %x", format); break; + case CELL_GCM_TEXTURE_R5G6B5: + srvDesc.Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING; + break; case CELL_GCM_TEXTURE_D8R8G8B8: { const int RemapValue[4] =