rsx: Optionally sync on texture read semaphore

- Some games use texture semaphore for zcull sync which is rather bizzare.
  However, it works on realhw as the depth test happens before fragment shader completion
- Due to the high performance penalty incurred by this act, this
behavior is only enabled by the "strict rendering mode" option.
This commit is contained in:
kd-11 2020-01-19 18:48:02 +03:00 committed by kd-11
parent 949cfa7fdb
commit adcc3e9c4b

View File

@ -219,6 +219,10 @@ namespace rsx
{ {
// Pipeline barrier seems to be equivalent to a SHADER_READ stage barrier // Pipeline barrier seems to be equivalent to a SHADER_READ stage barrier
rsx::g_dma_manager.sync(); rsx::g_dma_manager.sync();
if (g_cfg.video.strict_rendering_mode)
{
rsx->sync();
}
// lle-gcm likes to inject system reserved semaphores, presumably for system/vsh usage // lle-gcm likes to inject system reserved semaphores, presumably for system/vsh usage
// Avoid calling render to avoid any havoc(flickering) they may cause from invalid flush/write // Avoid calling render to avoid any havoc(flickering) they may cause from invalid flush/write