diff --git a/app/src/main/cpp/skyline/gpu/interconnect/graphics_context.h b/app/src/main/cpp/skyline/gpu/interconnect/graphics_context.h index c118fb2f..f426e3a8 100644 --- a/app/src/main/cpp/skyline/gpu/interconnect/graphics_context.h +++ b/app/src/main/cpp/skyline/gpu/interconnect/graphics_context.h @@ -1849,6 +1849,7 @@ namespace skyline::gpu::interconnect { TIC_FORMAT_CASE_ST(D16, D16, Unorm); TIC_FORMAT_CASE_NORM_INT(R8G8, R8G8); TIC_FORMAT_CASE_ST(B5G6R5, B5G6R5, Unorm); + TIC_FORMAT_CASE_ST(R4G4B4A4, R4G4B4A4, Unorm); TIC_FORMAT_CASE_ST(A1B5G5R5, A1B5G5R5, Unorm); TIC_FORMAT_CASE_INT_FLOAT(R32, R32); @@ -1870,6 +1871,8 @@ namespace skyline::gpu::interconnect { TIC_FORMAT_CASE_NORM_INT_FLOAT(R16G16B16A16, R16G16B16A16); TIC_FORMAT_CASE_ST(Astc4x4, Astc4x4, Unorm); + TIC_FORMAT_CASE_ST(Astc6x6, Astc6x6, Unorm); + TIC_FORMAT_CASE_ST(Astc8x8, Astc8x8, Unorm); TIC_FORMAT_CASE_ST(BC2, BC2, Unorm); TIC_FORMAT_CASE_ST(BC3, BC3, Unorm); TIC_FORMAT_CASE_NORM(BC5, BC5); diff --git a/app/src/main/cpp/skyline/gpu/interconnect/types/tic.h b/app/src/main/cpp/skyline/gpu/interconnect/types/tic.h index 623557e3..b83614fa 100644 --- a/app/src/main/cpp/skyline/gpu/interconnect/types/tic.h +++ b/app/src/main/cpp/skyline/gpu/interconnect/types/tic.h @@ -39,7 +39,7 @@ namespace skyline::gpu::interconnect { R32 = 0x0F, Bc6HSfloat = 0x10, Bc6HUfloat = 0x11, - R4G4B4A = 0x12, + R4G4B4A4 = 0x12, A5B5G5R1 = 0x13, A1B5G5R5 = 0x14, B5G6R5 = 0x15, diff --git a/app/src/main/cpp/skyline/gpu/texture/format.h b/app/src/main/cpp/skyline/gpu/texture/format.h index 0f727660..bdf0e70a 100644 --- a/app/src/main/cpp/skyline/gpu/texture/format.h +++ b/app/src/main/cpp/skyline/gpu/texture/format.h @@ -65,6 +65,7 @@ namespace skyline::gpu::format { FORMAT_NORM_INT_SRGB(R8G8, 16, eR8G8); FORMAT(B5G6R5Unorm, 16, eB5G6R5UnormPack16); FORMAT(R5G6B5Unorm, 16, eB5G6R5UnormPack16, .swapRedBlue = true); // Used by SurfaceFlinger + FORMAT(R4G4B4A4Unorm, 16, eR4G4B4A4UnormPack16); FORMAT(B5G5R5A1Unorm, 16, eB5G5R5A1UnormPack16); FORMAT(A1B5G5R5Unorm, 16, eA1R5G5B5UnormPack16, .swapRedBlue = true); @@ -87,14 +88,6 @@ namespace skyline::gpu::format { .blockWidth = 4, .blockHeight = 4 ); - FORMAT_SUFF_UNORM_SRGB(BC2, 128, eBc2, Block, - .blockWidth = 4, - .blockHeight = 4 - ); - FORMAT_SUFF_UNORM_SRGB(BC3, 128, eBc3, Block, - .blockWidth = 4, - .blockHeight = 4 - ); FORMAT_SUFF_NORM(BC4, 64, eBc4, Block, .blockWidth = 4, .blockHeight = 4, @@ -104,6 +97,23 @@ namespace skyline::gpu::format { .blockWidth = 4, .blockHeight = 4 ); + FORMAT_SUFF_UNORM_SRGB(Astc6x6, 128, eAstc6x6, Block, + .blockWidth = 6, + .blockHeight = 6 + ); + FORMAT_SUFF_UNORM_SRGB(Astc8x8, 128, eAstc8x8, Block, + .blockWidth = 8, + .blockHeight = 8 + ); + + FORMAT_SUFF_UNORM_SRGB(BC2, 128, eBc2, Block, + .blockWidth = 4, + .blockHeight = 4 + ); + FORMAT_SUFF_UNORM_SRGB(BC3, 128, eBc3, Block, + .blockWidth = 4, + .blockHeight = 4 + ); FORMAT_SUFF_NORM(BC5, 128, eBc5, Block, .blockWidth = 4, .blockHeight = 4,