forked from suyu/suyu
gl_rasterizer_cache: Cleanup some PixelFormat names and logging.
This commit is contained in:
parent
3aad82b1a3
commit
b1148d269d
2 changed files with 71 additions and 41 deletions
|
@ -94,11 +94,11 @@ struct FormatTuple {
|
||||||
static constexpr std::array<FormatTuple, SurfaceParams::MaxPixelFormat> tex_format_tuples = {{
|
static constexpr std::array<FormatTuple, SurfaceParams::MaxPixelFormat> tex_format_tuples = {{
|
||||||
{GL_RGBA8, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8_REV, ComponentType::UNorm, false}, // ABGR8U
|
{GL_RGBA8, GL_RGBA, GL_UNSIGNED_INT_8_8_8_8_REV, ComponentType::UNorm, false}, // ABGR8U
|
||||||
{GL_RGBA8, GL_RGBA, GL_BYTE, ComponentType::SNorm, false}, // ABGR8S
|
{GL_RGBA8, GL_RGBA, GL_BYTE, ComponentType::SNorm, false}, // ABGR8S
|
||||||
{GL_RGB, GL_RGB, GL_UNSIGNED_SHORT_5_6_5_REV, ComponentType::UNorm, false}, // B5G6R5
|
{GL_RGB, GL_RGB, GL_UNSIGNED_SHORT_5_6_5_REV, ComponentType::UNorm, false}, // B5G6R5U
|
||||||
{GL_RGB10_A2, GL_RGBA, GL_UNSIGNED_INT_2_10_10_10_REV, ComponentType::UNorm,
|
{GL_RGB10_A2, GL_RGBA, GL_UNSIGNED_INT_2_10_10_10_REV, ComponentType::UNorm,
|
||||||
false}, // A2B10G10R10
|
false}, // A2B10G10R10U
|
||||||
{GL_RGB5_A1, GL_RGBA, GL_UNSIGNED_SHORT_1_5_5_5_REV, ComponentType::UNorm, false}, // A1B5G5R5
|
{GL_RGB5_A1, GL_RGBA, GL_UNSIGNED_SHORT_1_5_5_5_REV, ComponentType::UNorm, false}, // A1B5G5R5U
|
||||||
{GL_R8, GL_RED, GL_UNSIGNED_BYTE, ComponentType::UNorm, false}, // R8
|
{GL_R8, GL_RED, GL_UNSIGNED_BYTE, ComponentType::UNorm, false}, // R8U
|
||||||
{GL_R8UI, GL_RED_INTEGER, GL_UNSIGNED_BYTE, ComponentType::UInt, false}, // R8UI
|
{GL_R8UI, GL_RED_INTEGER, GL_UNSIGNED_BYTE, ComponentType::UInt, false}, // R8UI
|
||||||
{GL_RGBA16F, GL_RGBA, GL_HALF_FLOAT, ComponentType::Float, false}, // RGBA16F
|
{GL_RGBA16F, GL_RGBA, GL_HALF_FLOAT, ComponentType::Float, false}, // RGBA16F
|
||||||
{GL_RGBA16, GL_RGBA, GL_UNSIGNED_SHORT, ComponentType::UNorm, false}, // RGBA16U
|
{GL_RGBA16, GL_RGBA, GL_UNSIGNED_SHORT, ComponentType::UNorm, false}, // RGBA16U
|
||||||
|
@ -126,7 +126,7 @@ static constexpr std::array<FormatTuple, SurfaceParams::MaxPixelFormat> tex_form
|
||||||
{GL_RG32F, GL_RG, GL_FLOAT, ComponentType::Float, false}, // RG32F
|
{GL_RG32F, GL_RG, GL_FLOAT, ComponentType::Float, false}, // RG32F
|
||||||
{GL_R32F, GL_RED, GL_FLOAT, ComponentType::Float, false}, // R32F
|
{GL_R32F, GL_RED, GL_FLOAT, ComponentType::Float, false}, // R32F
|
||||||
{GL_R16F, GL_RED, GL_HALF_FLOAT, ComponentType::Float, false}, // R16F
|
{GL_R16F, GL_RED, GL_HALF_FLOAT, ComponentType::Float, false}, // R16F
|
||||||
{GL_R16, GL_RED, GL_UNSIGNED_SHORT, ComponentType::UNorm, false}, // R16UNORM
|
{GL_R16, GL_RED, GL_UNSIGNED_SHORT, ComponentType::UNorm, false}, // R16U
|
||||||
{GL_R16_SNORM, GL_RED, GL_SHORT, ComponentType::SNorm, false}, // R16S
|
{GL_R16_SNORM, GL_RED, GL_SHORT, ComponentType::SNorm, false}, // R16S
|
||||||
{GL_R16UI, GL_RED_INTEGER, GL_UNSIGNED_SHORT, ComponentType::UInt, false}, // R16UI
|
{GL_R16UI, GL_RED_INTEGER, GL_UNSIGNED_SHORT, ComponentType::UInt, false}, // R16UI
|
||||||
{GL_R16I, GL_RED_INTEGER, GL_SHORT, ComponentType::SInt, false}, // R16I
|
{GL_R16I, GL_RED_INTEGER, GL_SHORT, ComponentType::SInt, false}, // R16I
|
||||||
|
@ -243,10 +243,10 @@ static constexpr std::array<void (*)(u32, u32, u32, std::vector<u8>&, Tegra::GPU
|
||||||
// clang-format off
|
// clang-format off
|
||||||
MortonCopy<true, PixelFormat::ABGR8U>,
|
MortonCopy<true, PixelFormat::ABGR8U>,
|
||||||
MortonCopy<true, PixelFormat::ABGR8S>,
|
MortonCopy<true, PixelFormat::ABGR8S>,
|
||||||
MortonCopy<true, PixelFormat::B5G6R5>,
|
MortonCopy<true, PixelFormat::B5G6R5U>,
|
||||||
MortonCopy<true, PixelFormat::A2B10G10R10>,
|
MortonCopy<true, PixelFormat::A2B10G10R10U>,
|
||||||
MortonCopy<true, PixelFormat::A1B5G5R5>,
|
MortonCopy<true, PixelFormat::A1B5G5R5U>,
|
||||||
MortonCopy<true, PixelFormat::R8>,
|
MortonCopy<true, PixelFormat::R8U>,
|
||||||
MortonCopy<true, PixelFormat::R8UI>,
|
MortonCopy<true, PixelFormat::R8UI>,
|
||||||
MortonCopy<true, PixelFormat::RGBA16F>,
|
MortonCopy<true, PixelFormat::RGBA16F>,
|
||||||
MortonCopy<true, PixelFormat::RGBA16U>,
|
MortonCopy<true, PixelFormat::RGBA16U>,
|
||||||
|
@ -268,7 +268,7 @@ static constexpr std::array<void (*)(u32, u32, u32, std::vector<u8>&, Tegra::GPU
|
||||||
MortonCopy<true, PixelFormat::RG32F>,
|
MortonCopy<true, PixelFormat::RG32F>,
|
||||||
MortonCopy<true, PixelFormat::R32F>,
|
MortonCopy<true, PixelFormat::R32F>,
|
||||||
MortonCopy<true, PixelFormat::R16F>,
|
MortonCopy<true, PixelFormat::R16F>,
|
||||||
MortonCopy<true, PixelFormat::R16UNORM>,
|
MortonCopy<true, PixelFormat::R16U>,
|
||||||
MortonCopy<true, PixelFormat::R16S>,
|
MortonCopy<true, PixelFormat::R16S>,
|
||||||
MortonCopy<true, PixelFormat::R16UI>,
|
MortonCopy<true, PixelFormat::R16UI>,
|
||||||
MortonCopy<true, PixelFormat::R16I>,
|
MortonCopy<true, PixelFormat::R16I>,
|
||||||
|
@ -297,10 +297,10 @@ static constexpr std::array<void (*)(u32, u32, u32, std::vector<u8>&, Tegra::GPU
|
||||||
// clang-format off
|
// clang-format off
|
||||||
MortonCopy<false, PixelFormat::ABGR8U>,
|
MortonCopy<false, PixelFormat::ABGR8U>,
|
||||||
MortonCopy<false, PixelFormat::ABGR8S>,
|
MortonCopy<false, PixelFormat::ABGR8S>,
|
||||||
MortonCopy<false, PixelFormat::B5G6R5>,
|
MortonCopy<false, PixelFormat::B5G6R5U>,
|
||||||
MortonCopy<false, PixelFormat::A2B10G10R10>,
|
MortonCopy<false, PixelFormat::A2B10G10R10U>,
|
||||||
MortonCopy<false, PixelFormat::A1B5G5R5>,
|
MortonCopy<false, PixelFormat::A1B5G5R5U>,
|
||||||
MortonCopy<false, PixelFormat::R8>,
|
MortonCopy<false, PixelFormat::R8U>,
|
||||||
MortonCopy<false, PixelFormat::R8UI>,
|
MortonCopy<false, PixelFormat::R8UI>,
|
||||||
MortonCopy<false, PixelFormat::RGBA16F>,
|
MortonCopy<false, PixelFormat::RGBA16F>,
|
||||||
MortonCopy<false, PixelFormat::RGBA16U>,
|
MortonCopy<false, PixelFormat::RGBA16U>,
|
||||||
|
@ -324,7 +324,7 @@ static constexpr std::array<void (*)(u32, u32, u32, std::vector<u8>&, Tegra::GPU
|
||||||
MortonCopy<false, PixelFormat::RG32F>,
|
MortonCopy<false, PixelFormat::RG32F>,
|
||||||
MortonCopy<false, PixelFormat::R32F>,
|
MortonCopy<false, PixelFormat::R32F>,
|
||||||
MortonCopy<false, PixelFormat::R16F>,
|
MortonCopy<false, PixelFormat::R16F>,
|
||||||
MortonCopy<false, PixelFormat::R16UNORM>,
|
MortonCopy<false, PixelFormat::R16U>,
|
||||||
MortonCopy<false, PixelFormat::R16S>,
|
MortonCopy<false, PixelFormat::R16S>,
|
||||||
MortonCopy<false, PixelFormat::R16UI>,
|
MortonCopy<false, PixelFormat::R16UI>,
|
||||||
MortonCopy<false, PixelFormat::R16I>,
|
MortonCopy<false, PixelFormat::R16I>,
|
||||||
|
|
|
@ -25,10 +25,10 @@ struct SurfaceParams {
|
||||||
enum class PixelFormat {
|
enum class PixelFormat {
|
||||||
ABGR8U = 0,
|
ABGR8U = 0,
|
||||||
ABGR8S = 1,
|
ABGR8S = 1,
|
||||||
B5G6R5 = 2,
|
B5G6R5U = 2,
|
||||||
A2B10G10R10 = 3,
|
A2B10G10R10U = 3,
|
||||||
A1B5G5R5 = 4,
|
A1B5G5R5U = 4,
|
||||||
R8 = 5,
|
R8U = 5,
|
||||||
R8UI = 6,
|
R8UI = 6,
|
||||||
RGBA16F = 7,
|
RGBA16F = 7,
|
||||||
RGBA16U = 8,
|
RGBA16U = 8,
|
||||||
|
@ -50,7 +50,7 @@ struct SurfaceParams {
|
||||||
RG32F = 24,
|
RG32F = 24,
|
||||||
R32F = 25,
|
R32F = 25,
|
||||||
R16F = 26,
|
R16F = 26,
|
||||||
R16UNORM = 27,
|
R16U = 27,
|
||||||
R16S = 28,
|
R16S = 28,
|
||||||
R16UI = 29,
|
R16UI = 29,
|
||||||
R16I = 30,
|
R16I = 30,
|
||||||
|
@ -113,10 +113,10 @@ struct SurfaceParams {
|
||||||
constexpr std::array<u32, MaxPixelFormat> compression_factor_table = {{
|
constexpr std::array<u32, MaxPixelFormat> compression_factor_table = {{
|
||||||
1, // ABGR8U
|
1, // ABGR8U
|
||||||
1, // ABGR8S
|
1, // ABGR8S
|
||||||
1, // B5G6R5
|
1, // B5G6R5U
|
||||||
1, // A2B10G10R10
|
1, // A2B10G10R10U
|
||||||
1, // A1B5G5R5
|
1, // A1B5G5R5U
|
||||||
1, // R8
|
1, // R8U
|
||||||
1, // R8UI
|
1, // R8UI
|
||||||
1, // RGBA16F
|
1, // RGBA16F
|
||||||
1, // RGBA16U
|
1, // RGBA16U
|
||||||
|
@ -138,7 +138,7 @@ struct SurfaceParams {
|
||||||
1, // RG32F
|
1, // RG32F
|
||||||
1, // R32F
|
1, // R32F
|
||||||
1, // R16F
|
1, // R16F
|
||||||
1, // R16UNORM
|
1, // R16U
|
||||||
1, // R16S
|
1, // R16S
|
||||||
1, // R16UI
|
1, // R16UI
|
||||||
1, // R16I
|
1, // R16I
|
||||||
|
@ -171,10 +171,10 @@ struct SurfaceParams {
|
||||||
constexpr std::array<u32, MaxPixelFormat> bpp_table = {{
|
constexpr std::array<u32, MaxPixelFormat> bpp_table = {{
|
||||||
32, // ABGR8U
|
32, // ABGR8U
|
||||||
32, // ABGR8S
|
32, // ABGR8S
|
||||||
16, // B5G6R5
|
16, // B5G6R5U
|
||||||
32, // A2B10G10R10
|
32, // A2B10G10R10U
|
||||||
16, // A1B5G5R5
|
16, // A1B5G5R5U
|
||||||
8, // R8
|
8, // R8U
|
||||||
8, // R8UI
|
8, // R8UI
|
||||||
64, // RGBA16F
|
64, // RGBA16F
|
||||||
64, // RGBA16U
|
64, // RGBA16U
|
||||||
|
@ -196,7 +196,7 @@ struct SurfaceParams {
|
||||||
64, // RG32F
|
64, // RG32F
|
||||||
32, // R32F
|
32, // R32F
|
||||||
16, // R16F
|
16, // R16F
|
||||||
16, // R16UNORM
|
16, // R16U
|
||||||
16, // R16S
|
16, // R16S
|
||||||
16, // R16UI
|
16, // R16UI
|
||||||
16, // R16I
|
16, // R16I
|
||||||
|
@ -256,7 +256,7 @@ struct SurfaceParams {
|
||||||
case Tegra::RenderTargetFormat::BGRA8_UNORM:
|
case Tegra::RenderTargetFormat::BGRA8_UNORM:
|
||||||
return PixelFormat::BGRA8;
|
return PixelFormat::BGRA8;
|
||||||
case Tegra::RenderTargetFormat::RGB10_A2_UNORM:
|
case Tegra::RenderTargetFormat::RGB10_A2_UNORM:
|
||||||
return PixelFormat::A2B10G10R10;
|
return PixelFormat::A2B10G10R10U;
|
||||||
case Tegra::RenderTargetFormat::RGBA16_FLOAT:
|
case Tegra::RenderTargetFormat::RGBA16_FLOAT:
|
||||||
return PixelFormat::RGBA16F;
|
return PixelFormat::RGBA16F;
|
||||||
case Tegra::RenderTargetFormat::RGBA16_UNORM:
|
case Tegra::RenderTargetFormat::RGBA16_UNORM:
|
||||||
|
@ -270,11 +270,11 @@ struct SurfaceParams {
|
||||||
case Tegra::RenderTargetFormat::R11G11B10_FLOAT:
|
case Tegra::RenderTargetFormat::R11G11B10_FLOAT:
|
||||||
return PixelFormat::R11FG11FB10F;
|
return PixelFormat::R11FG11FB10F;
|
||||||
case Tegra::RenderTargetFormat::B5G6R5_UNORM:
|
case Tegra::RenderTargetFormat::B5G6R5_UNORM:
|
||||||
return PixelFormat::B5G6R5;
|
return PixelFormat::B5G6R5U;
|
||||||
case Tegra::RenderTargetFormat::RGBA32_UINT:
|
case Tegra::RenderTargetFormat::RGBA32_UINT:
|
||||||
return PixelFormat::RGBA32UI;
|
return PixelFormat::RGBA32UI;
|
||||||
case Tegra::RenderTargetFormat::R8_UNORM:
|
case Tegra::RenderTargetFormat::R8_UNORM:
|
||||||
return PixelFormat::R8;
|
return PixelFormat::R8U;
|
||||||
case Tegra::RenderTargetFormat::R8_UINT:
|
case Tegra::RenderTargetFormat::R8_UINT:
|
||||||
return PixelFormat::R8UI;
|
return PixelFormat::R8UI;
|
||||||
case Tegra::RenderTargetFormat::RG16_FLOAT:
|
case Tegra::RenderTargetFormat::RG16_FLOAT:
|
||||||
|
@ -294,7 +294,7 @@ struct SurfaceParams {
|
||||||
case Tegra::RenderTargetFormat::R16_FLOAT:
|
case Tegra::RenderTargetFormat::R16_FLOAT:
|
||||||
return PixelFormat::R16F;
|
return PixelFormat::R16F;
|
||||||
case Tegra::RenderTargetFormat::R16_UNORM:
|
case Tegra::RenderTargetFormat::R16_UNORM:
|
||||||
return PixelFormat::R16UNORM;
|
return PixelFormat::R16U;
|
||||||
case Tegra::RenderTargetFormat::R16_SNORM:
|
case Tegra::RenderTargetFormat::R16_SNORM:
|
||||||
return PixelFormat::R16S;
|
return PixelFormat::R16S;
|
||||||
case Tegra::RenderTargetFormat::R16_UINT:
|
case Tegra::RenderTargetFormat::R16_UINT:
|
||||||
|
@ -328,15 +328,33 @@ struct SurfaceParams {
|
||||||
static_cast<u32>(component_type));
|
static_cast<u32>(component_type));
|
||||||
UNREACHABLE();
|
UNREACHABLE();
|
||||||
case Tegra::Texture::TextureFormat::B5G6R5:
|
case Tegra::Texture::TextureFormat::B5G6R5:
|
||||||
return PixelFormat::B5G6R5;
|
switch (component_type) {
|
||||||
|
case Tegra::Texture::ComponentType::UNORM:
|
||||||
|
return PixelFormat::B5G6R5U;
|
||||||
|
}
|
||||||
|
LOG_CRITICAL(HW_GPU, "Unimplemented component_type={}",
|
||||||
|
static_cast<u32>(component_type));
|
||||||
|
UNREACHABLE();
|
||||||
case Tegra::Texture::TextureFormat::A2B10G10R10:
|
case Tegra::Texture::TextureFormat::A2B10G10R10:
|
||||||
return PixelFormat::A2B10G10R10;
|
switch (component_type) {
|
||||||
|
case Tegra::Texture::ComponentType::UNORM:
|
||||||
|
return PixelFormat::A2B10G10R10U;
|
||||||
|
}
|
||||||
|
LOG_CRITICAL(HW_GPU, "Unimplemented component_type={}",
|
||||||
|
static_cast<u32>(component_type));
|
||||||
|
UNREACHABLE();
|
||||||
case Tegra::Texture::TextureFormat::A1B5G5R5:
|
case Tegra::Texture::TextureFormat::A1B5G5R5:
|
||||||
return PixelFormat::A1B5G5R5;
|
switch (component_type) {
|
||||||
|
case Tegra::Texture::ComponentType::UNORM:
|
||||||
|
return PixelFormat::A1B5G5R5U;
|
||||||
|
}
|
||||||
|
LOG_CRITICAL(HW_GPU, "Unimplemented component_type={}",
|
||||||
|
static_cast<u32>(component_type));
|
||||||
|
UNREACHABLE();
|
||||||
case Tegra::Texture::TextureFormat::R8:
|
case Tegra::Texture::TextureFormat::R8:
|
||||||
switch (component_type) {
|
switch (component_type) {
|
||||||
case Tegra::Texture::ComponentType::UNORM:
|
case Tegra::Texture::ComponentType::UNORM:
|
||||||
return PixelFormat::R8;
|
return PixelFormat::R8U;
|
||||||
case Tegra::Texture::ComponentType::UINT:
|
case Tegra::Texture::ComponentType::UINT:
|
||||||
return PixelFormat::R8UI;
|
return PixelFormat::R8UI;
|
||||||
}
|
}
|
||||||
|
@ -356,7 +374,13 @@ struct SurfaceParams {
|
||||||
case Tegra::Texture::TextureFormat::R16_G16_B16_A16:
|
case Tegra::Texture::TextureFormat::R16_G16_B16_A16:
|
||||||
return PixelFormat::RGBA16F;
|
return PixelFormat::RGBA16F;
|
||||||
case Tegra::Texture::TextureFormat::BF10GF11RF11:
|
case Tegra::Texture::TextureFormat::BF10GF11RF11:
|
||||||
|
switch (component_type) {
|
||||||
|
case Tegra::Texture::ComponentType::FLOAT:
|
||||||
return PixelFormat::R11FG11FB10F;
|
return PixelFormat::R11FG11FB10F;
|
||||||
|
}
|
||||||
|
LOG_CRITICAL(HW_GPU, "Unimplemented component_type={}",
|
||||||
|
static_cast<u32>(component_type));
|
||||||
|
UNREACHABLE();
|
||||||
case Tegra::Texture::TextureFormat::R32_G32_B32_A32:
|
case Tegra::Texture::TextureFormat::R32_G32_B32_A32:
|
||||||
switch (component_type) {
|
switch (component_type) {
|
||||||
case Tegra::Texture::ComponentType::FLOAT:
|
case Tegra::Texture::ComponentType::FLOAT:
|
||||||
|
@ -378,13 +402,19 @@ struct SurfaceParams {
|
||||||
static_cast<u32>(component_type));
|
static_cast<u32>(component_type));
|
||||||
UNREACHABLE();
|
UNREACHABLE();
|
||||||
case Tegra::Texture::TextureFormat::R32_G32_B32:
|
case Tegra::Texture::TextureFormat::R32_G32_B32:
|
||||||
|
switch (component_type) {
|
||||||
|
case Tegra::Texture::ComponentType::FLOAT:
|
||||||
return PixelFormat::RGB32F;
|
return PixelFormat::RGB32F;
|
||||||
|
}
|
||||||
|
LOG_CRITICAL(HW_GPU, "Unimplemented component_type={}",
|
||||||
|
static_cast<u32>(component_type));
|
||||||
|
UNREACHABLE();
|
||||||
case Tegra::Texture::TextureFormat::R16:
|
case Tegra::Texture::TextureFormat::R16:
|
||||||
switch (component_type) {
|
switch (component_type) {
|
||||||
case Tegra::Texture::ComponentType::FLOAT:
|
case Tegra::Texture::ComponentType::FLOAT:
|
||||||
return PixelFormat::R16F;
|
return PixelFormat::R16F;
|
||||||
case Tegra::Texture::ComponentType::UNORM:
|
case Tegra::Texture::ComponentType::UNORM:
|
||||||
return PixelFormat::R16UNORM;
|
return PixelFormat::R16U;
|
||||||
case Tegra::Texture::ComponentType::SNORM:
|
case Tegra::Texture::ComponentType::SNORM:
|
||||||
return PixelFormat::R16S;
|
return PixelFormat::R16S;
|
||||||
case Tegra::Texture::ComponentType::UINT:
|
case Tegra::Texture::ComponentType::UINT:
|
||||||
|
|
Loading…
Reference in a new issue