mirror of https://github.com/PCSX2/pcsx2.git
GS/HW: Fix bilinear-over-self targets getting discarded
This commit is contained in:
parent
f43b5ee76f
commit
2c3902b1a1
|
@ -1835,8 +1835,10 @@ void GSRendererHW::Draw()
|
|||
const bool tex_is_rt = (process_texture && m_cached_ctx.TEX0.TBP0 >= m_cached_ctx.FRAME.Block() &&
|
||||
m_cached_ctx.TEX0.TBP0 < frame_end_bp);
|
||||
const bool not_writing_to_all = (!PrimitiveCoversWithoutGaps() || !all_depth_tests_pass);
|
||||
const bool preserve_rt_rgb = (!no_rt && (!IsDiscardingDstRGB() || not_writing_to_all));
|
||||
const bool preserve_rt_alpha = (!no_rt && (!IsDiscardingDstAlpha() || not_writing_to_all));
|
||||
const bool preserve_rt_rgb = (!no_rt && (!IsDiscardingDstRGB() || not_writing_to_all || tex_is_rt));
|
||||
const bool preserve_rt_alpha =
|
||||
(!no_rt && (!IsDiscardingDstAlpha() || not_writing_to_all ||
|
||||
(tex_is_rt && GSLocalMemory::m_psm[m_cached_ctx.TEX0.PSM].trbpp != 24)));
|
||||
bool preserve_rt_color = preserve_rt_rgb || preserve_rt_alpha;
|
||||
bool preserve_depth =
|
||||
preserve_rt_color || (!no_ds && (!all_depth_tests_pass || !m_cached_ctx.DepthWrite() || m_cached_ctx.TEST.ATE));
|
||||
|
|
Loading…
Reference in New Issue