mirror of https://github.com/PCSX2/pcsx2.git
GS: Don't vmalloc inside fifo_alloc to avoid logic confusion.
Also remove a pointless check from my previous COP2 fix.
This commit is contained in:
parent
ab6148f0b4
commit
73c29d44c3
|
@ -969,7 +969,7 @@ void* fifo_alloc(size_t size, size_t repeat)
|
||||||
if (repeat >= std::size(s_Next))
|
if (repeat >= std::size(s_Next))
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Memory mapping overflow (%zu >= %u)\n", repeat, static_cast<unsigned>(std::size(s_Next)));
|
fprintf(stderr, "Memory mapping overflow (%zu >= %u)\n", repeat, static_cast<unsigned>(std::size(s_Next)));
|
||||||
return vmalloc(size * repeat, false); // Fallback to default vmalloc
|
return nullptr; // Fallback to default vmalloc
|
||||||
}
|
}
|
||||||
|
|
||||||
s_fh = CreateFileMapping(INVALID_HANDLE_VALUE, nullptr, PAGE_READWRITE, 0, size, nullptr);
|
s_fh = CreateFileMapping(INVALID_HANDLE_VALUE, nullptr, PAGE_READWRITE, 0, size, nullptr);
|
||||||
|
@ -977,7 +977,7 @@ void* fifo_alloc(size_t size, size_t repeat)
|
||||||
if (s_fh == NULL)
|
if (s_fh == NULL)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Failed to reserve memory. WIN API ERROR:%u\n", errorID);
|
fprintf(stderr, "Failed to reserve memory. WIN API ERROR:%u\n", errorID);
|
||||||
return vmalloc(size * repeat, false); // Fallback to default vmalloc
|
return nullptr; // Fallback to default vmalloc
|
||||||
}
|
}
|
||||||
|
|
||||||
int mmap_segment_failed = 0;
|
int mmap_segment_failed = 0;
|
||||||
|
@ -994,7 +994,7 @@ void* fifo_alloc(size_t size, size_t repeat)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Memory mapping failed after %d attempts, aborting. WIN API ERROR:%u\n", mmap_segment_failed, errorID);
|
fprintf(stderr, "Memory mapping failed after %d attempts, aborting. WIN API ERROR:%u\n", mmap_segment_failed, errorID);
|
||||||
fifo_free(fifo, size, repeat);
|
fifo_free(fifo, size, repeat);
|
||||||
return vmalloc(size * repeat, false); // Fallback to default vmalloc
|
return nullptr; // Fallback to default vmalloc
|
||||||
}
|
}
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
|
|
@ -259,7 +259,7 @@ void COP2MicroFinishPass::Run(u32 start, u32 end, EEINST* inst_cache)
|
||||||
inst->info |= EEINST_COP2_FINISH_VU0_MICRO;
|
inst->info |= EEINST_COP2_FINISH_VU0_MICRO;
|
||||||
|
|
||||||
// QMTC2 and CTC2 interlock on M-Bit not just VU end, so VU0 might continue to run, so we need to continue to check.
|
// QMTC2 and CTC2 interlock on M-Bit not just VU end, so VU0 might continue to run, so we need to continue to check.
|
||||||
if ((_Rs_ == 005 || _Rs_ == 006) && (cpuRegs.code & 1))
|
if (_Rs_ == 005 || _Rs_ == 006)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
needs_vu0_finish = false;
|
needs_vu0_finish = false;
|
||||||
|
|
Loading…
Reference in New Issue