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:
refractionpcsx2 2022-06-28 08:11:05 +01:00
parent ab6148f0b4
commit 73c29d44c3
2 changed files with 4 additions and 4 deletions

View File

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

View File

@ -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;