Note: typeof (int * unsigned) is unsigned.
So:
- on 64bit CPUs, where sizeof(int) = 4 < sizeof(void*) = 8,
- when the result of the multiplication is supposed to be negative
- there's no progation of the negative sign from 32bit to 64 bit integers
Fixes a crash in Age of Empire II.
Signed-off-by: Eric Pouech <epouech(a)codeweavers.com>
--
v2: evr: Fix incorrect integral computation.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2723
--
v3: tests/d3d12: Test register relative addressing in vertex and pixel shaders.
vkd3d-shader: Introduce an internal sm6 signature structure.
vkd3d-shader/tpf: Return an error from vkd3d_shader_sm4_parser_create() if the parser failed.
vkd3d-shader/d3dbc: Return an error from vkd3d_shader_sm1_parser_create() if the parser failed.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/197
This patch makes index expressions on resources hlsl_ir_index nodes
instead of hlsl_ir_resource_load nodes, because it is not known if they
will be used later as the lhs of an hlsl_ir_resource_store.
For now, the only benefit is consistency.
--
v3: vkd3d-shader/hlsl: Don't keep the implicit mipmap level on hlsl_ir_index.
vkd3d-shader/hlsl: Use hlsl_ir_index for resource access.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/182
--
v2: tests: Add a test for SampleBias() with multiple mipmap levels.
tests: Add a test for sampling from nonzero mipmap levels.
tests: Add a test for loading from nonzero mipmap levels.
tests/shader_runner: Add support for creating mipmapped textures.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/191
~~This one's marked as a draft, as there seems to be a blocker with the method parameters.~~
~~The first commit totally works, _if_ the ddx/ddy parameters are literals - they do _not_ work when passing a variable of any kind. The test comes from tests/d3d12.c, so I'm mostly just trying to migrate that to the HLSL test suite, but it currently hits an assert before we get to the resource load (which does eventually work) and I'm not sure what's causing it:~~
```
vkd3d-compiler: libs/vkd3d-shader/tpf.c:3190: sm4_register_from_node: Assertion `instr->reg.allocated' failed.
```
~~Seems like it's surprised when we try to load from the constant buffer maybe?~~ Fixed!
--
v8: vkd3d-shader/hlsl: Add support for SampleGrad() method
tests: Add a test for SampleGrad() method
tests: Add a test for SampleBias() with multiple mipmap levels.
tests: Add a test for sampling from nonzero mipmap levels.
tests: Add a test for loading from nonzero mipmap levels.
tests/shader_runner: Add support for creating mipmapped textures.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/184
Requires testing, as I only have access to a remote macOS machine.
--
v2: mmdevapi: Remove unused "channel" member in set_volumes_params.
winecoreaudio: Implement per-channel volume control.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2732