This saves one pointer indirection every time a device function is called from a device client handle. I have similar changes for other wrappers.
One thing that could also be done, and which would then remove the need for the object_sizes metadata, is to move the unix struct definition within `struct VkDevice_T`, hiding the unixlib members from the PE side using `#ifdef WINE_UNIX_LIB` but I'm not sure it's much cleaner though, so maybe keeping the object sizes is better.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5274
This MR adds support for some more OpenGL functionality:
* wglCreateContextAttribsARB
* wglShareLists
* wgl(Get)SwapIntervalEXT
I originally intended to also include a fix for the translucency issue seen in some compositors, by using EGL_EXT_present_opaque. However, I'll hold off for now since I am seeing some issues with certain hardware and pixel formats when using this extension. Initial investigation indicates it is a problem in Mesa. For anyone who is affected by the translucency issue and wants to try out the patch in their local build anyway, it is at: https://gitlab.winehq.org/afrantzis/wine/-/commit/0685d1d2cfc126e2bb546fe2c…
--
A question for the upcoming work:
In the next OpenGL part I would like to focus on `WGL_ARB_pixel_format`. I was thinking that if a driver implements `wglGetPixelFormatAttribivARB` then it would be possible, in theory at least, to have a default implementation of `wglChoosePixelFormatARB` (and `wglGetPixelFormatAttribfvARB`) in `opengl32`. I am tempted to do this, instead of adding one more driver specific full implementation, although I am not yet sure if there any driver specific considerations or behaviors that would pose issues with such approach. Thoughts?
--
v2: winewayland.drv: Implement wgl(Get)SwapIntervalEXT.
winewayland.drv: Implement wglShareLists.
winewayland.drv: Implement wglCreateContextAttribsARB.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5264
Part 1 of a set of changes for making the recording of highlights and "Play of the Game"s to mp4 in Overwatch work.
This MR contains most of the required IMFMediaSink changes.
--
v3: mfplat: Return NULL for *stream_sink on error in IMFMediaSink::AddStreamSink.
mfplat: Accept any media types without a MF_MT_USER_DATA attribute in MFCreateWaveFormatExFromMFMediaType.
mf/tests: Add test for MEStreamSinkStarted and MEStreamSinkRequestSample events.
winegstreamer: Add support for ADTS container format (.aac files).
https://gitlab.winehq.org/wine/wine/-/merge_requests/5159