d3d12: Implement R5G6B5 texture format

Make sonic works, but with wrong color
This commit is contained in:
vlj 2015-06-01 18:28:54 +02:00 committed by Vincent Lejeune
parent 25b10c5e3e
commit d8d72c4327

View File

@ -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] =