GPU/HW: Flush after each primitive for B-F transparency
Slow, but necessary for some games such as Suikoden II, where it draws multiple polygons to the same area on screen with different transparency modes.
This commit is contained in:
parent
cbee8fab66
commit
a927bfbe50
|
@ -1089,8 +1089,8 @@ void GPU_HW::DispatchRenderCommand()
|
||||||
const GPUTransparencyMode transparency_mode =
|
const GPUTransparencyMode transparency_mode =
|
||||||
rc.transparency_enable ? m_draw_mode.mode_reg.transparency_mode : GPUTransparencyMode::Disabled;
|
rc.transparency_enable ? m_draw_mode.mode_reg.transparency_mode : GPUTransparencyMode::Disabled;
|
||||||
const bool dithering_enable = (!m_true_color && rc.IsDitheringEnabled()) ? m_GPUSTAT.dither_enable : false;
|
const bool dithering_enable = (!m_true_color && rc.IsDitheringEnabled()) ? m_GPUSTAT.dither_enable : false;
|
||||||
if (m_batch.texture_mode != texture_mode || m_batch.transparency_mode != transparency_mode ||
|
if (texture_mode != m_batch.texture_mode || transparency_mode != m_batch.transparency_mode ||
|
||||||
dithering_enable != m_batch.dithering)
|
transparency_mode == GPUTransparencyMode::BackgroundMinusForeground || dithering_enable != m_batch.dithering)
|
||||||
{
|
{
|
||||||
FlushRender();
|
FlushRender();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue