rsx: Fix zcull clear command; do not clear ZPASS when ZSTATS is cleared.

This commit is contained in:
kd-11 2020-02-29 12:04:01 +03:00 committed by kd-11
parent 5a73943be6
commit 198c84cabf
2 changed files with 9 additions and 3 deletions

View File

@ -2152,7 +2152,7 @@ namespace rsx
if (g_cfg.video.disable_zcull_queries)
return;
zcull_ctrl->clear(this);
zcull_ctrl->clear(this, type);
}
void thread::get_zcull_stats(u32 type, vm::addr_t sink)
@ -2928,8 +2928,14 @@ namespace rsx
m_free_occlusion_pool.push(query);
}
void ZCULL_control::clear(class ::rsx::thread* ptimer)
void ZCULL_control::clear(class ::rsx::thread* ptimer, u32 type)
{
if (type != CELL_GCM_ZPASS_PIXEL_CNT)
{
// Other types do not generate queries at the moment
return;
}
if (!m_pending_writes.empty())
{
//Remove any dangling/unclaimed queries as the information is lost anyway

View File

@ -434,7 +434,7 @@ namespace rsx
void read_report(class ::rsx::thread* ptimer, vm::addr_t sink, u32 type);
// Clears current stat block and increments stat_tag_id
void clear(class ::rsx::thread* ptimer);
void clear(class ::rsx::thread* ptimer, u32 type);
// Forcefully flushes all
void sync(class ::rsx::thread* ptimer);