summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/RenderBase.cpp
diff options
context:
space:
mode:
authorPokechu22 <Pokechu022@gmail.com>2022-01-29 13:28:17 -0800
committerPokechu22 <Pokechu022@gmail.com>2022-03-29 15:34:43 -0700
commit8882eb040a5e4121d0fb19026862bd456b492b6c (patch)
treedc1dee9eefbe0d6a031b65b87c56eae99ac8f2f1 /Source/Core/VideoCommon/RenderBase.cpp
parent45b8ebeb25ce28c01beff8a8507de45515b13a33 (diff)
PixelEngine: Convert to BitField and enum class
Diffstat (limited to 'Source/Core/VideoCommon/RenderBase.cpp')
-rw-r--r--Source/Core/VideoCommon/RenderBase.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp
index 861c69d985..9d3cfedbd3 100644
--- a/Source/Core/VideoCommon/RenderBase.cpp
+++ b/Source/Core/VideoCommon/RenderBase.cpp
@@ -247,9 +247,6 @@ u32 Renderer::AccessEFB(EFBAccessType type, u32 x, u32 y, u32 poke_data)
// a little-endian value is expected to be returned
color = ((color & 0xFF00FF00) | ((color >> 16) & 0xFF) | ((color << 16) & 0xFF0000));
- // check what to do with the alpha channel (GX_PokeAlphaRead)
- PixelEngine::UPEAlphaReadReg alpha_read_mode = PixelEngine::GetAlphaReadMode();
-
if (bpmem.zcontrol.pixel_format == PixelFormat::RGBA6_Z24)
{
color = RGBA8ToRGBA6ToRGBA8(color);
@@ -263,17 +260,24 @@ u32 Renderer::AccessEFB(EFBAccessType type, u32 x, u32 y, u32 poke_data)
color |= 0xFF000000;
}
- if (alpha_read_mode.ReadMode == 2)
+ // check what to do with the alpha channel (GX_PokeAlphaRead)
+ PixelEngine::AlphaReadMode alpha_read_mode = PixelEngine::GetAlphaReadMode();
+
+ if (alpha_read_mode == PixelEngine::AlphaReadMode::ReadNone)
{
- return color; // GX_READ_NONE
+ return color;
}
- else if (alpha_read_mode.ReadMode == 1)
+ else if (alpha_read_mode == PixelEngine::AlphaReadMode::ReadFF)
{
- return color | 0xFF000000; // GX_READ_FF
+ return color | 0xFF000000;
}
- else /*if(alpha_read_mode.ReadMode == 0)*/
+ else
{
- return color & 0x00FFFFFF; // GX_READ_00
+ if (alpha_read_mode != PixelEngine::AlphaReadMode::Read00)
+ {
+ PanicAlertFmt("Invalid PE alpha read mode: {}", static_cast<u16>(alpha_read_mode));
+ }
+ return color & 0x00FFFFFF;
}
}
else // if (type == EFBAccessType::PeekZ)