On Tue May 9 13:57:15 2023 +0000, Ethan Lee wrote:
> I could see this getting hit again if fold_exprs got used elsewhere - if
> we can't fold abs(INT_MIN), would it make sense to leave the expression
> untouched and let the runtime deal with it instead? I can add a quick
> ```
> /* abs(INT_MIN) is undefined, leave this expression alone */
> if (src->value.u[k].i == INT_MIN)
> return false;
> ```
> if so.
That's fine for me.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/203#note_32287
On Tue May 9 10:35:56 2023 +0000, Giovanni Mascellani wrote:
> This is undefined behavior on `INT_MIN`.
> Actually, this case is somewhat interesting, because `lower_int_abs()`
> runs before constant expression folding, and should get rid of all `int`
> absolute values. So in principle we could stick `vkd3d_unreachable()`
> here. However `lower_int_abs()` does not run when doing constant folding
> from `evaluate_static_expression_as_uint()`, so this is still reachable.
> I'm not sure of what the others think, but I think I would be in favor
> to stipulating that this is unreachable and add other passes to `evaluate_static_expression_as_uint()`.
I could see this getting hit again if fold_exprs got used elsewhere - if we can't fold abs(INT_MIN), would it make sense to leave the expression untouched and let the runtime deal with it instead? I can add a quick
```
/* abs(INT_MIN) is undefined, leave this expression alone */
if (src->value.u[k].i == INT_MIN)
return false;
```
if so.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/203#note_32279
Introduces an `idx_count` field to `struct vkd3d_shader_register`. Another patch set is needed for further validations and to use this field where applicable.
--
v8: vkd3d-shader/tpf: Validate input and output index ranges for default control point phases.
vkd3d-shader/tpf: Remove an unnecessary carriage return from a parser error message.
vkd3d-shader/tpf: Validate index range declarations.
vkd3d-shader/tpf: Validate input/output registers.
vkd3d-shader/tpf: Validate signature element masks.
vkd3d-shader/tpf: Validate signature element register indices.
vkd3d-shader/tpf: Validate input/output register index counts.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/198
Doing first instead of https://gitlab.winehq.org/wine/wine/-/merge_requests/2637, as it should be more straightforward.
--
v3: winemac: Use the default IME implementation for NotifyIME.
winex11: Move NotifyIME to the default IME implementation.
win32u: Introduce new NtUserNotifyIMEStatus syscall.
winex11: Simplify NotifyIME with NI_COMPOSITIONSTR / CPS_COMPLETE.
winex11: Clear the composition string when input context is closed.
winex11: Use a helper to change internal composition status.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2769
--
v4: wineoss: Use mmdevapi's AudioStreamVolume.
winecoreaudio: Use mmdevapi's AudioStreamVolume.
winealsa: Use mmdevapi's AudioStreamVolume.
winepulse: Move AudioStreamVolume into mmdevapi.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2764
Doing first instead of https://gitlab.winehq.org/wine/wine/-/merge_requests/2637, as it should be more straightforward.
--
v2: winemac: Use the default IME implementation for NotifyIME.
winex11: Move NotifyIME to the default IME implementation.
win32u: Introduce new NtUserNotifyIMEStatus syscall.
winex11: Simplify NotifyIME with NI_COMPOSITIONSTR / CPS_COMPLETE.
winex11: Clear the composition string when input context is closed.
winex11: Use a helper to change internal composition status.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2769
Prior to 98d209752cee9abd8dc31dfe1f28811066b0b83f, the base type format
wasn't inserted twice in stream format description.
An application (Idol Showdown) fails to play its intro video when the
base type format is duplicated.
Signed-off-by: Eric Pouech <epouech(a)codeweavers.com>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2771