Turn EFB_WIDTH/EFB_HEIGHT into constexpr

https://bugs.dolphin-emu.org/issues/11692#note-5

Also change const into constexpr while we're at it.
This commit is contained in:
JosJuice 2019-04-28 11:39:59 +02:00
parent e1a5eece60
commit ced2306fc5
2 changed files with 7 additions and 9 deletions

View File

@ -588,8 +588,9 @@ void EncodeXFB(u8* xfb_in_ram, u32 memory_stride, const MathUtil::Rectangle<int>
//
// In our implementation, the garbage just so happens to be the top or bottom row.
// Statistically, that could happen.
u16 y_prev = static_cast<u16>(std::max(clamp_top ? source_rect.top : 0, y - 1));
u16 y_next = static_cast<u16>(std::min(clamp_bottom ? source_rect.bottom : EFB_HEIGHT, y + 1));
const u16 y_prev = static_cast<u16>(std::max(clamp_top ? source_rect.top : 0, y - 1));
const u16 y_next =
static_cast<u16>(std::min<int>(clamp_bottom ? source_rect.bottom : EFB_HEIGHT, y + 1));
// Get a scanline of YUV pixels in 4:4:4 format
for (int i = 1, x = left; x < right; i++, x++)

View File

@ -10,21 +10,18 @@
extern bool g_bRecordFifoData;
// These are accurate (disregarding AA modes).
enum
{
EFB_WIDTH = 640,
EFB_HEIGHT = 528,
};
constexpr u32 EFB_WIDTH = 640;
constexpr u32 EFB_HEIGHT = 528;
// Max XFB width is 720. You can only copy out 640 wide areas of efb to XFB
// so you need multiple copies to do the full width.
// The VI can do horizontal scaling (TODO: emulate).
const u32 MAX_XFB_WIDTH = 720;
constexpr u32 MAX_XFB_WIDTH = 720;
// Although EFB height is 528, 576-line XFB's can be created either with
// vertical scaling by the EFB copy operation or copying to multiple XFB's
// that are next to each other in memory (TODO: handle that situation).
const u32 MAX_XFB_HEIGHT = 576;
constexpr u32 MAX_XFB_HEIGHT = 576;
#ifdef _WIN32
#define PRIM_LOG(...) DEBUG_LOG(VIDEO, __VA_ARGS__)