Compare commits

..

16 Commits

Author SHA1 Message Date
refractionpcsx2 56f89f5f0a
Merge ec33d6db6b into de9d08075e 2025-01-17 06:49:34 +01:00
refractionpcsx2 ec33d6db6b GS/HW: Further fixes to HW renderer behaviour 2025-01-17 01:32:58 +00:00
refractionpcsx2 fce7a2652d GS/HW: Don't interfere with Tales/Urban Chaos HLE shuffles 2025-01-16 18:39:54 +00:00
refractionpcsx2 86b5e60346 GS/HW: Allow 1:1 quads to be optimized for textures. Fixes for shuffles 2025-01-16 18:16:57 +00:00
refractionpcsx2 a508d4eacf 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-16 10:42:02 +00:00
refractionpcsx2 f4a978315b GS/HW: Fixes for Tex in RT and shuffle detection 2025-01-16 01:37:46 +00:00
refractionpcsx2 f58609dbf3 GS/HW: Sync depth texture information when updating dst_match 2025-01-15 00:52:59 +00:00
refractionpcsx2 5fb9035479 GS/HW: Fix some back to back shuffles and inside source invalidation 2025-01-14 22:51:30 +00:00
refractionpcsx2 622242e877 GS/HW: Fix offset Z channel shuffle hazard. Adjust Tekken 5 CRC 2025-01-14 13:47:18 +00:00
refractionpcsx2 b179c6db3c GS/HW: More changes some regressions 2025-01-13 19:40:58 +00:00
refractionpcsx2 e30ce7ccbe GS/HW: More alterations for new RT in RT system 2025-01-13 15:03:35 +00:00
refractionpcsx2 6eb5a44f4b GS/HW: Fixes to texture is target offsets 2025-01-13 15:03:35 +00:00
refractionpcsx2 017f8b2c5b GS/HW: Further fixes for RT in RT changes in behaviour 2025-01-13 15:03:35 +00:00
refractionpcsx2 0afb3e69ff GS/HW: Further RT in RT changes to improve compatibility 2025-01-13 15:03:34 +00:00
refractionpcsx2 c5ce895fa3 GS/HW: Further fixes to RT in RT - Still a ways to go... 2025-01-13 15:03:34 +00:00
refractionpcsx2 1d665e1b0d GS/HW: Initial work implementing RT in RT support 2025-01-13 15:03:33 +00:00
1 changed files with 3 additions and 2 deletions

View File

@ -2900,6 +2900,8 @@ 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)
{
@ -2955,8 +2957,7 @@ 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.");