Implement BC7 format support

Used by ARMS
This commit is contained in:
Billy Laws 2022-01-12 23:00:35 +00:00 committed by PixelyIon
parent 99652c5eda
commit e7bfd93541
2 changed files with 6 additions and 0 deletions

View File

@ -1691,6 +1691,7 @@ namespace skyline::gpu::interconnect {
TIC_FORMAT_CASE_ST(Dxt1, Bc1, Unorm, R, G, B, A); TIC_FORMAT_CASE_ST(Dxt1, Bc1, Unorm, R, G, B, A);
TIC_FORMAT_CASE_ST(Dxn1, Bc4111R, Unorm, OneFloat, OneFloat, OneFloat, R); TIC_FORMAT_CASE_ST(Dxn1, Bc4111R, Unorm, OneFloat, OneFloat, OneFloat, R);
TIC_FORMAT_CASE_ST(Dxn1, Bc4RRR1, Unorm, R, R, R, OneFloat); TIC_FORMAT_CASE_ST(Dxn1, Bc4RRR1, Unorm, R, R, R, OneFloat);
TIC_FORMAT_CASE_ST(BC7U, Bc7, Unorm, R, G, B, A);
default: default:
throw exception("Cannot translate TIC format: 0x{:X}", static_cast<u32>(format.Raw())); throw exception("Cannot translate TIC format: 0x{:X}", static_cast<u32>(format.Raw()));

View File

@ -123,6 +123,11 @@ namespace skyline::gpu::format {
} }
); );
FORMAT_SUFF_UNORM_SRGB(Bc7, 128, eBc7, Block,
.blockWidth = 4,
.blockHeight = 4
);
FORMAT_SUFF_UNORM_SRGB(Astc4x4, 128, eAstc4x4, Block, FORMAT_SUFF_UNORM_SRGB(Astc4x4, 128, eAstc4x4, Block,
.blockWidth = 4, .blockWidth = 4,
.blockHeight = 4 .blockHeight = 4