It is possible that a stream is destroyed while another thread is waiting on
event_empty_cond or event_cond. The waiting thread should have the opportunity
to be rescheduled and exit the critical section before the condition variables
and the mutex are destroyed.
--
v3: winegstreamer: Synchronize media source async commands and shutdown.
winegstreamer: Free the GStreamer buffer when freeing a WG parser stream.
winegstreamer: Synchronize access to the media source from callbacks.
winegstreamer: Synchronize concurrent access to the media stream.
winegstreamer: Synchronize concurrent access to the media source.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1278
I was watching some random YouTube stream and then heard a voice telling me to do this.
This can run wglgears on wow, though there's plenty of missing pieces which I don't have any idea how to fix (like buffer mapping, etc.). Opening it as a draft for now to show the whole thing, if it seems alright I'll send it in batches.
--
v5: winex11.drv: Avoid crashing on invalid pixel format pointer.
opengl32: Use the +opengl debug channel everywhere.
opengl32: Implement wow64 thunks for glMapBuffer (et al.).
opengl32: Use manual win32 thunks for glMapBuffer (et al.).
opengl32: Implement wow64 thunk for glGetString (et al.).
opengl32: Implement wow64 thunks for glFenceSync (et al.).
opengl32: Implement wow64 thunks for input pointer arrays.
opengl32: Implement wow64 thunk for wglGetPbufferDCARB.
opengl32: Implement wow64 thunk for wglCreatePbufferARB.
opengl32: Implement wow64 thunk for wglCreateContextAttribsARB.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1010
These invalid formats are rejected when creating WIC render targets. Otherwise, Wine may create a WIC render target with an unsupported format and in turn, will make testing IsSupported() method difficult.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1321
This allows 32-bit packages to be found when the user has specified
PKG_CONFIG_PATH for some other reason.
This also mirrors the way e.g. i686-linux-gnu-pkg-config is implemented on
Debian, and possibly other distributions as well.
This also prevents 64-bit .pc files from being found. This was originally
intended as a benefit [1], but can contribute to misdetection of headers which
are not actually multiarch (e.g. GStreamer, although at the time that [1] was
written that was a preëxisting problem). In general a distribution which
provides .pc files for one architecture should be expected to provide them for
any architecture that it actually provides libraries for; even if that was not
true of Debian in 2017, it is now. I moreover assert it is better to fail to
find a present library than to incorrectly find the wrong one.
Note that we can't easily use i686-linux-gnu-pkg-config, as would otherwise be
preferable, for reasons also described in [1].
[1] https://www.winehq.org/pipermail/wine-devel/2017-June/118002.html
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1432