Second commit is to be removed.
Signed-off-by: Bernhard Kölbl <besentv(a)gmail.com>
--
v10: windows.media.speech: Implement Vosk create and release functions in the unixlib.
windows.media.speech/tests: Allow the SpeechRecognizer creation to fail in Wine.
windows.media.speech/tests: Get rid of duplicated hresult.
windows.media.speech: Add unixlib stub.
windows.media.speech: Add Vosk checks to autoconf.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2091
Currently, we can't use add_load_index() or add_load_component() on the loads to the `"retval"` variables that come from `add_call()` because these functions assume that the loaded value (`var_instr`) won't change between its location and the location and the new load to be created.
We can't get rid of this assumptions either, because, at least
`add_load_index()` may be used in the lhs of an assignment, and in that case we
can't store to the "deref" synthetic:
```
x[0] = 20;
```
Here I implemented the alternative solution of copying `"retval"` into a synthetic variable after each function call, but we may want to discuss this approach.
The second problem this that is covered in 3/3 is fixing the number of components of the swizzle instructions generated by copy-prop, without it, the following assertion in `hlsl_sm4.c` fails for me
```c
/* Narrowing casts were already lowered. */
assert(src_type->dimx == dst_type->dimx);
```
for some tests, in one of my branches, because of narrowing casts may end up appearing if the node is replaced with a node with more components. This error happens under quite complex conditions (involving casts and matrices) that I still try to narrow down, but I think that the fix is logical enough, without it, the asserts introduced in the patch fail in many tests.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/93
On Wed Feb 15 13:55:41 2023 +0000, Nikolay Sivov wrote:
> Hi, @giomasce. Is anything blocking this MR?
I'd like to see more tests that `reflect()` really behaves like on native with different types combinations. For example, what happens if you call `reflect()` on a `float` and a `float2`? Or on a `float2` and a `float3`? From my tests, it seems that the current implementation is correct, but it would be nice to have this shown by tests, so that we don't regress it in the future. It should be quite a quick thing to do.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/80#note_24372
Second commit is to be removed.
Signed-off-by: Bernhard Kölbl <besentv(a)gmail.com>
--
v9: windows.media.speech: Implement Vosk create and release functions in the unixlib.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2091
The following two examples fail to compile, but work fine in real vbscript:
```
Dim x
x = 8
if x = 9 Then
Wscript.Echo "HERE1"
elseif x = 8 then Wscript.Echo "HERE2"
else
Wscript.Echo "HERE3"
end if
```
```
Dim x
x = 8
if x = 9 Then
Wscript.Echo "HERE1"
elseif x = 8 then
: Wscript.Echo "HERE2"
else
Wscript.Echo "HERE3"
end if
```
This was fixed similar using the same approach as https://gitlab.winehq.org/wine/wine/-/merge_requests/2142
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2188
The separate lists were added to avoid iterating device nodes if not necessary. I believe we don't need that anymore as we now keep the devices in a more efficient sequential array.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2207