Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set private data debug object name #4589

Closed

Conversation

aleiby
Copy link
Contributor

@aleiby aleiby commented Jan 6, 2025

Set debug names for buffers, fences, textures, and views to match the app's DX11 set values.

@doitsujin
Copy link
Owner

doitsujin commented Jan 6, 2025

This approach doesn't really work as there is no 1:1 relation between D3D11 and Vulkan objects. As of 2.5 onwards, the backing storage for any resource can change at any point in time for various reasons (memory defrag, D3D11_MAP_WRITE_DISCARD, swapchain present, ...), so accessing Vulkan resources like this is not only unsafe but also doesn't work as soon as a resource gets relocated. Buffers are virtualized anyway in the sense that a single VkBuffer will serve as backing storage for a large number of D3D11 buffers.

Unfortunately this is going to take quite a bit of work to get right. I have a branch lying around with some basic debug improvements, but put it on hold because it didn't seem overly useful at the time. I can revisit this in the near future though and add support for D3D debug names where it makes sense.

@doitsujin
Copy link
Owner

Merged the debug rework, as mentioned it does require setting DXVK_DEBUG=markers to work since this is neither transparent to the app, nor does DXVK behave exactly the way it does without it enabled as mentioned in the other PR.

@doitsujin doitsujin closed this Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants