refractionpcsx2
448a279cd4
GS/HW: Further improve clear behaviour
2026-01-26 03:19:49 +01:00
refractionpcsx2
70e13adfde
GS/TC: Improve wrapping behaviour for inside target lookups
2026-01-26 03:19:49 +01:00
refractionpcsx2
73a09ffe6c
GS/HW: Improve channel shuffle detection and use on 24bit sources
2026-01-17 18:18:00 +01:00
refractionpcsx2
4e5d7bd407
GS/TC: Delete empty target after height adjust
2026-01-17 16:58:37 +01:00
refractionpcsx2
efb66c1d37
GS/TC: Small optimization to local memory invalidation
2026-01-17 16:32:10 +01:00
refractionpcsx2
238b29836e
GS/TC: Only bilinearly scale render target if preserve_scale is not set
2026-01-17 15:53:08 +01:00
refractionpcsx2
58cbb61aac
GS/TC: Only bilinear filter depth scales
2026-01-17 15:53:08 +01:00
refractionpcsx2
2c7a168029
GS/HW: Properly scale depth up if required when native scaling is in use
2026-01-17 15:53:08 +01:00
JordanTheToaster
bb4ee5f0fb
GS/HW: Optimize source sizes when using CLAMP_CLAMP
2026-01-16 14:37:22 -05:00
lightningterror
3b561be221
GS/TC: Do a shader copy/blit for depth textures when doing tc moves.
...
dx11 doesn't support partial depth copies.
dx12 supports depth copies with Programmable Sample Positions tier 1 and up.
Add missing osd copy counts for moves.
We can just do blit for all since performance is the same.
2026-01-16 03:45:06 +01:00
SternXD
d983b2b066
Copyright: Change year from 2002-2025 to 2002-2026
2026-01-15 00:22:32 +01:00
refractionpcsx2
eec3951315
GS/TC: Check format matches on invalidation rect translation
2026-01-14 01:20:08 +01:00
refractionpcsx2
61280a945d
GS/HW: Tweak Native Scale Upscaled to work in more scenarios
2026-01-11 09:36:00 +01:00
TJnotJT
461f01718c
GS/HW: Prevent assertion in StretchRect().
...
Depth copy was using the color StretchRect() causing an assertion in debug builds.
2025-12-12 00:01:25 +01:00
JordanTheToaster
10e13cfece
GS/HW: Test double buffer offset from target base address on lookup
2025-11-25 17:50:06 +01:00
refractionpcsx2
080858b97c
GS/HW: Apply native scaling to exact GPU CLUTs
2025-11-16 22:10:22 +01:00
TJnotJT
6f54da6234
GS/HW/TC: Do not force temporary source creation for PSMT8 sources that request outside a target valid area.
2025-11-15 16:56:57 +01:00
TJnotJT
44f47f11b8
GS/HW/TC: Force a temporary source creation in edges cases.
...
Case: When looking up a source, we find a perfect BP hit for a target.
However, the requested area is outside the target's valid area.
Don't use the target direct and instead load from memory in a temporary source.
Co-authored-by: refraction
2025-11-15 16:56:57 +01:00
TJnotJT
b5a2d04b2e
GS/HW/TC: Remove outside target PSM check in LookupSource.
...
Co-autored-by: refraction
2025-11-15 16:56:57 +01:00
TJnotJT
8508ebb7d3
GS/HW: Remove legacy code for changing RT from depth to color in TC invalidation.
...
Co-authored-by: refraction
2025-11-15 16:56:57 +01:00
refractionpcsx2
9b4e3b8f74
GS/HW: Adjust target lookup to better check on source match
2025-11-11 22:36:46 +01:00
refractionpcsx2
c5438ceca3
GS/HW: Fix up invalidly selected Tex in RT targets
2025-11-11 20:58:35 +01:00
lightningterror
6b52937262
GS/TC: Make sure target is created before setting any flags.
...
Xenosaga 3 fails to create a target because the rect is empty so we should avoid setting any flags since it's null.
2025-10-14 02:19:08 +02:00
lightningterror
2a7bf35f20
GS/TC: Point m_from_target to new target if it's also a source in CombineAlignedInsideTargets.
...
Issue is it was erasing the source which doesn't get passed back to the main draw function,
so we should be setting m_from_target to either new target or null because it is linked.
2025-10-07 11:48:32 +02:00
lightningterror
47897fc2be
GS/TC: Add caching to block offset calculation for TranslateAlignedRectByPage and DirtyRectByPage.
2025-10-04 01:55:52 +02:00
lightningterror
b451602f69
GS/TC: Check for y offset when calculating block offset.
...
Make sure the rect starts at the beginning.
2025-10-04 01:55:52 +02:00
lightningterror
96ac35a4bd
GS/TC: Optimize block offset calculations in ComputeSurfaceOffset.
...
Same deal as before, swap the fast linear loops to be second since they will be faster.
2025-10-04 01:55:52 +02:00
lightningterror
e550cf9b63
GS/TC: Optimize block offset calculation.
...
Swap offset x and y loops:
Having the y loop first allows for better optimizations/caching since it's bigger.
Also optimize start point loop conditions for target rect.
2025-09-30 22:01:46 +02:00
lightningterror
427096dc29
GS/HW: Adjust texture copies perfmon info for CopyRect.
...
If we are optimizing out copies we don't need to increment the perf monitor info.
Also remove duplicate tex copies perf monitor info in tc as we already add it in CopyRect function.
2025-09-20 02:27:50 +02:00
TJnotJT
fde045241f
GS: Allow full dirty rect on zero age targets.
...
Allows EE->GS transfers to invalidate targets updated in the current draw to be invalidated if they are fully overwritten by the transfer.
2025-08-16 03:17:51 +02:00
lightningterror
e4d8f3d901
GS/TC: Resize target instead of deleting it.
...
Valids and drawn since last read doesn't match, keep the target but resize it.
2025-08-08 23:00:01 +02:00
TellowKrinkle
8fd91cb7df
Formatting: Apply AlignWithSpaces
2025-07-31 15:20:27 +02:00
lightningterror
83ebbe95c5
GS/TC: Don't split/resize buffer when texture buffer width is 0.
...
Textures wrap within a single page.
2025-07-16 09:49:04 +02:00
lightningterror
099e1f900d
GS/TC: Fix wrong block per page in LookupSource.
2025-07-15 16:04:58 +02:00
TheLastRar
f747abcc3b
GS: Prefix page/block size defines
2025-07-12 20:10:59 +02:00
refractionpcsx2
21042934e3
GS/TC: Allow preloading before merging buffers
2025-07-06 18:33:39 +02:00
refractionpcsx2
691c3764ac
GS/TC: Check channel overlap for local mem invalidation/readbacks
2025-07-04 19:14:46 +02:00
refractionpcsx2
aa0292ada1
GS/TC: Improve dirty overlap conditions
2025-07-04 19:14:46 +02:00
TJnotJT
181ceb38cc
GS: Put psm_str in the GSUtil struct.
2025-06-29 16:43:09 -04:00
refractionpcsx2
35093c3e37
GS/HW: Avoid single pixel overlap on lookups + improve buffer splitting
2025-06-27 18:04:29 +02:00
refractionpcsx2
7f8488771d
GS/TC: Improve heuristics for sequenced draws inside targets
2025-06-27 18:03:48 +02:00
refractionpcsx2
57ff271f4b
GS/HW: Fix up offset Z behaviours and copy ranges
2025-06-27 18:03:48 +02:00
refractionpcsx2
17b6cc00ab
GS/HW: When expanding a target for display, expand valid area
2025-06-27 18:03:19 +02:00
refractionpcsx2
ec288ffa62
GS/TC: Fix CanTranslate rect BWs, disallow block inside target lookup
2025-06-23 06:27:41 +02:00
refractionpcsx2
60adfd5046
GS/TC: Fix region area on new source interpreted for shuffle
2025-06-21 05:52:50 +02:00
lightningterror
2f84bf0cca
GS/TC: Don't enable Frame buffer conversion on PSMT8.
...
We have dedicated shader now, no need.
2025-06-20 02:01:28 +02:00
refractionpcsx2
3e2c3e5075
GS/TC: Slight fix for rect translation with block offset
2025-06-20 02:00:51 +02:00
refractionpcsx2
2640678cac
GS/HW: Adjust which function gets used for clearing depth on perfect match
2025-06-14 01:30:00 +02:00
refractionpcsx2
b30444c0d0
GS/HW: Fix bug and improve inside target tracking on HW moves
2025-06-12 23:01:36 +01:00
refractionpcsx2
76e6208d1b
GS/TC: Fix region for tex in rt depth
2025-06-10 20:12:41 +02:00