diff --git a/app/src/main/cpp/skyline/gpu/interconnect/common/textures.cpp b/app/src/main/cpp/skyline/gpu/interconnect/common/textures.cpp index 333f6c20..0ccb4886 100644 --- a/app/src/main/cpp/skyline/gpu/interconnect/common/textures.cpp +++ b/app/src/main/cpp/skyline/gpu/interconnect/common/textures.cpp @@ -117,20 +117,33 @@ namespace skyline::gpu::interconnect { TIC_FORMAT_CASE_ST(Astc4x4, Astc4x4, Unorm); TIC_FORMAT_CASE_ST_SRGB(Astc4x4, Astc4x4, Unorm); + TIC_FORMAT_CASE_ST(Astc5x4, Astc5x4, Unorm); + TIC_FORMAT_CASE_ST_SRGB(Astc5x4, Astc5x4, Unorm); TIC_FORMAT_CASE_ST(Astc5x5, Astc5x5, Unorm); TIC_FORMAT_CASE_ST_SRGB(Astc5x5, Astc5x5, Unorm); + TIC_FORMAT_CASE_ST(Astc6x5, Astc6x5, Unorm); + TIC_FORMAT_CASE_ST_SRGB(Astc6x5, Astc6x5, Unorm); TIC_FORMAT_CASE_ST(Astc6x6, Astc6x6, Unorm); TIC_FORMAT_CASE_ST_SRGB(Astc6x6, Astc6x6, Unorm); + TIC_FORMAT_CASE_ST(Astc8x5, Astc8x5, Unorm); + TIC_FORMAT_CASE_ST_SRGB(Astc8x5, Astc8x5, Unorm); TIC_FORMAT_CASE_ST(Astc8x6, Astc8x6, Unorm); TIC_FORMAT_CASE_ST_SRGB(Astc8x6, Astc8x6, Unorm); TIC_FORMAT_CASE_ST(Astc8x8, Astc8x8, Unorm); TIC_FORMAT_CASE_ST_SRGB(Astc8x8, Astc8x8, Unorm); + TIC_FORMAT_CASE_ST(Astc10x5, Astc10x5, Unorm); + TIC_FORMAT_CASE_ST_SRGB(Astc10x5, Astc10x5, Unorm); + TIC_FORMAT_CASE_ST(Astc10x6, Astc10x6, Unorm); + TIC_FORMAT_CASE_ST_SRGB(Astc10x6, Astc10x6, Unorm); TIC_FORMAT_CASE_ST(Astc10x8, Astc10x8, Unorm); TIC_FORMAT_CASE_ST_SRGB(Astc10x8, Astc10x8, Unorm); TIC_FORMAT_CASE_ST(Astc10x10, Astc10x10, Unorm); TIC_FORMAT_CASE_ST_SRGB(Astc10x10, Astc10x10, Unorm); + TIC_FORMAT_CASE_ST(Astc12x10, Astc12x10, Unorm); + TIC_FORMAT_CASE_ST_SRGB(Astc12x10, Astc12x10, Unorm); TIC_FORMAT_CASE_ST(Astc12x12, Astc12x12, Unorm); - TIC_FORMAT_CASE_ST_SRGB(Astc12x12, Astc12x12, Unorm); + TIC_FORMAT_CASE_ST_SRGB(Astc12x12, Astc12x12, Unorm); + TIC_FORMAT_CASE_ST(BC2, BC2, Unorm); TIC_FORMAT_CASE_ST_SRGB(BC2, BC2, Unorm); TIC_FORMAT_CASE_ST(BC3, BC3, Unorm); @@ -140,6 +153,7 @@ namespace skyline::gpu::interconnect { TIC_FORMAT_CASE(Bc6HSfloat, Bc6HSfloat, Float, Float, Float, Float); TIC_FORMAT_CASE_ST(BC7, BC7, Unorm); TIC_FORMAT_CASE_ST_SRGB(BC7, BC7, Unorm); + TIC_FORMAT_CASE_INT_FLOAT(R32G32B32A32, R32G32B32A32); default: diff --git a/app/src/main/cpp/skyline/gpu/texture/format.h b/app/src/main/cpp/skyline/gpu/texture/format.h index 81dcf480..81fa53de 100644 --- a/app/src/main/cpp/skyline/gpu/texture/format.h +++ b/app/src/main/cpp/skyline/gpu/texture/format.h @@ -133,14 +133,26 @@ namespace skyline::gpu::format { .blockWidth = 4, .blockHeight = 4 ); + FORMAT_SUFF_UNORM_SRGB(Astc5x4, 128, eAstc5x4, Block, + .blockWidth = 5, + .blockHeight = 4 + ); FORMAT_SUFF_UNORM_SRGB(Astc5x5, 128, eAstc5x5, Block, .blockWidth = 5, .blockHeight = 5 ); + FORMAT_SUFF_UNORM_SRGB(Astc6x5, 128, eAstc6x5, Block, + .blockWidth = 6, + .blockHeight = 5 + ); FORMAT_SUFF_UNORM_SRGB(Astc6x6, 128, eAstc6x6, Block, .blockWidth = 6, .blockHeight = 6 ); + FORMAT_SUFF_UNORM_SRGB(Astc8x5, 128, eAstc8x5, Block, + .blockWidth = 8, + .blockHeight = 5 + ); FORMAT_SUFF_UNORM_SRGB(Astc8x6, 128, eAstc8x6, Block, .blockWidth = 8, .blockHeight = 6 @@ -149,6 +161,14 @@ namespace skyline::gpu::format { .blockWidth = 8, .blockHeight = 8 ); + FORMAT_SUFF_UNORM_SRGB(Astc10x5, 128, eAstc10x5, Block, + .blockWidth = 10, + .blockHeight = 5 + ); + FORMAT_SUFF_UNORM_SRGB(Astc10x6, 128, eAstc10x6, Block, + .blockWidth = 10, + .blockHeight = 6 + ); FORMAT_SUFF_UNORM_SRGB(Astc10x8, 128, eAstc10x8, Block, .blockWidth = 10, .blockHeight = 8 @@ -157,10 +177,13 @@ namespace skyline::gpu::format { .blockWidth = 10, .blockHeight = 10 ); - + FORMAT_SUFF_UNORM_SRGB(Astc12x10, 128, eAstc12x10, Block, + .blockWidth = 12, + .blockHeight = 10 + ); FORMAT_SUFF_UNORM_SRGB(Astc12x12, 128, eAstc12x12, Block, - .blockWidth = 12, - .blockHeight = 12 + .blockWidth = 12, + .blockHeight = 12 ); // Depth/Stencil Formats