mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-04 14:08:37 +00:00
rsx: Fix race on clearing native_ui vs emu_requested flag
This commit is contained in:
parent
67f098627a
commit
6f76e34104
11 changed files with 25 additions and 19 deletions
|
|
@ -2094,7 +2094,7 @@ namespace rsx
|
|||
}
|
||||
}
|
||||
|
||||
void thread::flip(int buffer)
|
||||
void thread::flip(int buffer, bool emu_flip)
|
||||
{
|
||||
if (!(async_flip_requested & flip_request::any))
|
||||
{
|
||||
|
|
@ -2135,7 +2135,14 @@ namespace rsx
|
|||
m_flattener.force_disable();
|
||||
}
|
||||
|
||||
async_flip_requested.clear();
|
||||
if (emu_flip)
|
||||
{
|
||||
async_flip_requested.clear(flip_request::emu_requested);
|
||||
}
|
||||
else
|
||||
{
|
||||
async_flip_requested.clear(flip_request::native_ui);
|
||||
}
|
||||
}
|
||||
|
||||
if (!skip_frame)
|
||||
|
|
@ -2462,7 +2469,7 @@ namespace rsx
|
|||
|
||||
int_flip_index++;
|
||||
current_display_buffer = buffer;
|
||||
flip(buffer);
|
||||
flip(buffer, true);
|
||||
|
||||
last_flip_time = get_system_time() - 1000000;
|
||||
flip_status = CELL_GCM_DISPLAY_FLIP_STATUS_DONE;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue