mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2024-11-26 23:55:40 +00:00
GPU: Halve draw ticks for 480i even with force progressive
Fixes some of the games broken with the enhancement on.
This commit is contained in:
parent
5b1ed7903b
commit
1d5af57f71
|
@ -445,7 +445,7 @@ protected:
|
||||||
ticks_per_row += average_width;
|
ticks_per_row += average_width;
|
||||||
if (semitransparent || m_GPUSTAT.check_mask_before_draw)
|
if (semitransparent || m_GPUSTAT.check_mask_before_draw)
|
||||||
ticks_per_row += (average_width + 1u) / 2u;
|
ticks_per_row += (average_width + 1u) / 2u;
|
||||||
if (IsInterlacedRenderingEnabled())
|
if (m_GPUSTAT.SkipDrawingToActiveField())
|
||||||
height = std::max<u32>(height / 2, 1u);
|
height = std::max<u32>(height / 2, 1u);
|
||||||
|
|
||||||
AddCommandTicks(ticks_per_row * height);
|
AddCommandTicks(ticks_per_row * height);
|
||||||
|
@ -457,14 +457,14 @@ protected:
|
||||||
ticks_per_row += width;
|
ticks_per_row += width;
|
||||||
if (semitransparent || m_GPUSTAT.check_mask_before_draw)
|
if (semitransparent || m_GPUSTAT.check_mask_before_draw)
|
||||||
ticks_per_row += (width + 1u) / 2u;
|
ticks_per_row += (width + 1u) / 2u;
|
||||||
if (IsInterlacedRenderingEnabled())
|
if (m_GPUSTAT.SkipDrawingToActiveField())
|
||||||
height = std::max<u32>(height / 2, 1u);
|
height = std::max<u32>(height / 2, 1u);
|
||||||
|
|
||||||
AddCommandTicks(ticks_per_row * height);
|
AddCommandTicks(ticks_per_row * height);
|
||||||
}
|
}
|
||||||
ALWAYS_INLINE void AddDrawLineTicks(u32 width, u32 height, bool shaded)
|
ALWAYS_INLINE void AddDrawLineTicks(u32 width, u32 height, bool shaded)
|
||||||
{
|
{
|
||||||
if (IsInterlacedRenderingEnabled())
|
if (m_GPUSTAT.SkipDrawingToActiveField())
|
||||||
height = std::max<u32>(height / 2, 1u);
|
height = std::max<u32>(height / 2, 1u);
|
||||||
|
|
||||||
AddCommandTicks(std::max(width, height));
|
AddCommandTicks(std::max(width, height));
|
||||||
|
|
Loading…
Reference in a new issue