infinitesimal fixes

This commit is contained in:
kd-11 2018-02-10 11:52:44 +03:00
parent 3406cc9886
commit 3bbecd998a
6 changed files with 20 additions and 11 deletions

View file

@ -193,6 +193,15 @@ namespace rsx
verify(HERE), valid_count > 0; verify(HERE), valid_count > 0;
valid_count--; 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 // 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); auto test = std::make_pair(rsx_address, range);
for (auto &address_range : m_cache) for (auto &address_range : m_cache)
{ {
if (address_range.second.valid_count == 0) continue;
auto &range_data = address_range.second; auto &range_data = address_range.second;
if (!range_data.overlaps(rsx_address, range)) continue;
for (auto &tex : range_data.data) for (auto &tex : range_data.data)
{ {
@ -1504,7 +1513,7 @@ namespace rsx
auto overlapping_surfaces = find_texture_from_range(texaddr, tex_size); auto overlapping_surfaces = find_texture_from_range(texaddr, tex_size);
if (!overlapping_surfaces.empty()) 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) if (surface->get_context() != rsx::texture_upload_context::blit_engine_dst)
continue; continue;
@ -1678,7 +1687,7 @@ namespace rsx
//Check for any available region that will fit this one //Check for any available region that will fit this one
auto overlapping_surfaces = find_texture_from_range(dst_address, dst.pitch * dst.clip_height); 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) if (surface->get_context() != rsx::texture_upload_context::blit_engine_dst)
continue; continue;
@ -1743,7 +1752,7 @@ namespace rsx
auto overlapping_surfaces = find_texture_from_range(src_address, src.pitch * src.height); auto overlapping_surfaces = find_texture_from_range(src_address, src.pitch * src.height);
auto old_src_area = src_area; 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 //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 || if (surface->get_context() == rsx::texture_upload_context::shader_read ||

View file

@ -90,7 +90,7 @@ namespace gl
{ {
private: private:
fence m_fence; fence m_fence;
//u32 pbo_id = 0; u32 pbo_id = 0;
u32 pbo_size = 0; u32 pbo_size = 0;
u32 vram_texture = 0; u32 vram_texture = 0;
@ -196,7 +196,7 @@ namespace gl
} }
public: public:
u32 pbo_id = 0;
void reset(u32 base, u32 size, bool flushable=false) 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; rsx::protection_policy policy = g_cfg.video.strict_rendering_mode ? rsx::protection_policy::protect_policy_full_range : rsx::protection_policy::protect_policy_conservative;

View file

@ -352,7 +352,7 @@ namespace rsx
* Execute a backend local task queue * Execute a backend local task queue
* Idle argument checks that the FIFO queue is in an idle state * 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: public:
virtual std::string get_name() const override; virtual std::string get_name() const override;

View file

@ -84,7 +84,7 @@ namespace vk
CHECK_RESULT(vkCreatePipelineLayout(*m_device, &layout_info, nullptr, &m_pipeline_layout)); 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*/)
{ {
} }

View file

@ -1157,7 +1157,7 @@ namespace rsx
set_size(_w, _h); 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); image_view::set_size(h, h);
text_offset = (h / 2) + 10; //By default text is at the horizontal center text_offset = (h / 2) + 10; //By default text is at the horizontal center

View file

@ -59,7 +59,7 @@ namespace rsx
virtual void update(){} virtual void update(){}
virtual void on_button_pressed(pad_button button_press) virtual void on_button_pressed(pad_button /*button_press*/)
{ {
close(); close();
}; };
@ -332,7 +332,7 @@ namespace rsx
return result; return result;
} }
s32 show(std::vector<SaveDataEntry>& save_entries, u32 op, vm::ptr<CellSaveDataListSet> listSet) s32 show(std::vector<SaveDataEntry>& save_entries, u32 op, vm::ptr<CellSaveDataListSet> /*listSet*/)
{ {
std::vector<u8> null_icon; std::vector<u8> null_icon;
auto num_actual_saves = save_entries.size(); auto num_actual_saves = save_entries.size();