Merge pull request #8528 from Morph1984/astc10x6
renderer_(gl/vk): Implement ASTC_10x6_UNORM
This commit is contained in:
commit
6c72b7f011
|
@ -131,9 +131,12 @@ constexpr std::array VIEW_CLASS_ASTC_8x8_RGBA{
|
||||||
// PixelFormat::ASTC_2D_10X5_SRGB
|
// PixelFormat::ASTC_2D_10X5_SRGB
|
||||||
|
|
||||||
// Missing formats:
|
// Missing formats:
|
||||||
// PixelFormat::ASTC_2D_10X6_UNORM
|
|
||||||
// PixelFormat::ASTC_2D_10X6_SRGB
|
// PixelFormat::ASTC_2D_10X6_SRGB
|
||||||
|
|
||||||
|
constexpr std::array VIEW_CLASS_ASTC_10x6_RGBA{
|
||||||
|
PixelFormat::ASTC_2D_10X6_UNORM,
|
||||||
|
};
|
||||||
|
|
||||||
constexpr std::array VIEW_CLASS_ASTC_10x8_RGBA{
|
constexpr std::array VIEW_CLASS_ASTC_10x8_RGBA{
|
||||||
PixelFormat::ASTC_2D_10X8_UNORM,
|
PixelFormat::ASTC_2D_10X8_UNORM,
|
||||||
PixelFormat::ASTC_2D_10X8_SRGB,
|
PixelFormat::ASTC_2D_10X8_SRGB,
|
||||||
|
@ -226,6 +229,7 @@ constexpr Table MakeViewTable() {
|
||||||
EnableRange(view, VIEW_CLASS_ASTC_6x6_RGBA);
|
EnableRange(view, VIEW_CLASS_ASTC_6x6_RGBA);
|
||||||
EnableRange(view, VIEW_CLASS_ASTC_8x5_RGBA);
|
EnableRange(view, VIEW_CLASS_ASTC_8x5_RGBA);
|
||||||
EnableRange(view, VIEW_CLASS_ASTC_8x8_RGBA);
|
EnableRange(view, VIEW_CLASS_ASTC_8x8_RGBA);
|
||||||
|
EnableRange(view, VIEW_CLASS_ASTC_10x6_RGBA);
|
||||||
EnableRange(view, VIEW_CLASS_ASTC_10x8_RGBA);
|
EnableRange(view, VIEW_CLASS_ASTC_10x8_RGBA);
|
||||||
EnableRange(view, VIEW_CLASS_ASTC_10x10_RGBA);
|
EnableRange(view, VIEW_CLASS_ASTC_10x10_RGBA);
|
||||||
EnableRange(view, VIEW_CLASS_ASTC_12x12_RGBA);
|
EnableRange(view, VIEW_CLASS_ASTC_12x12_RGBA);
|
||||||
|
|
|
@ -98,6 +98,7 @@ constexpr std::array<FormatTuple, VideoCore::Surface::MaxPixelFormat> FORMAT_TAB
|
||||||
{GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR}, // ASTC_2D_10X8_SRGB
|
{GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR}, // ASTC_2D_10X8_SRGB
|
||||||
{GL_COMPRESSED_RGBA_ASTC_6x6_KHR}, // ASTC_2D_6X6_UNORM
|
{GL_COMPRESSED_RGBA_ASTC_6x6_KHR}, // ASTC_2D_6X6_UNORM
|
||||||
{GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR}, // ASTC_2D_6X6_SRGB
|
{GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR}, // ASTC_2D_6X6_SRGB
|
||||||
|
{GL_COMPRESSED_RGBA_ASTC_10x6_KHR}, // ASTC_2D_10X6_UNORM
|
||||||
{GL_COMPRESSED_RGBA_ASTC_10x10_KHR}, // ASTC_2D_10X10_UNORM
|
{GL_COMPRESSED_RGBA_ASTC_10x10_KHR}, // ASTC_2D_10X10_UNORM
|
||||||
{GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR}, // ASTC_2D_10X10_SRGB
|
{GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR}, // ASTC_2D_10X10_SRGB
|
||||||
{GL_COMPRESSED_RGBA_ASTC_12x12_KHR}, // ASTC_2D_12X12_UNORM
|
{GL_COMPRESSED_RGBA_ASTC_12x12_KHR}, // ASTC_2D_12X12_UNORM
|
||||||
|
|
|
@ -195,6 +195,7 @@ struct FormatTuple {
|
||||||
{VK_FORMAT_ASTC_10x8_SRGB_BLOCK}, // ASTC_2D_10X8_SRGB
|
{VK_FORMAT_ASTC_10x8_SRGB_BLOCK}, // ASTC_2D_10X8_SRGB
|
||||||
{VK_FORMAT_ASTC_6x6_UNORM_BLOCK}, // ASTC_2D_6X6_UNORM
|
{VK_FORMAT_ASTC_6x6_UNORM_BLOCK}, // ASTC_2D_6X6_UNORM
|
||||||
{VK_FORMAT_ASTC_6x6_SRGB_BLOCK}, // ASTC_2D_6X6_SRGB
|
{VK_FORMAT_ASTC_6x6_SRGB_BLOCK}, // ASTC_2D_6X6_SRGB
|
||||||
|
{VK_FORMAT_ASTC_10x6_UNORM_BLOCK}, // ASTC_2D_10X6_UNORM
|
||||||
{VK_FORMAT_ASTC_10x10_UNORM_BLOCK}, // ASTC_2D_10X10_UNORM
|
{VK_FORMAT_ASTC_10x10_UNORM_BLOCK}, // ASTC_2D_10X10_UNORM
|
||||||
{VK_FORMAT_ASTC_10x10_SRGB_BLOCK}, // ASTC_2D_10X10_SRGB
|
{VK_FORMAT_ASTC_10x10_SRGB_BLOCK}, // ASTC_2D_10X10_SRGB
|
||||||
{VK_FORMAT_ASTC_12x12_UNORM_BLOCK}, // ASTC_2D_12X12_UNORM
|
{VK_FORMAT_ASTC_12x12_UNORM_BLOCK}, // ASTC_2D_12X12_UNORM
|
||||||
|
|
|
@ -247,6 +247,7 @@ bool IsPixelFormatASTC(PixelFormat format) {
|
||||||
case PixelFormat::ASTC_2D_10X8_SRGB:
|
case PixelFormat::ASTC_2D_10X8_SRGB:
|
||||||
case PixelFormat::ASTC_2D_6X6_UNORM:
|
case PixelFormat::ASTC_2D_6X6_UNORM:
|
||||||
case PixelFormat::ASTC_2D_6X6_SRGB:
|
case PixelFormat::ASTC_2D_6X6_SRGB:
|
||||||
|
case PixelFormat::ASTC_2D_10X6_UNORM:
|
||||||
case PixelFormat::ASTC_2D_10X10_UNORM:
|
case PixelFormat::ASTC_2D_10X10_UNORM:
|
||||||
case PixelFormat::ASTC_2D_10X10_SRGB:
|
case PixelFormat::ASTC_2D_10X10_SRGB:
|
||||||
case PixelFormat::ASTC_2D_12X12_UNORM:
|
case PixelFormat::ASTC_2D_12X12_UNORM:
|
||||||
|
|
|
@ -94,6 +94,7 @@ enum class PixelFormat {
|
||||||
ASTC_2D_10X8_SRGB,
|
ASTC_2D_10X8_SRGB,
|
||||||
ASTC_2D_6X6_UNORM,
|
ASTC_2D_6X6_UNORM,
|
||||||
ASTC_2D_6X6_SRGB,
|
ASTC_2D_6X6_SRGB,
|
||||||
|
ASTC_2D_10X6_UNORM,
|
||||||
ASTC_2D_10X10_UNORM,
|
ASTC_2D_10X10_UNORM,
|
||||||
ASTC_2D_10X10_SRGB,
|
ASTC_2D_10X10_SRGB,
|
||||||
ASTC_2D_12X12_UNORM,
|
ASTC_2D_12X12_UNORM,
|
||||||
|
@ -227,6 +228,7 @@ constexpr std::array<u8, MaxPixelFormat> BLOCK_WIDTH_TABLE = {{
|
||||||
10, // ASTC_2D_10X8_SRGB
|
10, // ASTC_2D_10X8_SRGB
|
||||||
6, // ASTC_2D_6X6_UNORM
|
6, // ASTC_2D_6X6_UNORM
|
||||||
6, // ASTC_2D_6X6_SRGB
|
6, // ASTC_2D_6X6_SRGB
|
||||||
|
10, // ASTC_2D_10X6_UNORM
|
||||||
10, // ASTC_2D_10X10_UNORM
|
10, // ASTC_2D_10X10_UNORM
|
||||||
10, // ASTC_2D_10X10_SRGB
|
10, // ASTC_2D_10X10_SRGB
|
||||||
12, // ASTC_2D_12X12_UNORM
|
12, // ASTC_2D_12X12_UNORM
|
||||||
|
@ -329,6 +331,7 @@ constexpr std::array<u8, MaxPixelFormat> BLOCK_HEIGHT_TABLE = {{
|
||||||
8, // ASTC_2D_10X8_SRGB
|
8, // ASTC_2D_10X8_SRGB
|
||||||
6, // ASTC_2D_6X6_UNORM
|
6, // ASTC_2D_6X6_UNORM
|
||||||
6, // ASTC_2D_6X6_SRGB
|
6, // ASTC_2D_6X6_SRGB
|
||||||
|
6, // ASTC_2D_10X6_UNORM
|
||||||
10, // ASTC_2D_10X10_UNORM
|
10, // ASTC_2D_10X10_UNORM
|
||||||
10, // ASTC_2D_10X10_SRGB
|
10, // ASTC_2D_10X10_SRGB
|
||||||
12, // ASTC_2D_12X12_UNORM
|
12, // ASTC_2D_12X12_UNORM
|
||||||
|
@ -431,6 +434,7 @@ constexpr std::array<u8, MaxPixelFormat> BITS_PER_BLOCK_TABLE = {{
|
||||||
128, // ASTC_2D_10X8_SRGB
|
128, // ASTC_2D_10X8_SRGB
|
||||||
128, // ASTC_2D_6X6_UNORM
|
128, // ASTC_2D_6X6_UNORM
|
||||||
128, // ASTC_2D_6X6_SRGB
|
128, // ASTC_2D_6X6_SRGB
|
||||||
|
128, // ASTC_2D_10X6_UNORM
|
||||||
128, // ASTC_2D_10X10_UNORM
|
128, // ASTC_2D_10X10_UNORM
|
||||||
128, // ASTC_2D_10X10_SRGB
|
128, // ASTC_2D_10X10_SRGB
|
||||||
128, // ASTC_2D_12X12_UNORM
|
128, // ASTC_2D_12X12_UNORM
|
||||||
|
|
|
@ -206,6 +206,8 @@ PixelFormat PixelFormatFromTextureInfo(TextureFormat format, ComponentType red,
|
||||||
return PixelFormat::ASTC_2D_6X6_UNORM;
|
return PixelFormat::ASTC_2D_6X6_UNORM;
|
||||||
case Hash(TextureFormat::ASTC_2D_6X6, UNORM, SRGB):
|
case Hash(TextureFormat::ASTC_2D_6X6, UNORM, SRGB):
|
||||||
return PixelFormat::ASTC_2D_6X6_SRGB;
|
return PixelFormat::ASTC_2D_6X6_SRGB;
|
||||||
|
case Hash(TextureFormat::ASTC_2D_10X6, UNORM, LINEAR):
|
||||||
|
return PixelFormat::ASTC_2D_10X6_UNORM;
|
||||||
case Hash(TextureFormat::ASTC_2D_10X10, UNORM, LINEAR):
|
case Hash(TextureFormat::ASTC_2D_10X10, UNORM, LINEAR):
|
||||||
return PixelFormat::ASTC_2D_10X10_UNORM;
|
return PixelFormat::ASTC_2D_10X10_UNORM;
|
||||||
case Hash(TextureFormat::ASTC_2D_10X10, UNORM, SRGB):
|
case Hash(TextureFormat::ASTC_2D_10X10, UNORM, SRGB):
|
||||||
|
|
|
@ -175,6 +175,8 @@ struct fmt::formatter<VideoCore::Surface::PixelFormat> : fmt::formatter<fmt::str
|
||||||
return "ASTC_2D_6X6_UNORM";
|
return "ASTC_2D_6X6_UNORM";
|
||||||
case PixelFormat::ASTC_2D_6X6_SRGB:
|
case PixelFormat::ASTC_2D_6X6_SRGB:
|
||||||
return "ASTC_2D_6X6_SRGB";
|
return "ASTC_2D_6X6_SRGB";
|
||||||
|
case PixelFormat::ASTC_2D_10X6_UNORM:
|
||||||
|
return "ASTC_2D_10X6_UNORM";
|
||||||
case PixelFormat::ASTC_2D_10X10_UNORM:
|
case PixelFormat::ASTC_2D_10X10_UNORM:
|
||||||
return "ASTC_2D_10X10_UNORM";
|
return "ASTC_2D_10X10_UNORM";
|
||||||
case PixelFormat::ASTC_2D_10X10_SRGB:
|
case PixelFormat::ASTC_2D_10X10_SRGB:
|
||||||
|
|
Reference in New Issue