mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-22 05:40:01 -06: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:
@ -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
|
||||
|
@ -786,7 +786,8 @@ union PEControl
|
||||
Y8 = 4,
|
||||
U8 = 5,
|
||||
V8 = 6,
|
||||
YUV420 = 7
|
||||
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;
|
||||
|
||||
|
Reference in New Issue
Block a user