In spite of what the documentation says, it's possible to create a D3D9 device with NULL passed for both PresentationParams::hDeviceWindow and FocusWindow. This will still create an implicit swapchain and you can query the backbuffers and render to those. You can even call Present and that returns S_OK.
According to Wine commit logs, Planetary Annihilation: Titans depends on this. This also makes the "visuals" Wine test crash with DXVK.
In spite of what the documentation says, it's possible to create a D3D9 device with NULL passed for both
PresentationParams::hDeviceWindowandFocusWindow. This will still create an implicit swapchain and you can query the backbuffers and render to those. You can even callPresentand that returnsS_OK.According to Wine commit logs, Planetary Annihilation: Titans depends on this. This also makes the "visuals" Wine test crash with DXVK.