From e61eb34ae69df502ce1cf0af7b1e8c892a267814 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sat, 1 Oct 2016 01:05:36 -0400 Subject: [PATCH 1/2] VertexManagerBase: Get rid of a u16 cast Just using the direct value is more straightforward --- Source/Core/VideoCommon/VertexManagerBase.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Core/VideoCommon/VertexManagerBase.h b/Source/Core/VideoCommon/VertexManagerBase.h index 36ffc30410..1e1e6c82fb 100644 --- a/Source/Core/VideoCommon/VertexManagerBase.h +++ b/Source/Core/VideoCommon/VertexManagerBase.h @@ -37,7 +37,7 @@ private: static const u32 LARGEST_POSSIBLE_VERTEX = sizeof(float) * 45 + sizeof(u32) * 2; // 3 pos, 3*3 normal, 2*u32 color, 8*4 tex, 1 posMat - static const u32 MAX_PRIMITIVES_PER_COMMAND = (u16)-1; + static const u32 MAX_PRIMITIVES_PER_COMMAND = 65535; public: static const u32 MAXVBUFFERSIZE = From 361c7c9c0999d16d2aaf6da2f0d45a70902f4127 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Sat, 1 Oct 2016 03:37:17 -0400 Subject: [PATCH 2/2] VertexManagerBase: Make class constants constexpr --- Source/Core/VideoCommon/VertexManagerBase.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Source/Core/VideoCommon/VertexManagerBase.h b/Source/Core/VideoCommon/VertexManagerBase.h index 1e1e6c82fb..cbc1d63d84 100644 --- a/Source/Core/VideoCommon/VertexManagerBase.h +++ b/Source/Core/VideoCommon/VertexManagerBase.h @@ -33,18 +33,19 @@ struct Slope class VertexManagerBase { private: - static const u32 SMALLEST_POSSIBLE_VERTEX = sizeof(float) * 3; // 3 pos - static const u32 LARGEST_POSSIBLE_VERTEX = - sizeof(float) * 45 + sizeof(u32) * 2; // 3 pos, 3*3 normal, 2*u32 color, 8*4 tex, 1 posMat + // 3 pos + static constexpr u32 SMALLEST_POSSIBLE_VERTEX = sizeof(float) * 3; + // 3 pos, 3*3 normal, 2*u32 color, 8*4 tex, 1 posMat + static constexpr u32 LARGEST_POSSIBLE_VERTEX = sizeof(float) * 45 + sizeof(u32) * 2; - static const u32 MAX_PRIMITIVES_PER_COMMAND = 65535; + static constexpr u32 MAX_PRIMITIVES_PER_COMMAND = 65535; public: - static const u32 MAXVBUFFERSIZE = + static constexpr u32 MAXVBUFFERSIZE = ROUND_UP_POW2(MAX_PRIMITIVES_PER_COMMAND * LARGEST_POSSIBLE_VERTEX); // We may convert triangle-fans to triangle-lists, almost 3x as many indices. - static const u32 MAXIBUFFERSIZE = ROUND_UP_POW2(MAX_PRIMITIVES_PER_COMMAND * 3); + static constexpr u32 MAXIBUFFERSIZE = ROUND_UP_POW2(MAX_PRIMITIVES_PER_COMMAND * 3); VertexManagerBase(); // needs to be virtual for DX11's dtor