VideoCommon: add xfb hash values (if available) to present information

This commit is contained in:
iwubcode 2024-04-09 18:59:33 -05:00
parent e5b7b2e9ee
commit abf380b705
1 changed files with 19 additions and 0 deletions

View File

@ -178,6 +178,25 @@ void Presenter::ViSwap(u32 xfb_addr, u32 fb_width, u32 fb_stride, u32 fb_height,
present_info.reason = PresentInfo::PresentReason::VideoInterface;
}
if (m_xfb_entry)
{
// With no references, this XFB copy wasn't stitched together
// so just use its name directly
if (m_xfb_entry->references.empty())
{
if (!m_xfb_entry->texture_info_name.empty())
present_info.xfb_copy_hashes.push_back(m_xfb_entry->texture_info_name);
}
else
{
for (const auto& reference : m_xfb_entry->references)
{
if (!reference->texture_info_name.empty())
present_info.xfb_copy_hashes.push_back(reference->texture_info_name);
}
}
}
BeforePresentEvent::Trigger(present_info);
if (!is_duplicate || !g_ActiveConfig.bSkipPresentingDuplicateXFBs)