GSdx: GSOffset::GetPages was caching a ridiculous amount of data, it isn't that much slower without it.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5028 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
gabest11 committed 2011-12-28 20:21:32 +00:00
1 parent 03bca19d99
commit 6f97ca35e2
7 files changed
+63 -71

No files matched your search

+6 -4
View File
@@ -74,7 +74,7 @@ GSTextureCacheSW::Texture* GSTextureCacheSW::Lookup(const GIFRegTEX0& TEX0, cons
m_textures.insert(t);
for(list<uint32>::const_iterator i = t->m_pages.n->begin(); i != t->m_pages.n->end(); i++)
for(vector<uint32>::const_iterator i = t->m_pages.n->begin(); i != t->m_pages.n->end(); i++)
{
m_map[*i].push_front(t);
}
@@ -83,9 +83,9 @@ GSTextureCacheSW::Texture* GSTextureCacheSW::Lookup(const GIFRegTEX0& TEX0, cons
return t;
}
void GSTextureCacheSW::InvalidatePages(const list<uint32>* pages, uint32 psm)
void GSTextureCacheSW::InvalidatePages(const vector<uint32>* pages, uint32 psm)
{
for(list<uint32>::const_iterator p = pages->begin(); p != pages->end(); p++)
for(vector<uint32>::const_iterator p = pages->begin(); p != pages->end(); p++)
{
uint32 page = *p;
@@ -183,7 +183,7 @@ GSTextureCacheSW::Texture::Texture(GSState* state, uint32 tw0, const GIFRegTEX0&
m_pages.n = m_offset->GetPages(GSVector4i(0, 0, 1 << TEX0.TW, 1 << TEX0.TH));
for(list<uint32>::const_iterator i = m_pages.n->begin(); i != m_pages.n->end(); i++)
for(vector<uint32>::const_iterator i = m_pages.n->begin(); i != m_pages.n->end(); i++)
{
uint32 page = *i;
@@ -200,6 +200,8 @@ GSTextureCacheSW::Texture::Texture(GSState* state, uint32 tw0, const GIFRegTEX0&
GSTextureCacheSW::Texture::~Texture()
{
delete m_pages.n;
if(m_buff)
{
_aligned_free(m_buff);