This comes from behavioral study of Windows, which doesn't seem to check if the
lock is actually exclusively held, and just simply decrement the value stored
in the lock.
This fixes a dead lock which prevents WeCom from starting up.
--
v2: ntdll: Handle invalid locks in ReleaseSRWLockExclusive.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3504
OPEN_MAX is 10240, which is usually lower than the kern.maxfilesperproc sysctl
value. Said value from sysctl works on Mojave to Monterey (and most likely
earlier Mac OS versions, but I can't test). Since Big Sur we can successfully
set the reported rlim_max value.
--
v2: ntdll: Try to raise the file limit above OPEN_MAX on MacOS.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3503
This comes from behavioral study of Windows, which doesn't seem to check if the
lock is actually exclusively held, and just simply decrement the value stored
in the lock.
This fixes a dead lock which prevents WeCom from starting up.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3504
OPEN_MAX is 10240, which is usually lower than the kern.maxfilesperproc sysctl
value. Said value from sysctl works on Mojave to Monterey (and most likely
earlier Mac OS versions, but I can't test). Since Big Sur we can successfully
set the reported rlim_max value.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3503
On Thu Aug 3 07:27:22 2023 +0000, Hans Leidekker wrote:
> Can you give an example where wprintf() doesn't do the right thing?
Printing a non-english username.
`wprintf()` by default doesn't print non-english letters at all (I remember testing various system LC_ALL variants, like `C.UTF-8`, `en_US.UTF-8`, `ru_RU.UTF-8`, and none of that took an effect).
With `setlocale(LC_ALL, something)` it does print the letters, but
1. Only of a language that is set, so I presume it chooses something like a `cp1251` equivalent (an 8-bit language-specific encoding?).
2. It isn't used in any of other wine programs, while that `ConsoleWriteW()` hack is used at least in present whoami and xcopy implementations (probably more).
This implementation, in turn, behaves exactly like the Windows whoami.
Also when testing the `klist` I noticed that on Windows it was printing `?` signs instead of `Server` string (somehow hooked up a translation?), so `ConsoleWriteW()` seems to be necessary for any translatable console programs if one wants to avoid `setlocale()`.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3473#note_41167
SPIR-V says this is undefined behaviour, but Direct3D actually specifies that it
should clamp. Most drivers do clamp, but llvmpipe does not. Hence this fixes a
couple of tests with llvmpipe.
This does of course add overhead to the ftou instruction, but I cannot imagine
that it is a common instruction to execute. This also is not the first time we
perform such checks; cf. udiv.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/289
--
v2: vkd3d-shader/hlsl: Use hlsl_block_add_instr() in clone_block().
vkd3d-shader/hlsl: Clean up the static_initializers block when the context is destroyed (Valgrind).
vkd3d-shader/hlsl: Pass a hlsl_block pointer to dump_instr_list().
vkd3d-shader/hlsl: Store the "instrs" field of struct hlsl_attribute as a hlsl_block.
vkd3d-shader/hlsl: Pass an hlsl_block pointer to add_load_component().
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/290