Skip to content

Prototype implementation of VK_EXT_descriptor_heap#2805

Draft
HansKristian-Work wants to merge 24 commits intomasterfrom
descriptor-heap-test
Draft

Prototype implementation of VK_EXT_descriptor_heap#2805
HansKristian-Work wants to merge 24 commits intomasterfrom
descriptor-heap-test

Conversation

@HansKristian-Work
Copy link
Copy Markdown
Owner

Bringup implementation during spec development. This will have to be rewritten to work alongside at least descriptor buffer paths which will be a glorious mess ...

This branch can be used to compare existing DB with new heap paths for performance, correctness, etc. Once sufficient gains are realized, work to productize this stuff could happen.

…ths.

Triage branch for heap bringup. Production path needs to consider DB +
heap paths together at least, which will complicate things a lot.

Some things like descriptor QA and friends are not fully implemented on
this branch either.

Some CPU optimizations are also missing like custom vtables for known
descriptor sizes.
@xcom169
Copy link
Copy Markdown

xcom169 commented Jan 26, 2026

Will you have to maintain 2 paths for both Buffers, and Heaps?

@HansKristian-Work
Copy link
Copy Markdown
Owner Author

HansKristian-Work commented Jan 26, 2026

It will likely be years before the DB path can die 100%. Legacy UPDATE_AFTER_BIND path is now on the chopping block however. Blockers for DB removal are Pascal support and tooling.

@Panky55
Copy link
Copy Markdown

Panky55 commented Jan 27, 2026

its a prototype for a reason bruv

@morgwai
Copy link
Copy Markdown

morgwai commented Jan 27, 2026

@HansKristian-Work this PR is widely discussed on the internet, so please let us know what kind of feedback would be useful to you at this point to avoid further... misunderstandings ;-)
For example should "power-gamers" (folks able to put the whole stack together themselves) report on perf gains or problems in particular titles or is it too early for this?

@HansKristian-Work
Copy link
Copy Markdown
Owner Author

We are aware there are bugs and we need to debug things on our end for now. This PR is not ready for wide testing yet.

@Bossiskeyboard
Copy link
Copy Markdown

Bossiskeyboard commented Jan 27, 2026

@HansKristian-Work Zenless Zone Zero refuses to just use vkd3d proton for some reason

game.log
zzz_shader_trace.log

to launch zenless zone zero with dlss rtx dx12 you should use

PROTON_USE_NVAPI=1 %command% -use-d3d12

but if you want to use sleepy launcher like i did you need to copy the vkd3d proton files to the prefix of the game.

/.local/share/sleepy-launcher/prefix

if you want to install zenless zone zero you would need to either get sleepy launcher from flatpak or get it from the aur.

Please do try to resolve the issue thank you.

@Zebra2711
Copy link
Copy Markdown

@HansKristian-Work Zenless Zone Zero refuses to just use vkd3d proton for some reason

game.log zzz_shader_trace.log

PROTON_USE_NVAPI=1 %command% -use-d3d12
...
Please do try to resolve the issue thank you.

@Bossiskeyboard This is likely your issue. Stable mesa doesn’t support VK_EXT_descriptor_heap yet
image
NVIDIA has it, but only in beta driver 580.94.16

RT in cyberpunk 2077 is broken with this PR and cause the game to freeze on load with RT enabled

@ryzendew Plss check if your driver supports VK_EXT_descriptor_heap

@doitsujin
Copy link
Copy Markdown
Collaborator

doitsujin commented Jan 27, 2026

"Game that doesn't officially support D3D12 and requires command line argument doesn't pick up D3D12" isn't caused by this PR, it's 100% guaranteed to be an issue on your end (even if it's just something silly like also having integrated graphics where D3D12 device creation now fails). It's not actionable here.

@Bossiskeyboard
Copy link
Copy Markdown

Bossiskeyboard commented Jan 28, 2026 via email

@Bossiskeyboard
Copy link
Copy Markdown

here is the proton log of black myth wukong
steam-3132990.log

bmw_shader_trace.log

@doitsujin
Copy link
Copy Markdown
Collaborator

doitsujin commented Jan 28, 2026

Well yeah you're using a Proton build without the necessary winevulkan patches (there currently is none, needs upstream wine 11.1).

Like I said, setup issue on your end, please keep those out of PR discussions.

@morgwai
Copy link
Copy Markdown

morgwai commented Jan 28, 2026

@HansKristian-Work thanks for the clarification! In such case, would it be possible to temporarily limit commenting ability only to project members and collaborators?

@HansKristian-Work, @doitsujin I would also like to say BIG thank you for your amazing work, while I'm here BTW :)

Repository owner locked as off-topic and limited conversation to collaborators Jan 28, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants