Skip to content

GS/DX11: Misc fixes#13922

Merged
lightningterror merged 4 commits intomasterfrom
gs_dx11_misc_fixes
Jan 31, 2026
Merged

GS/DX11: Misc fixes#13922
lightningterror merged 4 commits intomasterfrom
gs_dx11_misc_fixes

Conversation

@lightningterror
Copy link
Copy Markdown
Contributor

@lightningterror lightningterror commented Jan 30, 2026

Description of Changes

GS/DX11: Clear out render/depth stencil views before swap chain present.
Fixes api warning in specific scenario when force running through dxcpl:
D3D11 INFO: ID3D11DeviceContext::OMSetRenderTargets: Forcing OM Render Target slot 0 to NULL , since calling Present for DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL SwapChains unbinds backbuffer 0 from all GPU writeable bind points, except for DXGI_PRESENT_DO_NOT_SEQUENCE or DXGI_PRESENT_TEST usage. [ STATE_SETTING INFO 49: OMSETRENDERTARGETS_UNBINDDELETINGOBJECT]

GS/DX11: Check if conservative depth is supported.
Fixes dx10 gpus being broken without conservative depth.

GS/DX11: Check if RGBA16 UNORM supports hw blending.
If not then use DXGI_FORMAT_R16G16B16A16_FLOAT, it will be less precise but will still work on feature level10.0 gpus and allow for hardware blending.
I could make it work properly by using copies or different formats but I don't want to put that much work in to dx10 so this is just the bare minimum.

Rationale behind Changes

Regression bugfixes, api warning fixes.

Suggested Testing Steps

Recommended tests:
Smoke test dx11 just to make sure swap chain works correctly and Sly 2 still looks the same.

Optional tests:
Run pcsx2 through dxcpl and check if the api warning is fixed.
Run pcsx2 through dxcpl on feature level 10.0/10.1 to see if depth works, good smoke test is Sly 2, see if it's less broken.
Also smoke test Sly 2 on gl just for the name change.

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

No.

Fixes api warning in specific scenario when force running through dxcpl:
D3D11 INFO: ID3D11DeviceContext::OMSetRenderTargets: Forcing OM Render Target slot 0 to NULL , since calling Present for DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL SwapChains unbinds backbuffer 0 from all GPU writeable bind points, except for DXGI_PRESENT_DO_NOT_SEQUENCE or DXGI_PRESENT_TEST usage. [ STATE_SETTING INFO 49: OMSETRENDERTARGETS_UNBINDDELETINGOBJECT]
Fixes dx10 gpus being broken without  conservative depth.
If not then use DXGI_FORMAT_R16G16B16A16_FLOAT,
it will be less precise but will still work on feature level 10.0 and some 10.1 gpus and allow for hardware blending.
@lightningterror
Copy link
Copy Markdown
Contributor Author

Did a quick test and dx10 gpu works as expected. Merging.

dx10 nv1 dx10 nv2

@lightningterror lightningterror merged commit df4be2c into master Jan 31, 2026
22 checks passed
@lightningterror lightningterror deleted the gs_dx11_misc_fixes branch January 31, 2026 23:48
@Maxkatsur
Copy link
Copy Markdown

Will it fix Black (2006) too? I ran it personally on my new RTX 4050 laptop, with DX12, native rendering mode. DX11 rendering for this FPS from the creators of Burnout is laggy regardless of the resolution scaling.

@TellowKrinkle
Copy link
Copy Markdown
Member

If not then use DXGI_FORMAT_R16G16B16A16_FLOAT

Maybe you should pick DXGI_FORMAT_R32G32B32A32_FLOAT instead, which will be slower but should have full accuracy

@lightningterror
Copy link
Copy Markdown
Contributor Author

If not then use DXGI_FORMAT_R16G16B16A16_FLOAT

Maybe you should pick DXGI_FORMAT_R32G32B32A32_FLOAT instead, which will be slower but should have full accuracy

Good idea actually that will work.

Hancock33 added a commit to Hancock33/batocera.piboy that referenced this pull request Feb 1, 2026
-----------------------------------------------------------------------------------
cemu.mk ba82dc57d64fe8fc1b268e24fa583b350404b9a6 # Version: Commits on Feb 01, 2026
-----------------------------------------------------------------------------------
OpenGL+Vulkan: Use unified uniform block layout for output shaders (#1785),

------------------------------------------------------------------------------------------
duckstation.mk 7e4efbfa9c25345834a351f991a456154444a448 # Version: Commits on Feb 01, 2026
------------------------------------------------------------------------------------------
CI: Generate Windows installers,

-----------------------------------------------------------------------------------
eden.mk 6637810fe6c6610f73f0b1b12e56e9b48268d0ee # Version: Commits on Feb 01, 2026
-----------------------------------------------------------------------------------
[android] gpu logs functions (#3389)

---------------------------------------------------
pcsx2.mk v2.7.89 # Version: Commits on Feb 01, 2026
---------------------------------------------------
- [GS/DX11: Misc fixes](PCSX2/pcsx2#13922)

,

-----------------------------------------------------
ryujinx.mk 1.3.252 # Version: Commits on Feb 01, 2026
-----------------------------------------------------
Canary-1.3.252

-----------------------------------------------------------------------------------
ymir.mk 2e4f0a6f9472e50c949608b31ae3065ec6eec520 # Version: Commits on Feb 01, 2026
-----------------------------------------------------------------------------------
fix(savestates): Fix off-by-one error in save state lists in menus,

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

* core: Use get_loader instead of get_loader_mut where possible by @kjarosh in ruffle-rs/ruffle#22888

* text: Tests and fixes related to the default text format by @kjarosh in ruffle-rs/ruffle#22636

* avm1: Execute loader events in the context of base movie by @kjarosh in ruffle-rs/ruffle#22887

* tests: Fix initial movie clip URL by @kjarosh in ruffle-rs/ruffle#22893

* core: Remove double references to MovieClips by @kjarosh in ruffle-rs/ruffle#22895

**Full Changelog**: ruffle-rs/ruffle@nightly-2026-01-31...nightly-2026-02-01,

------------------------------------------------------------------------------------
box64.mk 3bbb84502e8061d6fb5543e505c8301198d87494 # Version: Commits on Feb 01, 2026
------------------------------------------------------------------------------------
[INTEGRATION] Added /opt/box64/lib[32/64] as system folder for easier system integration,

----------------------------------------------------------------------------------------
openmohaa.mk 02de33a5c88efcbdeb70f352c7a417b8b6760ee3 # Version: Commits on Feb 01, 2026
----------------------------------------------------------------------------------------
docs(changelog): update changelog,

----------------------------------------------------------------------------------------
supertux2.mk da4b9aa263f5d039916c73323abbc6f864690815 # Version: Commits on Feb 01, 2026
----------------------------------------------------------------------------------------
unglint enemy in maze in the sky,

-------------------------------------------------------------------------------------------------
shadps4-qtlauncher.mk 4ba1bfd3e24aa86135e27bfb53b4fc1298cc85f7 # Version: Commits on Feb 01, 2026
-------------------------------------------------------------------------------------------------
New Crowdin updates (#239)

* New translations en_us.ts (Japanese)

* New translations en_us.ts (Ukrainian)

* New translations en_us.ts (Ukrainian)

* New translations en_us.ts (Turkish)

* New translations en_us.ts (Turkish)

* New translations en_us.ts (Portuguese, Brazilian)

* New translations en_us.ts (Urdu (Pakistan))

* New translations en_us.ts (Urdu (Pakistan)),

----------------------------------------------------------------------------------------
retroarch.mk 9804687c7bc832a65cdff4f5d2bf7242e131337b # Version: Commits on Feb 01, 2026
----------------------------------------------------------------------------------------
metal: try not to crash quite as much,

----------------------------------------------------------------------------------------
doomretro.mk d93afd5a8ead497895c67acf095a010bdefdd535 # Version: Commits on Feb 01, 2026
----------------------------------------------------------------------------------------
Recognize animated flats with `SW[A]MP` in name as liquid,

----------------------------------------------------------------------------------
trx.mk 9417689fc6de5ab72a8cc83f80dffb2102f0cce8 # Version: Commits on Jan 31, 2026
----------------------------------------------------------------------------------
objects: use new io for priv data,

--------------------------------------------------------------------------------------------------
libretro-clownmdemu.mk 669491083ed40ca84561ae88a4ba43aac593299d # Version: Commits on Jan 31, 2026
--------------------------------------------------------------------------------------------------
Update common.

Now with CHD support!,

--------------------------------------------------------------------------------------------
libretro-pc98.mk 15676585b9a370e874ea9309252bd8236df3f642 # Version: Commits on Feb 01, 2026
--------------------------------------------------------------------------------------------
SDL3,
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