Skip to content

GS/HW: Adjust depth copies when doing TC moves.#13841

Merged
lightningterror merged 3 commits into
masterfrom
gs_moves_partial_depth_copy
Jan 16, 2026
Merged

GS/HW: Adjust depth copies when doing TC moves.#13841
lightningterror merged 3 commits into
masterfrom
gs_moves_partial_depth_copy

Conversation

@lightningterror

@lightningterror lightningterror commented Jan 15, 2026

Copy link
Copy Markdown
Contributor

Description of Changes

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.

GS/DX11: Make sure source and destination rect matches for depth copies.

GS/DX12: Adjust partial depth copies.
Check if depth copies are supported first.
If depth copies aren't supported fallback to doing full depth copies, also make sure source and destination rects match.

Rationale behind Changes

Bugfixes, accuracy with VK/GL.

Suggested Testing Steps

Test #13796 , make sure all renderers behave the same, test the fixed games as well, and some other smoke tests.
PachiPara 13 needs #13837 to further improve the game.

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

No.

Fixes DX11/12:
Kenran Butousai
image
image

Kunoichi
image
image

PachiPara 13
image
image

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.
@lightningterror
lightningterror force-pushed the gs_moves_partial_depth_copy branch from ba6736d to cf04233 Compare January 15, 2026 09:37
@lightningterror lightningterror changed the title GS/HW: Adjust depth copies when doing TC moves on dx11/12. GS/HW: Adjust depth copies when doing TC moves. Jan 15, 2026

@JordanTheToaster JordanTheToaster left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pachi now works on DX11 and DX12 performance otherwise seems identical on an RX 9060XT

@lightningterror
lightningterror force-pushed the gs_moves_partial_depth_copy branch from cf04233 to f5aeaa7 Compare January 15, 2026 13:31
@lightningterror lightningterror added this to the Release 2.8 milestone Jan 15, 2026
Check if depth copies are supported first.

If depth copies aren't supported fallback to doing full depth copies, also make sure source and destination rects match.
@lightningterror
lightningterror force-pushed the gs_moves_partial_depth_copy branch from f5aeaa7 to 52c08a0 Compare January 15, 2026 14:47

@SternXD SternXD left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested dx11/dx12 perf seems about the same

fixes this though (which is also shown in PR description)
master:
image
PR:
image

@lightningterror
lightningterror merged commit 6e5c228 into master Jan 16, 2026
22 checks passed
@lightningterror
lightningterror deleted the gs_moves_partial_depth_copy branch January 16, 2026 02:45
Hancock33 added a commit to Hancock33/batocera.piboy that referenced this pull request Jan 18, 2026
-----------------------------------------------------------------------------------------------------
batocera-controlcenter.mk c2ed4ded6ef30a557e579bf7567ef44cbca3b205 # Version: Commits on Jan 16, 2026
-----------------------------------------------------------------------------------------------------
Replace <pdf> tag with <doc> and support now text files too,

