P.S.: Apparently it's a problem with GameMaker, the game's underlying middleware, which had a d3d8 renderer around ~2010 or so. I've tried a few other games built on GameMaker and they all exhibit the same problem when in fullscreen mode.
Well, that would explain, I guess, why dxvk thinks partial presentation is involved and trips up the GDI path (render rect would be smaller than the screen resolution, I believe). Ideally we shouldn't end up here in the first place with these sort of games, but then again it's also odd it doesn't work as expected. Maybe @K0bin can have a look when time permits, as this entire GDI thing is his design.
It seems had not worked as expected in 8to9 1.8.0 too, probably before doing something like this
Yes, I noticed that. See: #4245. But the GDI problem is unrelated and takes precedence, so it doesn't even really get up to the SetViewport calls at the moment.
Apparently it's fine on Nvidia in terms of rendering (viewport is indeed squewed, but #4245 should take care of that), so those GDI calls were only failing on ANV??? That's really odd...
Edit: Nevermind, turns out that with #4245 it behaves the same on Nvidia. So apparently Nvidia has a higher tolerance of viewports being outside of the render target by default.
Nothing extracted yet.
The game will fail to present when in fullscreen, thus the result will be a perpetual black screen. The logs spam a lot of:
interweaved with device resets, until the game eventually gives up. Windowed more works just fine.
WineD3D also works just fine, both windowed and fullscreen.
Software information
Hydorah (2010) , a freeware side-scrolling shooter.
System information
Apitrace file(s)
Hydorah.trace.tar.xz (captured with dxvk, while the problem was manifesting)
Log files
Hydorah.log