VertexLoaderUID: remove global state dependency

This commit is contained in:
Pierre Bourdon 2014-07-24 01:12:12 +02:00
parent e91db62f1b
commit 20369743a4
2 changed files with 7 additions and 8 deletions

View File

@ -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();
}

View File

@ -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())
{