mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-26 12:35:27 +00:00
Don't cast -1 to enum to represent a missing value.
This is undefined behavior in C++, and a clang warning suggests it is actually producing bad code as a result: ../Source/Core/VideoCommon/BPFunctions.cpp:164:45: warning: comparison of constant 4294967295 with expression of type 'PEControl::PixelFormat' is always false [-Wtautological-constant-out-of-range-compare] if (new_format == old_format || old_format == (unsigned int)-1)
This commit is contained in:
parent
9b8296d5ab
commit
b5654a2464
@ -161,7 +161,7 @@ void OnPixelFormatChange()
|
||||
auto new_format = bpmem.zcontrol.pixel_format;
|
||||
|
||||
// no need to reinterpret pixel data in these cases
|
||||
if (new_format == old_format || old_format == (unsigned int)-1)
|
||||
if (new_format == old_format || old_format == PEControl::INVALID_FMT)
|
||||
goto skip;
|
||||
|
||||
// Check for pixel format changes
|
||||
|
@ -779,14 +779,15 @@ union PEControl
|
||||
{
|
||||
enum PixelFormat : u32
|
||||
{
|
||||
RGB8_Z24 = 0,
|
||||
RGBA6_Z24 = 1,
|
||||
RGB565_Z16 = 2,
|
||||
Z24 = 3,
|
||||
Y8 = 4,
|
||||
U8 = 5,
|
||||
V8 = 6,
|
||||
YUV420 = 7
|
||||
RGB8_Z24 = 0,
|
||||
RGBA6_Z24 = 1,
|
||||
RGB565_Z16 = 2,
|
||||
Z24 = 3,
|
||||
Y8 = 4,
|
||||
U8 = 5,
|
||||
V8 = 6,
|
||||
YUV420 = 7,
|
||||
INVALID_FMT = 0xffffffff, // Used by Dolphin to represent a missing value.
|
||||
};
|
||||
|
||||
enum DepthFormat : u32
|
||||
|
@ -64,7 +64,7 @@ int Renderer::s_LastEFBScale;
|
||||
bool Renderer::s_skipSwap;
|
||||
bool Renderer::XFBWrited;
|
||||
|
||||
PEControl::PixelFormat Renderer::prev_efb_format = (PEControl::PixelFormat)-1;
|
||||
PEControl::PixelFormat Renderer::prev_efb_format = PEControl::INVALID_FMT;
|
||||
unsigned int Renderer::efb_scale_numeratorX = 1;
|
||||
unsigned int Renderer::efb_scale_numeratorY = 1;
|
||||
unsigned int Renderer::efb_scale_denominatorX = 1;
|
||||
@ -89,7 +89,7 @@ Renderer::Renderer()
|
||||
Renderer::~Renderer()
|
||||
{
|
||||
// invalidate previous efb format
|
||||
prev_efb_format = (PEControl::PixelFormat)-1;
|
||||
prev_efb_format = PEControl::INVALID_FMT;
|
||||
|
||||
efb_scale_numeratorX = efb_scale_numeratorY = efb_scale_denominatorX = efb_scale_denominatorY = 1;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user