LOCALE_SGROUPING's string and the `Grouping` field in NUMBERFMTW are confusingly different. The former, which is what is fixed here, treats a '0' as a repeat of the previous grouping. But a 0 at the end of the `Grouping` field prevents it from repeating (it repeats by default otherwise) so it's the opposite. Note that without a '0' in the LOCALE_SGROUPING string, it shouldn't even repeat in the first place.
This fixes the typical "3;0" default grouping, for example.
See: https://learn.microsoft.com/en-us/windows/win32/intl/locale-sgrouping
--
v2: kernelbase: Fix grouping repeat for number formatting.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1937
We are currently not initializing static values to zero by default.
Consider the following shader:
```hlsl
static float4 va;
float4 main() : sv_target
{
return va;
}
```
we get the following output:
```
ps_5_0
dcl_output o0.xyzw
dcl_temps 2
mov r0.xyzw, r1.xyzw
mov o0.xyzw, r0.xyzw
ret
```
where r1.xyzw is not initialized.
This patch solves this by assigning the static variable the value of an
uint 0, and thus, relying on complex broadcasts.
This seems to be the behaviour of the the native compiler, since it retrieves
the following error on a shader that lacks an initializer on a data type with
object components:
```
error X3017: cannot convert from 'uint' to 'struct <unnamed>'
```
--
v7: vkd3d-shader/hlsl: Allow uninitialized static objects.
vkd3d-shader/hlsl: Validate that non-uniform objects are not referenced.
tests: Add additional object references tests.
tests: Test proper initialization of static structs to zero.
vkd3d-shader/hlsl: Initialize static variables to 0 by default.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/54
SPIR-V doesn't support parallelisation in patch constant functions.
Merging into one phase allows generation of a single patch constant
function and normalises to the shader model 6 pattern.
--
v3: vkd3d-shader: Merge all shader fork and join phases into a single phase.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/60
> @julliard Could you please take a look at this build fix. It should be included in Wine 8.0 release.
The extra ifdefs are ugly, it should be possible to solve this in a cleaner way.
Note that in general, fixing compiler warnings is not in scope for code freeze.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1919#note_21034
As diagnosed by GCC 13:
dlls/localspl/provider.c: In function ‘fill_builtin_form_info’:
dlls/localspl/provider.c:3045:16: warning: ‘res_len’ may be used uninitialized [-Wmaybe-uninitialized]
3045 | if (res_len)
| ^
--
v3: localspl: Avoid uninitialized variable in fill_builtin_form_info
https://gitlab.winehq.org/wine/wine/-/merge_requests/1960
First relevant commit:
windows.media.speech: Add a worker thread to the recognition session.
--
v4: windows.media.speech: Store recorded audio in a temporary ringbuffer.
windows.media.speech: Partially implement the speech recognizer state.
windows.media.speech: Implement the audio capturing system.
windows.media.speech: Allow the recognition session worker to be paused.
windows.media.speech/tests: Check if stopping the session resets the paused state.
windows.media.speech: Add a worker thread to the recognition session.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1948