HLE cellGcmSys: Avoid calling sys_rsx syscalls in rsx code

This commit is contained in:
Eladash 2020-03-08 08:29:47 +02:00 committed by Ivan
commit 636ed4a48b
2 changed files with 12 additions and 3 deletions

View file

@ -2702,6 +2702,12 @@ namespace rsx
flip_status = CELL_GCM_DISPLAY_FLIP_STATUS_DONE; flip_status = CELL_GCM_DISPLAY_FLIP_STATUS_DONE;
m_queued_flip.in_progress = false; m_queued_flip.in_progress = false;
if (!isHLE)
{
sys_rsx_context_attribute(0x55555555, 0xFEC, buffer, 0, 0, 0);
return;
}
if (flip_handler) if (flip_handler)
{ {
intr_thread->cmd_list intr_thread->cmd_list
@ -2713,8 +2719,6 @@ namespace rsx
thread_ctrl::notify(*intr_thread); thread_ctrl::notify(*intr_thread);
} }
sys_rsx_context_attribute(0x55555555, 0xFEC, buffer, 0, 0, 0);
} }

View file

@ -1433,7 +1433,12 @@ namespace rsx
void user_command(thread* rsx, u32, u32 arg) void user_command(thread* rsx, u32, u32 arg)
{ {
sys_rsx_context_attribute(0x55555555, 0xFEF, 0, arg, 0, 0); if (!rsx->isHLE)
{
sys_rsx_context_attribute(0x55555555, 0xFEF, 0, arg, 0, 0);
return;
}
if (rsx->user_handler) if (rsx->user_handler)
{ {
rsx->intr_thread->cmd_list rsx->intr_thread->cmd_list