mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-04-26 15:24:55 +00:00
Merge pull request #13479 from iwubcode/mali_draw_fix
VideoCommon: fix a mali draw bug that causes crashes in some games
This commit is contained in:
commit
dadbd2f9fb
1 changed files with 9 additions and 9 deletions
|
@ -644,9 +644,6 @@ void VertexManagerBase::Flush()
|
||||||
// Same with GPU texture decoding, which uses compute shaders.
|
// Same with GPU texture decoding, which uses compute shaders.
|
||||||
g_texture_cache->BindTextures(used_textures, samplers);
|
g_texture_cache->BindTextures(used_textures, samplers);
|
||||||
|
|
||||||
if (PerfQueryBase::ShouldEmulate())
|
|
||||||
g_perf_query->EnableQuery(bpmem.zcontrol.early_ztest ? PQG_ZCOMP_ZCOMPLOC : PQG_ZCOMP);
|
|
||||||
|
|
||||||
if (!skip)
|
if (!skip)
|
||||||
{
|
{
|
||||||
UpdatePipelineConfig();
|
UpdatePipelineConfig();
|
||||||
|
@ -668,15 +665,9 @@ void VertexManagerBase::Flush()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Track the total emulated state draws
|
|
||||||
INCSTAT(g_stats.this_frame.num_draw_calls);
|
|
||||||
|
|
||||||
// Even if we skip the draw, emulated state should still be impacted
|
// Even if we skip the draw, emulated state should still be impacted
|
||||||
OnDraw();
|
OnDraw();
|
||||||
|
|
||||||
if (PerfQueryBase::ShouldEmulate())
|
|
||||||
g_perf_query->DisableQuery(bpmem.zcontrol.early_ztest ? PQG_ZCOMP_ZCOMPLOC : PQG_ZCOMP);
|
|
||||||
|
|
||||||
// The EFB cache is now potentially stale.
|
// The EFB cache is now potentially stale.
|
||||||
g_framebuffer_manager->FlagPeekCacheAsOutOfDate();
|
g_framebuffer_manager->FlagPeekCacheAsOutOfDate();
|
||||||
}
|
}
|
||||||
|
@ -1098,7 +1089,16 @@ void VertexManagerBase::RenderDrawCall(
|
||||||
base_vertex <<= 2;
|
base_vertex <<= 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (PerfQueryBase::ShouldEmulate())
|
||||||
|
g_perf_query->EnableQuery(bpmem.zcontrol.early_ztest ? PQG_ZCOMP_ZCOMPLOC : PQG_ZCOMP);
|
||||||
|
|
||||||
DrawCurrentBatch(base_index, m_index_generator.GetIndexLen(), base_vertex);
|
DrawCurrentBatch(base_index, m_index_generator.GetIndexLen(), base_vertex);
|
||||||
|
|
||||||
|
// Track the total emulated state draws
|
||||||
|
INCSTAT(g_stats.this_frame.num_draw_calls);
|
||||||
|
|
||||||
|
if (PerfQueryBase::ShouldEmulate())
|
||||||
|
g_perf_query->DisableQuery(bpmem.zcontrol.early_ztest ? PQG_ZCOMP_ZCOMPLOC : PQG_ZCOMP);
|
||||||
}
|
}
|
||||||
|
|
||||||
const AbstractPipeline* VertexManagerBase::GetCustomPipeline(
|
const AbstractPipeline* VertexManagerBase::GetCustomPipeline(
|
||||||
|
|
Loading…
Add table
Reference in a new issue