Matteo Bruni (@Mystral) commented about dlls/ntdll/tests/file.c:
> }
>
> +#define lok ok_(__FILE__, line)
> +#define rename_file(h,f) rename_file_(__LINE__,(h),(f))
> +static BOOL rename_file_( int line, HANDLE h, const WCHAR *filename )
> +{
> + FILE_RENAME_INFORMATION *fri;
> + UNICODE_STRING ntpath;
> + IO_STATUS_BLOCK io;
> + NTSTATUS status;
> + BOOLEAN ret;
> + ULONG size;
> +
> + ret = pRtlDosPathNameToNtPathName_U( …
[View More]filename, &ntpath, NULL, NULL );
> + lok( ret, "RtlDosPathNameToNtPathName_U failed\n" );
> + if (!ret) return FALSE;
Please get rid of the ok() and if() {}, we can just assume that the RtlDosPathNameToNtPathName_U() call works correctly (i.e. if it fails we have bigger problems and arguably crashing and burning is better than reporting a failure and silently skipping the test).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1148#note_28242
[View Less]
Matteo Bruni (@Mystral) commented about dlls/ntdll/tests/file.c:
> CloseHandle( h );
> }
>
> +#define lok ok_(__FILE__, line)
> +#define rename_file(h,f) rename_file_(__LINE__,(h),(f))
> +static BOOL rename_file_( int line, HANDLE h, const WCHAR *filename )
I'd avoid these line shenanigans, we now have test contexts to disambiguate ok() calls from different tests.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1148#note_28241
Based on !2524.
This adds the remaining stubs needed for Crazy Machines 3 to work and decode preview images correctly in online mode.
--
v2: msvcr110: Add _Context::_IsSynchronouslyBlocked stub.
msvcr110: Add _Cancellation_beacon::_Cancellation_beacon_dtor stub.
msvcr110: Add _Cancellation_beacon::_Cancellation_beacon_ctor stub.
msvcr100: Implement _StructuredTaskCollection::_IsCanceling.
msvcr100: Implement _StructuredTaskCollection canceling.
msvcr100: Use …
[View More]enum for _StructuredTaskCollection status bits.
msvcr100: Use enum for _StructuredTaskCollection return value.
msvcr100: Only wake task collection waiters when finished >= count.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1979
[View Less]
Diablo IV (closed beta) depends on DEVPKEY_Device_MatchingDeviceId being present for GPUs (once it is able to match GPU luid to the one obtained from dxgi). It also depends on the MatchingDeviceId conating "ven_" and "dev_" substrings. Without those it doesn't consider the gpu as valid, which currently results in the game complaining about no GPUs found. I guess that maybe it is trying to filter out software GPUs and such this way.
As far as my testing goes, DEVPKEY_Device_MatchingDeviceId has …
[View More]this form with hardware GPUs only and maybe with the recent enough Win10 or Win11.
The other two device properties being added are also queried by the game although they are not strictly needed for it.
--
v6: win32u: Set DEVPKEY_Device_RemovalPolicy for GPUs.
win32u: Set DEVPKEY_Device_BusNumber for GPUs.
win32u: Set DEVPKEY_Device_MatchingDeviceId for GPUs.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2449
[View Less]
I initially wanted to do the refactoring in a separate merge request, but since my merge request yesterday broke the tests, I decided to add the implementation into this commit as well.
--
v5: kernelbase: Recursively obtain the Wow6432Node parent.
kernelbase: Add support for shared registry keys.
kernelbase: Call create_key() from create_subkey().
kernelbase: Factor creating a subkey out of create_key().
kernelbase: Don't open Wow6432nodes from create_key().
https://gitlab.winehq.org/wine/wine/-/merge_requests/2483