Skip to content

Conversation

@refractionpcsx2
Copy link
Member

@refractionpcsx2 refractionpcsx2 commented Dec 29, 2025

Description of Changes

Adds support for offsetting reads on channel shuffles removing the need to copy the pages we need every draw, massively improving performance in some cases.

Rationale behind Changes

The previous method was kind of a temporary bodge because I was doing RT in RT and really didn't want to have to deal with channel shuffles as well.

Suggested Testing Steps

Test any games which use RT in RT (or Tex in RT) that had a fair few copies going on. A list of games below should help.

Did you use AI to help find, test, or implement this issue or feature?

No.

Dump run results (and ideas for games, some of these are best case results where there was multiple dumps):
Including increases also, for transparency.

Blokus Club with Bumpy Trot_SLPS-20443_20251105235531 ['Render Passes: -280 [2555=>2275]', 'Barriers: -140 [489=>349]']
Death By Degrees Fog Slowdown ['Draw Calls: -67 [657=>590]', 'Render Passes: -135 [353=>218]', 'Copies: -68 [72=>4]']
DT Racer_SLES-53904_20250210150103 ['Draw Calls: +57 [1312=>1369]', 'Render Passes: +58 [302=>360]', 'Barriers: +4 [0=>4]', 'Copies: -6 [21=>15]', 'Uploads: +7 [155=>162]']
Ghost in the Shell - Stand Alone Complex_SLUS-21006_20231111223602 ['Draw Calls: -334 [4413=>4079]', 'Render Passes: -333 [1543=>1210]', 'Copies: -333 [701=>368]']
GT4_-_channel_shuffle_2019 ['Draw Calls: -35 [1152=>1117]', 'Render Passes: -35 [225=>190]', 'Copies: -34 [35=>1]']
Hitman - Blood Money_SLES-53028_20250215070524 ['Draw Calls: -135 [929=>794]', 'Render Passes: -265 [481=>216]', 'Barriers: +124 [221=>345]', 'Copies: -134 [182=>48]']
Hitman - Contracts_SLES-52132_20250306193854 ['Draw Calls: -427 [1907=>1480]', 'Render Passes: -847 [1426=>579]', 'Barriers: +305 [85=>390]', 'Copies: -427 [564=>137]']
Malice_SLES-52413_20240617171243 ['Render Passes: -64 [232=>168]', 'Barriers: +111 [65=>176]']
Manhunt 2_SLUS-21613_20250124173412 ['Draw Calls: -417 [1409=>992]', 'Render Passes: -696 [1006=>310]', 'Barriers: -140 [140=>0]', 'Copies: -417 [425=>8]']
Monster_Lab_SLUS-21838_20240316090043 ['Render Passes: -1 [20=>19]', 'Barriers: -279 [284=>5]']
PachiPara 12 - Ooumi to Natsu no Omoide_SLPS-25574_20251105155128 ['Render Passes: -280 [2191=>1911]', 'Barriers: -140 [289=>149]']
PachiPara 13 - Super Umi to PachiPro Fu-unroku_SLPS-25682_20251105154553 ['Render Passes: -140 [1484=>1344]']
PachiPara 14 - Kaze to Kumo to Super Umi in Okinawa_SLPS-25787_20251105160122 ['Render Passes: -140 [1617=>1477]']
Project_-_Snowblind_SLUS-21037_20240316203245 ['Draw Calls: -157 [596=>439]', 'Render Passes: -288 [457=>169]', 'Barriers: +153 [4=>157]', 'Copies: -157 [194=>37]']
Ridge Racer V_SLUS-20002_P8 ['Draw Calls: -207 [1121=>914]', 'Render Passes: -207 [929=>722]', 'Copies: -207 [420=>213]']
Steambot_Chronicles_SLUS-21344_20230511114115 ['Render Passes: -140 [1329=>1189]']
Stolen_SLES-52882_20250220162422 ['Draw Calls: -258 [2849=>2591]', 'Render Passes: -515 [2653=>2138]', 'Barriers: +56 [133=>189]', 'Copies: -258 [277=>19]']
SWAT - Global Strike Team_SLUS-20433_20221207183137 ['Barriers: -139 [208=>69]']
Taiko no Tatsujin Bang Tap_ Toomori 7 Daimei _NTSC-J__SLPS-20486 ['Draw Calls: -29 [178=>149]', 'Render Passes: -28 [156=>128]', 'Copies: -29 [61=>32]']
Tekken 5_SLUS-21059_20230730011424 ['Draw Calls: -33 [890=>857]', 'Render Passes: -33 [177=>144]', 'Copies: -33 [71=>38]']
Time Crisis 3 with Guncon_SLUS-20645_20230123122041 ['Draw Calls: -69 [698=>629]', 'Render Passes: -141 [486=>345]', 'Barriers: +3 [70=>73]', 'Copies: -69 [159=>90]']
Tomb Raider - Legend_SLUS-21203_20240608104018 ['Draw Calls: -112 [1240=>1128]', 'Render Passes: -195 [299=>104]', 'Barriers: -55 [62=>7]', 'Copies: -112 [150=>38]']
Tomb Raider - Underworld_SLUS-21858_20230503214848 ['Draw Calls: -98 [313=>215]', 'Render Passes: -170 [269=>99]', 'Barriers: -49 [49=>0]', 'Copies: -98 [132=>34]']
Valkyrie Profile 2 - Silmeria_SLUS-21452_20250518213421 ['Draw Calls: -8 [1105=>1097]', 'Render Passes: -15 [253=>238]', 'Barriers: +7 [434=>441]', 'Copies: -8 [25=>17]']
Wild_ARMs_5_SLUS-21615_20220731152339-fbc ['Draw Calls: -267 [901=>634]', 'Render Passes: -266 [818=>552]', 'Copies: -266 [269=>3]']
Zettai Zetsumei Toshi 2 - Itetsuita Kioku-tachi_SLPS-25606_20251105164821 ['Draw Calls: -672 [3726=>3054]', 'Render Passes: -1120 [3094=>1974]', 'Barriers: +448 [484=>932]', 'Copies: -672 [1355=>683]']

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants