mirror of https://github.com/PCSX2/pcsx2.git
gsdx sw: always enable the gs memory wrapping emulation
This commit is contained in:
parent
c115a4cf76
commit
688f05ff26
|
@ -84,10 +84,27 @@ GSLocalMemory::psm_t GSLocalMemory::m_psm[64];
|
||||||
GSLocalMemory::GSLocalMemory()
|
GSLocalMemory::GSLocalMemory()
|
||||||
: m_clut(this)
|
: m_clut(this)
|
||||||
{
|
{
|
||||||
if (theApp.GetConfigB("UserHacks") && theApp.GetConfigB("wrap_gs_mem"))
|
m_use_fifo_alloc = theApp.GetConfigB("UserHacks") && theApp.GetConfigB("wrap_gs_mem");
|
||||||
|
switch (theApp.GetCurrentRendererType()) {
|
||||||
|
case GSRendererType::OGL_SW:
|
||||||
|
case GSRendererType::DX9_SW:
|
||||||
|
case GSRendererType::DX1011_SW:
|
||||||
|
m_use_fifo_alloc = true;
|
||||||
|
break;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_use_fifo_alloc)
|
||||||
m_vm8 = (uint8*)fifo_alloc(m_vmsize, 4);
|
m_vm8 = (uint8*)fifo_alloc(m_vmsize, 4);
|
||||||
else
|
else
|
||||||
|
m_vm8 = nullptr;
|
||||||
|
|
||||||
|
// Either we don't use fifo alloc or we get an error.
|
||||||
|
if (m_vm8 == nullptr)
|
||||||
|
{
|
||||||
m_vm8 = (uint8*)vmalloc(m_vmsize * 4, false);
|
m_vm8 = (uint8*)vmalloc(m_vmsize * 4, false);
|
||||||
|
m_use_fifo_alloc = false;
|
||||||
|
}
|
||||||
|
|
||||||
m_vm16 = (uint16*)m_vm8;
|
m_vm16 = (uint16*)m_vm8;
|
||||||
m_vm32 = (uint32*)m_vm8;
|
m_vm32 = (uint32*)m_vm8;
|
||||||
|
@ -472,7 +489,7 @@ GSLocalMemory::GSLocalMemory()
|
||||||
|
|
||||||
GSLocalMemory::~GSLocalMemory()
|
GSLocalMemory::~GSLocalMemory()
|
||||||
{
|
{
|
||||||
if (theApp.GetConfigB("UserHacks") && theApp.GetConfigB("wrap_gs_mem"))
|
if (m_use_fifo_alloc)
|
||||||
fifo_free(m_vm8, m_vmsize, 4);
|
fifo_free(m_vm8, m_vmsize, 4);
|
||||||
else
|
else
|
||||||
vmfree(m_vm8, m_vmsize * 4);
|
vmfree(m_vm8, m_vmsize * 4);
|
||||||
|
|
|
@ -128,6 +128,8 @@ public:
|
||||||
GSClut m_clut;
|
GSClut m_clut;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
bool m_use_fifo_alloc;
|
||||||
|
|
||||||
static uint32 pageOffset32[32][32][64];
|
static uint32 pageOffset32[32][32][64];
|
||||||
static uint32 pageOffset32Z[32][32][64];
|
static uint32 pageOffset32Z[32][32][64];
|
||||||
static uint32 pageOffset16[32][64][64];
|
static uint32 pageOffset16[32][64][64];
|
||||||
|
|
Loading…
Reference in New Issue