From 20369743a433f6fb3c7286201e2e029065c78806 Mon Sep 17 00:00:00 2001 From: Pierre Bourdon Date: Thu, 24 Jul 2014 01:12:12 +0200 Subject: [PATCH] VertexLoaderUID: remove global state dependency --- Source/Core/VideoCommon/VertexLoader.h | 12 ++++++------ Source/Core/VideoCommon/VertexLoaderManager.cpp | 3 +-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Source/Core/VideoCommon/VertexLoader.h b/Source/Core/VideoCommon/VertexLoader.h index 7e40bc8003..080a5d48a8 100644 --- a/Source/Core/VideoCommon/VertexLoader.h +++ b/Source/Core/VideoCommon/VertexLoader.h @@ -40,13 +40,13 @@ public: { } - void InitFromCurrentState(int vtx_attr_group) + VertexLoaderUID(const TVtxDesc& vtx_desc, const VAT& vat) { - vid[0] = g_VtxDesc.Hex & 0xFFFFFFFF; - vid[1] = g_VtxDesc.Hex >> 32; - vid[2] = g_VtxAttr[vtx_attr_group].g0.Hex & ~VAT_0_FRACBITS; - vid[3] = g_VtxAttr[vtx_attr_group].g1.Hex & ~VAT_1_FRACBITS; - vid[4] = g_VtxAttr[vtx_attr_group].g2.Hex & ~VAT_2_FRACBITS; + vid[0] = vtx_desc.Hex & 0xFFFFFFFF; + vid[1] = vtx_desc.Hex >> 32; + vid[2] = vat.g0.Hex & ~VAT_0_FRACBITS; + vid[3] = vat.g1.Hex & ~VAT_1_FRACBITS; + vid[4] = vat.g2.Hex & ~VAT_2_FRACBITS; hash = CalculateHash(); } diff --git a/Source/Core/VideoCommon/VertexLoaderManager.cpp b/Source/Core/VideoCommon/VertexLoaderManager.cpp index dd1196a48e..d8417042b7 100644 --- a/Source/Core/VideoCommon/VertexLoaderManager.cpp +++ b/Source/Core/VideoCommon/VertexLoaderManager.cpp @@ -104,8 +104,7 @@ static VertexLoader* RefreshLoader(int vtx_attr_group) { if ((s_attr_dirty >> vtx_attr_group) & 1) { - VertexLoaderUID uid; - uid.InitFromCurrentState(vtx_attr_group); + VertexLoaderUID uid(g_VtxDesc, g_VtxAttr[vtx_attr_group]); VertexLoaderMap::iterator iter = g_VertexLoaderMap.find(uid); if (iter != g_VertexLoaderMap.end()) {