mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-22 02:32:36 +01:00
rsx: Fix invalid iterator comparison (asserts on debug builds)
Also make ranged_map::count const
This commit is contained in:
parent
b176085e14
commit
d8d0af2bb3
@ -128,7 +128,7 @@ namespace rsx
|
||||
public:
|
||||
bool operator == (const iterator& other) const
|
||||
{
|
||||
return m_it == other.m_it;
|
||||
return m_current == other.m_current && m_it == other.m_it;
|
||||
}
|
||||
|
||||
auto* operator -> ()
|
||||
@ -183,10 +183,10 @@ namespace rsx
|
||||
m_data[block_for(range.start)].insert_or_assign(range.start, std::forward<T>(value));
|
||||
}
|
||||
|
||||
usz count(const u32 key)
|
||||
usz count(const u32 key) const
|
||||
{
|
||||
auto& block = m_data[block_for(key)];
|
||||
if (auto found = block.find(key);
|
||||
const auto& block = m_data[block_for(key)];
|
||||
if (const auto found = block.find(key);
|
||||
found != block.end())
|
||||
{
|
||||
return 1;
|
||||
|
@ -353,7 +353,7 @@ namespace rsx
|
||||
|
||||
// If this surface has already been added via another descendant, just ignore it
|
||||
bool ignore = false;
|
||||
for (auto &slice : new_surface->old_contents)
|
||||
for (const auto& slice : new_surface->old_contents)
|
||||
{
|
||||
if (slice.source == surface)
|
||||
{
|
||||
@ -412,7 +412,8 @@ namespace rsx
|
||||
u64 new_content_tag = 0;
|
||||
|
||||
address_range* storage_bounds;
|
||||
surface_ranged_map *primary_storage, *secondary_storage;
|
||||
surface_ranged_map* primary_storage;
|
||||
surface_ranged_map* secondary_storage;
|
||||
if constexpr (depth)
|
||||
{
|
||||
primary_storage = &m_depth_stencil_storage;
|
||||
|
Loading…
Reference in New Issue
Block a user