Compare commits

..

16 Commits

Author SHA1 Message Date
refractionpcsx2 42aba2e0db
Merge afc0c2581d into de9d08075e 2025-01-17 11:09:04 +00:00
refractionpcsx2 afc0c2581d GS/HW: Further fixes to HW renderer behaviour 2025-01-17 11:08:48 +00:00
refractionpcsx2 f015b14e50 GS/HW: Don't interfere with Tales/Urban Chaos HLE shuffles 2025-01-17 10:02:33 +00:00
refractionpcsx2 fd53ce2ec6 GS/HW: Allow 1:1 quads to be optimized for textures. Fixes for shuffles 2025-01-17 10:02:33 +00:00
refractionpcsx2 1ac2d9fba3 GS/HW: Centralize new target resizing calls to fix statistics/tidy up
Also add an override for GSVector4i loadl to take a GSVector2i
2025-01-17 10:02:33 +00:00
refractionpcsx2 80e50b87f7 GS/HW: Fixes for Tex in RT and shuffle detection 2025-01-17 10:02:33 +00:00
refractionpcsx2 4d37a9721f GS/HW: Sync depth texture information when updating dst_match 2025-01-17 10:02:33 +00:00
refractionpcsx2 8de5f53252 GS/HW: Fix some back to back shuffles and inside source invalidation 2025-01-17 10:02:32 +00:00
refractionpcsx2 e9341bde7c GS/HW: Fix offset Z channel shuffle hazard. Adjust Tekken 5 CRC 2025-01-17 10:02:32 +00:00
refractionpcsx2 da3e5c0aad GS/HW: More changes some regressions 2025-01-17 10:02:32 +00:00
refractionpcsx2 7b9c5b7543 GS/HW: More alterations for new RT in RT system 2025-01-17 10:02:32 +00:00
refractionpcsx2 9ddb4980eb GS/HW: Fixes to texture is target offsets 2025-01-17 10:02:31 +00:00
refractionpcsx2 99f7db509e GS/HW: Further fixes for RT in RT changes in behaviour 2025-01-17 10:02:31 +00:00
refractionpcsx2 3b17ccac36 GS/HW: Further RT in RT changes to improve compatibility 2025-01-17 10:02:31 +00:00
refractionpcsx2 8865ad90ff GS/HW: Further fixes to RT in RT - Still a ways to go... 2025-01-17 10:02:31 +00:00
refractionpcsx2 9d6e500035 GS/HW: Initial work implementing RT in RT support 2025-01-17 10:02:30 +00:00
1 changed files with 2 additions and 3 deletions

View File

@ -2900,8 +2900,6 @@ void GSRendererHW::Draw()
else
FRAME_TEX0.PSM = PSMCT32; // Guess full color if no upcoming hint, it'll fix itself later.
lookup_rect.x &= ~8; // Get rid of any potential 8 offset;
lookup_rect.z += 8; // Get rid of any potential 8 offset;
// This is just for overlap detection, it doesn't matter which direction we do this in
if (GSLocalMemory::m_psm[FRAME_TEX0.PSM].bpp == 32)
{
@ -2957,7 +2955,8 @@ void GSRendererHW::Draw()
FRAME_TEX0.TBW = src->m_from_target->m_TEX0.TBW;
}
rt = g_texture_cache->CreateTarget(FRAME_TEX0, t_size, GetValidSize(src), (scale_draw < 0 && is_possible_mem_clear != ClearType::NormalClear) ? src->m_from_target->GetScale() : target_scale, GSTextureCache::RenderTarget, true, fm, false, force_preload, preserve_rt_color | possible_shuffle, lookup_rect, src);
rt = g_texture_cache->CreateTarget(FRAME_TEX0, t_size, GetValidSize(src), (scale_draw < 0 && is_possible_mem_clear != ClearType::NormalClear) ? src->m_from_target->GetScale() : target_scale,
GSTextureCache::RenderTarget, true, fm, false, force_preload, preserve_rt_color | possible_shuffle, lookup_rect, src);
if (!rt) [[unlikely]]
{
GL_INS("ERROR: Failed to create FRAME target, skipping.");