mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-12 04:14:35 +00:00
fixup - locking
This commit is contained in:
parent
b957eac6e8
commit
92b5a705d8
@ -1134,7 +1134,7 @@ namespace rsx
|
|||||||
{
|
{
|
||||||
// Get timestamp, and convert it from microseconds to nanoseconds
|
// Get timestamp, and convert it from microseconds to nanoseconds
|
||||||
return get_system_time() * 1000;
|
return get_system_time() * 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
gsl::span<const gsl::byte> thread::get_raw_index_array(const std::vector<std::pair<u32, u32> >& draw_indexed_clause) const
|
gsl::span<const gsl::byte> thread::get_raw_index_array(const std::vector<std::pair<u32, u32> >& draw_indexed_clause) const
|
||||||
{
|
{
|
||||||
@ -1280,11 +1280,13 @@ namespace rsx
|
|||||||
{
|
{
|
||||||
if (!in_begin_end)
|
if (!in_begin_end)
|
||||||
{
|
{
|
||||||
|
reader_lock lock(m_mtx_task);
|
||||||
for (const auto& range : m_invalidated_memory_ranges)
|
for (const auto& range : m_invalidated_memory_ranges)
|
||||||
{
|
{
|
||||||
on_invalidate_memory_range(range.first, range.second);
|
on_invalidate_memory_range(range.first, range.second);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lock.upgrade();
|
||||||
m_invalidated_memory_ranges.clear();
|
m_invalidated_memory_ranges.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2325,9 +2327,10 @@ namespace rsx
|
|||||||
check_zcull_status(false);
|
check_zcull_status(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void thread::on_notify_memory_unmapped(u32 base_address, u32 size)
|
void thread::on_notify_memory_unmapped(u32 base_address, u32 size)
|
||||||
{
|
{
|
||||||
m_invalidated_memory_ranges.push_back({ base_address, size });
|
writer_lock lock(m_mtx_task);
|
||||||
|
m_invalidated_memory_ranges.push_back({ base_address, size });
|
||||||
}
|
}
|
||||||
|
|
||||||
//Pause/cont wrappers for FIFO ctrl. Never call this from rsx thread itself!
|
//Pause/cont wrappers for FIFO ctrl. Never call this from rsx thread itself!
|
||||||
|
Loading…
x
Reference in New Issue
Block a user