diff --git a/rpcs3/Emu/RSX/Common/texture_cache.h b/rpcs3/Emu/RSX/Common/texture_cache.h index 9170ade5a6..f2935bbab7 100644 --- a/rpcs3/Emu/RSX/Common/texture_cache.h +++ b/rpcs3/Emu/RSX/Common/texture_cache.h @@ -193,6 +193,15 @@ namespace rsx verify(HERE), valid_count > 0; valid_count--; } + + bool overlaps(u32 addr, u32 range) const + { + const u32 limit = addr + range; + if (limit <= min_addr) return false; + + const u32 this_limit = max_addr + max_range; + return (this_limit > addr); + } }; // Keep track of cache misses to pre-emptively flush some addresses @@ -672,8 +681,8 @@ namespace rsx auto test = std::make_pair(rsx_address, range); for (auto &address_range : m_cache) { - if (address_range.second.valid_count == 0) continue; auto &range_data = address_range.second; + if (!range_data.overlaps(rsx_address, range)) continue; for (auto &tex : range_data.data) { @@ -1504,7 +1513,7 @@ namespace rsx auto overlapping_surfaces = find_texture_from_range(texaddr, tex_size); if (!overlapping_surfaces.empty()) { - for (auto surface : overlapping_surfaces) + for (const auto &surface : overlapping_surfaces) { if (surface->get_context() != rsx::texture_upload_context::blit_engine_dst) continue; @@ -1678,7 +1687,7 @@ namespace rsx //Check for any available region that will fit this one auto overlapping_surfaces = find_texture_from_range(dst_address, dst.pitch * dst.clip_height); - for (auto surface: overlapping_surfaces) + for (const auto &surface : overlapping_surfaces) { if (surface->get_context() != rsx::texture_upload_context::blit_engine_dst) continue; @@ -1743,7 +1752,7 @@ namespace rsx auto overlapping_surfaces = find_texture_from_range(src_address, src.pitch * src.height); auto old_src_area = src_area; - for (auto &surface : overlapping_surfaces) + for (const auto &surface : overlapping_surfaces) { //look for any that will fit, unless its a shader read surface or framebuffer_storage if (surface->get_context() == rsx::texture_upload_context::shader_read || diff --git a/rpcs3/Emu/RSX/GL/GLTextureCache.h b/rpcs3/Emu/RSX/GL/GLTextureCache.h index f2aa811cbf..5ad24aaba5 100644 --- a/rpcs3/Emu/RSX/GL/GLTextureCache.h +++ b/rpcs3/Emu/RSX/GL/GLTextureCache.h @@ -90,7 +90,7 @@ namespace gl { private: fence m_fence; - //u32 pbo_id = 0; + u32 pbo_id = 0; u32 pbo_size = 0; u32 vram_texture = 0; @@ -196,7 +196,7 @@ namespace gl } public: - u32 pbo_id = 0; + void reset(u32 base, u32 size, bool flushable=false) { rsx::protection_policy policy = g_cfg.video.strict_rendering_mode ? rsx::protection_policy::protect_policy_full_range : rsx::protection_policy::protect_policy_conservative; diff --git a/rpcs3/Emu/RSX/RSXThread.h b/rpcs3/Emu/RSX/RSXThread.h index 7fba4ec791..7645c1fe0b 100644 --- a/rpcs3/Emu/RSX/RSXThread.h +++ b/rpcs3/Emu/RSX/RSXThread.h @@ -352,7 +352,7 @@ namespace rsx * Execute a backend local task queue * Idle argument checks that the FIFO queue is in an idle state */ - virtual void do_local_task(bool idle) {} + virtual void do_local_task(bool /*idle*/) {} public: virtual std::string get_name() const override; diff --git a/rpcs3/Emu/RSX/VK/VKOverlays.h b/rpcs3/Emu/RSX/VK/VKOverlays.h index 2d02d3ccea..6212a2f143 100644 --- a/rpcs3/Emu/RSX/VK/VKOverlays.h +++ b/rpcs3/Emu/RSX/VK/VKOverlays.h @@ -84,7 +84,7 @@ namespace vk CHECK_RESULT(vkCreatePipelineLayout(*m_device, &layout_info, nullptr, &m_pipeline_layout)); } - virtual void update_uniforms(vk::glsl::program *program) + virtual void update_uniforms(vk::glsl::program* /*program*/) { } diff --git a/rpcs3/Emu/RSX/overlay_controls.h b/rpcs3/Emu/RSX/overlay_controls.h index 8fd4eede57..448d5319fe 100644 --- a/rpcs3/Emu/RSX/overlay_controls.h +++ b/rpcs3/Emu/RSX/overlay_controls.h @@ -1157,7 +1157,7 @@ namespace rsx set_size(_w, _h); } - void set_size(u16 w, u16 h) override + void set_size(u16 /*w*/, u16 h) override { image_view::set_size(h, h); text_offset = (h / 2) + 10; //By default text is at the horizontal center diff --git a/rpcs3/Emu/RSX/overlays.h b/rpcs3/Emu/RSX/overlays.h index 45c89ba92a..a17e13ee51 100644 --- a/rpcs3/Emu/RSX/overlays.h +++ b/rpcs3/Emu/RSX/overlays.h @@ -59,7 +59,7 @@ namespace rsx virtual void update(){} - virtual void on_button_pressed(pad_button button_press) + virtual void on_button_pressed(pad_button /*button_press*/) { close(); }; @@ -332,7 +332,7 @@ namespace rsx return result; } - s32 show(std::vector& save_entries, u32 op, vm::ptr listSet) + s32 show(std::vector& save_entries, u32 op, vm::ptr /*listSet*/) { std::vector null_icon; auto num_actual_saves = save_entries.size();