-----------------------------------------------------------------------------------
cemu.mk d9cc8f81c2c887830eea301c63e6468a9cdfb649 # Version: Commits on Jan 16, 2026
-----------------------------------------------------------------------------------
metal: Create temporary autorelease pools (#1783),

------------------------------------------------------------------------------------------
dolphin-emu.mk c7e063bc7114213772fbe6aa24db8e8662948a60 # Version: Commits on Jan 16, 2026
------------------------------------------------------------------------------------------
Merge pull request #14283 from SuperSamus/pes-gameini

GameINI: Enable EFB Access for PES 2009-2013,

------------------------------------------------------------------------------------------
duckstation.mk ff889fc749f4709d17a6bdc35f3d8da03e5f2d85 # Version: Commits on Jan 16, 2026
------------------------------------------------------------------------------------------
Qt: Fix overlapping group boxes in controller global settings (#3683),

-----------------------------------------------------------------------------------
eden.mk 6f9fb83a1deb5084dcaa54ce3d80fc8e6862df3e # Version: Commits on Jan 16, 2026
-----------------------------------------------------------------------------------
[cmake] Fix Qt component finding (#3319)

---------------------------------------------------
pcsx2.mk v2.7.43 # Version: Commits on Jan 16, 2026
---------------------------------------------------
- [GS/HW: Adjust depth copies when doing TC moves.](PCSX2/pcsx2#13841)

,

---------------------------------------------------
xemu.mk v0.8.132 # Version: Commits on Jan 15, 2026
---------------------------------------------------
nv2a: Clip image blits to GPU tile bounds

Hardware blits that overlap an active GPU tile are clipped to the bounds of

that tile. This change checks blits against registered PFB tiles (which are

mirrored to PGRAPH via RDI) and clips blits as needed.,

-----------------------------------------------------------------------------------
ymir.mk d7ab9d2e1b726658ce48c97c6950e11830799856 # Version: Commits on Jan 16, 2026
-----------------------------------------------------------------------------------
build: Optionally include debug symbols on all builds,

-------------------------------------------------------------------------------------
ikemen.mk 349a8f0d50cfe48ba0c198dde3250dc5d5375847 # Version: Commits on Jan 15, 2026
-------------------------------------------------------------------------------------
Merge pull request #3141 from Jesuszilla/new-feats2

fix: BGMVar(Position) not updating when BGMRAMBuffer is 1, rumble remapping,

-------------------------------------------------------------------------------------------
moonlight-qt.mk 66a30c66f3f2534f551f3b2e0f4c91c6751ab67a # Version: Commits on Jan 16, 2026
-------------------------------------------------------------------------------------------
Use EOS to force decoder test frame output,

---------------------------------------------------------------
ruffle.mk nightly-2026-01-16 # Version: Commits on Jan 16, 2026
---------------------------------------------------------------
## What's Changed

* chore: Update translations from Crowdin by @kjarosh in ruffle-rs/ruffle#22778

**Full Changelog**: ruffle-rs/ruffle@nightly-2026-01-15...nightly-2026-01-16,

--------------------------------------------------------------------------------------
scummvm.mk 0539ae2fd27a95bd4c5a906b8d9237a621ff898a # Version: Commits on Jan 16, 2026
--------------------------------------------------------------------------------------
I18N: Update translation files

Updated by \Update PO files to match POT (msgmerge)\ hook in Weblate.

Translation: ScummVM/scummvm

Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/,

---------------------------------------------------------------------------------------
thextech.mk 7755a702825578ecd8e472f808f5b042b6688730 # Version: Commits on Jan 15, 2026
---------------------------------------------------------------------------------------
CI: Attempt to fix the DSi BlocksDS build,

------------------------------------------------------------------------------------
cdogs.mk e727cc11cd77b167916599cafa9546a19d2f0124 # Version: Commits on Jan 16, 2026
------------------------------------------------------------------------------------
Kanga head offset and legs #712,

------------------------------------------------------------------------------------------
devilutionx.mk 26b15b287566c73327c8869fdd8c6eafdb4bc68c # Version: Commits on Jan 15, 2026
------------------------------------------------------------------------------------------
fix macos cache from libsodium update,

---------------------------------------------------------------------------------------
etlegacy.mk 8c4a7d3c0ec507720697b26ba1f9f2372ef0f549 # Version: Commits on Jan 15, 2026
---------------------------------------------------------------------------------------
curl: fixed some upload issues

Content-Length header and content type were not properly populated.,

----------------------------------------------------------------------------------------
supertux2.mk 418367c5715ee90a475cbe8566a62eac12969470 # Version: Commits on Jan 16, 2026
----------------------------------------------------------------------------------------
Fix impossible secret in CoM [ci skip],

----------------------------------------------------------------------------------------
retroarch.mk b1546681c8e9859287e2fe1f600ec0a5c3abf52a # Version: Commits on Jan 16, 2026
----------------------------------------------------------------------------------------
Disc Control menu refactor (#18613),

----------------------------------------------------------------------------------------
doomretro.mk f8c4bfe6659e18bc75dbd4f91049dc30f43aae76 # Version: Commits on Jan 16, 2026
----------------------------------------------------------------------------------------
Apply shadows to sprites in liquid sectors,

----------------------------------------------------------------------------------
trx.mk b1ec3c8e815d9c3c54225d724a047156d6555247 # Version: Commits on Jan 15, 2026
----------------------------------------------------------------------------------
docs: update docs on injections,

-----------------------------------------------------------------------------------------------
libretro-scummvm.mk 0539ae2fd27a95bd4c5a906b8d9237a621ff898a # Version: Commits on Jan 16, 2026
-----------------------------------------------------------------------------------------------
I18N: Update translation files

Updated by \Update PO files to match POT (msgmerge)\ hook in Weblate.

Translation: ScummVM/scummvm

Translate-URL: https://translations.scummvm.org/projects/scummvm/scummvm/,
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.

3 participants