mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-25 20:22:30 +01:00
Update rsx_methods.cpp
This commit is contained in:
parent
3b15a6b39e
commit
d2ab3383ad
@ -34,16 +34,16 @@ namespace rsx
|
|||||||
rsx_log.trace("RSX method 0x%x (arg=0x%x)", reg << 2, arg);
|
rsx_log.trace("RSX method 0x%x (arg=0x%x)", reg << 2, arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<bool FlushDMA, bool FlushPipe>
|
template<bool FlushDMA, bool FlushPipe, bool IsImmediate = false>
|
||||||
void write_gcm_label(thread* rsx, u32 address, u32 data)
|
void write_gcm_label(thread* rsx, u32 address, u32 data)
|
||||||
{
|
{
|
||||||
const bool is_flip_sema = (address == (rsx->label_addr + 0x10) || address == (rsx->device_addr + 0x30));
|
const bool is_flip_sema = (address == (rsx->label_addr + 0x10) || address == (rsx->device_addr + 0x30));
|
||||||
if (!is_flip_sema)
|
if (!is_flip_sema)
|
||||||
{
|
{
|
||||||
// First, queue the GPU work. If it flushes the queue for us, the following routines will be faster.
|
// First, queue the GPU work. If it flushes the queue for us, the following routines will be faster.
|
||||||
const bool handled = rsx->get_backend_config().supports_host_gpu_labels && rsx->release_GCM_label(address, data);
|
const bool handled = !IsImmediate && rsx->get_backend_config().supports_host_gpu_labels && rsx->release_GCM_label(address, data);
|
||||||
|
|
||||||
if (vm::_ref<RsxSemaphore>(address).val == data)
|
if (!IsImmediate && vm::_ref<RsxSemaphore>(address).val == data)
|
||||||
{
|
{
|
||||||
// It's a no-op to write the same value (although there is a delay in real-hw so it's more accurate to allow GPU label in this case)
|
// It's a no-op to write the same value (although there is a delay in real-hw so it's more accurate to allow GPU label in this case)
|
||||||
return;
|
return;
|
||||||
@ -190,7 +190,7 @@ namespace rsx
|
|||||||
arg = 1;
|
arg = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
write_gcm_label<false, true>(rsx, addr, arg);
|
write_gcm_label<false, true, true>(rsx, addr, arg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user