> 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.
Sounds great :-)
The "fullscreen window styles" problem (and one of the older d3d contributors can correct me on this) is basically that some applications use ddraw (and other versions?) to present to a fullscreen window, expecting the presented area to cover the whole screen, but wgl (and Vulkan) swapchains only present to the client rect. We currently get around this by changing the window styles to remove all the nonclient decorations, but that breaks some applications too. What we want is a way to present to the actual window, and part of the idea is that using D3DKMTPresent() is the architecturally correct way to do this.
I don't quite know what the concerns are for dcomposition either. Zhiyi was looking at that and ran into a wall, but he probably can at least describe the problem in greater detail.
There are also some thoughts about using D3DKMTPresent() to deal more efficiently with some cases where we currently have to do a GDI blit. I'm fuzzy on these details though; again Henri can explain it better.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3165#note_37677
Sub / Function can be on one line, but only if there's brackets.
```
| Storage_opt tFUNCTION Identifier ArgumentsDecl BodyStatements tEND tFUNCTION
```
This leads to sometimes to `link_statements` being called with `head` being NULL, probably because now the `:` can be parsed as `Statement` in `BodyStatements`.
Also note that this introduces another shift/reduce conflict, could be related, but I don't understand it well enough. Feedback would be appreciated, I'm still learning bison.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3206
Required for !1857 to not break when comctl32 version 6 isn't requested by application (in particular, found this in [qapitrace](https://github.com/apitrace/apitrace)).
Manifest resource id and assembly identity name match with Windows.
For isolation purposes, activation context is disabled while emitting events.
--
v12: comdlg32: Enable visual styles when showing IFileDialog.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2068
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.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3165#note_37623