Is anyone working on dxgi/dcomp - specifically CreateSwapChainForComposition?
Hi, In the process of supporting third party windows DLLs in wine, I'm coming up against several that are blocked on the FIXME for CreateSwapChainForComposition. Their graphics rendering doesn't work - draws blank white - as a result. Rendering happens via a complex interaction between a number of different calls. So I imagine it would be a heavy lift to implement. But I thought it might be used in gaming apps, so there might be some work going on to implement it. Any thoughts or news on these APIs? Thanks, /Michael Ost PS: The unimplemented flow is: - DXGI — creates and presents the swapchain (CreateSwapChainForComposition, Present) - DComp — composites it into the window (CreateTargetForHwnd, SetContent, Commit)
Hello Michael, could you maybe tell us what third party libraries those are? -- Bernhard 2026年3月21日(土) 1:02 Michael Ost via Wine-devel <wine-devel@list.winehq.org>:
Hi,
In the process of supporting third party windows DLLs in wine, I'm coming up against several that are blocked on the FIXME for CreateSwapChainForComposition. Their graphics rendering doesn't work - draws blank white - as a result. Rendering happens via a complex interaction between a number of different calls. So I imagine it would be a heavy lift to implement. But I thought it might be used in gaming apps, so there might be some work going on to implement it.
Any thoughts or news on these APIs? Thanks, /Michael Ost
PS: The unimplemented flow is: - DXGI — creates and presents the swapchain (CreateSwapChainForComposition, Present) - DComp — composites it into the window (CreateTargetForHwnd, SetContent, Commit)
Hi Michael, I am working on dcomp and dxgi CreateSwapChainForComposition. Please see the attached patches. They are on top of wine 8adc2570. I also included a DXVK patch in case you want to test with DXVK. One game I usually use to test it with is Corgi Warlock (SteamID: 414920). I am currently in the process of upstreaming the patches at https://gitlab.winehq.org/zhiyi/wine/-/commits/bug-23698-react-native. However, it seems like dcomp will be a big pain to upstream. A proper implementation would probably require a dwm.exe and some graphics driver integrations (win32u and etc) as well. So it will take some time to upstream it. They might be added to wine-staging soon. Have fun! Zhiyi On 3/21/26 07:38, Michael Ost via Wine-devel wrote:
Hi,
In the process of supporting third party windows DLLs in wine, I'm coming up against several that are blocked on the FIXME for CreateSwapChainForComposition. Their graphics rendering doesn't work - draws blank white - as a result. Rendering happens via a complex interaction between a number of different calls. So I imagine it would be a heavy lift to implement. But I thought it might be used in gaming apps, so there might be some work going on to implement it.
Any thoughts or news on these APIs? Thanks, /Michael Ost
PS: The unimplemented flow is: - DXGI — creates and presents the swapchain (CreateSwapChainForComposition, Present) - DComp — composites it into the window (CreateTargetForHwnd, SetContent, Commit)
participants (3)
-
Bernhard Kölbl -
imichaelost@gmail.com -
Zhiyi Zhang