DXVK + DComp causes graphics rendering to fail

zhengxianwei <[email protected]> Fri, 27 Jun 2025 14:06:31 +0800
Newsgroups gmane.comp.emulators.wine.devel
Message-ID <CABeGAqXrzd0bB63G48KsTOv5wDmj1ZLRqE9gbJ=d0CZ=oR7+Xw@mail.gmail.com>
I'm not sure whether this issue should be posted on the DXVK forum or here.
If I've posted it in the wrong place, I apologize.

I wrote a test program called dcomp_test.exe, which is already working
under Wine. Its main function is to render circles, and the effect looks
like this:


[image: image.png]

The actual operation is...: surface content = gdi * backgroup_alpha +
swapchain[0] * foreground_alpha


However, after replacing Wine's built-in DLLs with the ones I built from
DXVK

specifically dxgi, d3d8, d3d9, d3d10core, d3d11, and d3d12

I found that the circle was no longer rendered.

The image extracted from the swapchain contained all zeros.
[image: image.png]

I did a quick trace and confirmed that it reached:

1. ID3D11DeviceContext1_DrawIndexed
2. ID3D11DeviceContext1_Draw

https://github.com/wine-mirror/wine/blob/80bc1338bea7d9dac78ab449b4505e5bb91e7ba3/dlls/d2d1/device.c#L187

So I feel that the circle is indeed being rendered onto the DXVK D3D11
swapchain,

but I'm not sure at which step the content fails to be retrieved correctly.

Any suggestions are welcome
image.png (image/png, 13.2 KB) - not displayed
image.png (image/png, 10.5 KB) - not displayed