On Fri Jun 30 17:01:00 2023 +0000, Zebediah Figura wrote:
So in isolation I think the solution proposed by this patch set is fine, and even looks prettiest. *But* what I remember from that discussion—and Henri will undoubtedly be able to express this more eloquently—is that the concern is (a) we might want to do something more complicated than just vkQueuePresent()—cf. the issues about fullscreen window styles / presenting to the client rect. I'm not sure but this might also turn out to be an issue for DirectComposition. (b) we might want to plumb presentation through D3DKMTPresent() [which may be necessary to achieve the above], and it will probably not be possible to do any vkd3d calls from the Unix side.
I pushed a new implementation incorporating the changes you're suggesting, and honestly I don't dislike it: https://gitlab.winehq.org/giomasce/wine/-/commits/chianti (only the last three commits changed in a meaningful way; or maybe at all). With this implementation it should be relatively easy to present with whatever API is available, though I don't really know how the options you mention work, so maybe there is some additional complexity I'm not aware of.