mirror of https://github.com/RPCS3/rpcs3.git
rsx: Add eng lock before flagging memory unmap
- This is much better than polling on atomics every cycle for something that happens a few times during gameplay
This commit is contained in:
parent
93d93b4805
commit
257556bbf5
|
@ -2945,6 +2945,9 @@ namespace rsx
|
||||||
const bool existing_range_valid = m_invalidated_memory_range.valid();
|
const bool existing_range_valid = m_invalidated_memory_range.valid();
|
||||||
const auto unmap_range = address_range::start_length(address, size);
|
const auto unmap_range = address_range::start_length(address, size);
|
||||||
|
|
||||||
|
// Pause RSX thread momentarily to handle unmapping
|
||||||
|
eng_lock elock(this);
|
||||||
|
|
||||||
if (existing_range_valid && m_invalidated_memory_range.touches(unmap_range))
|
if (existing_range_valid && m_invalidated_memory_range.touches(unmap_range))
|
||||||
{
|
{
|
||||||
// Merge range-to-invalidate in case of consecutive unmaps
|
// Merge range-to-invalidate in case of consecutive unmaps
|
||||||
|
|
Loading…
Reference in New Issue