Currently if anything has created, e. g., HKLM\\Software\\Wow6432Node\\Wow6432Node key, all the WOW keys with subkeys for HKLM\\Software will be created in HKLM\\Software\\Wow6432Node\\Wow6432Node\\ instead of HKLM\\Software\\Wow6432Node. And then those keys cannot be found. The test in the patch demonstrates such a case.
This should fix Tom Clancy's The Division (more exactly, Ubisoft launcher setup) from Steam where Steam prerequisite setup step creates "HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Ubisoft\\The Division - Steam" from a 32 bit program, which results in HKLM\\Software\\Wow6432Node\\Wow6432Node presence (correctly), and from this point everything gets broken.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5187
Based on mingw-w64.
System modules on Windows have load config available. In fact, all applications using the default MSVC for crt have it. mingw-w64 provides the load config, but it also requires linker to use it and currently only LLD supports it. This MR does the same in winecrt0. We will need it on both ARM64 and ARM64EC targets to support ARM64X (which requires LLD for other reasons anyway).
--
v2: winecrt0: Use load config on all targets.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5184
Based on mingw-w64.
System modules on Windows have load config available. In fact, all applications using the default MSVC for crt have it. mingw-w64 provides the load config, but it also requires linker to use it and currently only LLD supports it. This MR does the same in winecrt0. We will need it on both ARM64 and ARM64EC targets to support ARM64X (which requires LLD for other reasons anyway).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5184
Apparently, 1454ffe7ddf01226aacec07836d4afa62fecd3fa introduced
the assumption that the font passed to gdip_format_string is
non-NULL, and GdipAddPathString wasn't passing it in.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5185
--
v2: mfreadwrite/reader: Implement IMFSourceReaderEx_GetTransformForStream.
mfreadwrite/reader: Create and append a converter transform.
mfreadwrite/reader: Keep the stream transforms in a list.
mfreadwrite/reader: Call SetOutputType directly on the decoder transform.
mfreadwrite/reader: Split source_reader_create_decoder_for_stream helper.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5120
On Wed Feb 28 11:16:58 2024 +0000, Stefan Dösinger wrote:
> This is more a curiosity rather than something that needs to be
> addressed in this patch: Dies CreateDeviceFromClipper fail if the
> clipper has no window (but instead a cliplist or simply nothing)?
> I would expect it to fail, but otoh SetCooperativeLevel on a NULL HWND
> works in DDSCL_NORMAL I think.
I had checked the no-window scenario (on WinXP) and IIRC, it treated coordinates as screen coordinates.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5161#note_62946
This applies on top of !662, the last four commits belong here.
Here we compute a topological order (plus some additional properties) of the shader blocks. Eventually the blocks will be emitted precisely in this order, after having been enriched with structured control flow information.
--
v6: vkd3d-shader/ir: Keep loops contiguous in the topological sort.
vkd3d-shader/ir: Dump the topological order of the control flow graph.
vkd3d-shader/ir: Topologically sort the control flow graph.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/672
On Wed Feb 28 11:16:57 2024 +0000, Stefan Dösinger wrote:
> Suggestion: Check if *device is indeed the IDirect3DRMDevice (QI
> IID_IDirect3DRMDevice from it and compare pointers). We have cases in
> plain ddraw where callbacks and getters return the interface passed in
> instead of what the header says and applications depend on it.
> IOW, if you register the callback with
> IDirect3DRMDevice3::AddUpdateCallback you may or may not get an
> IDirect3DRMDevice3 * here.
Interesting. Yeah, I may add some testing for that in another MR.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5161#note_62936