Resolves https://bugs.winehq.org/show_bug.cgi?id=9127 . (Some of the named programs in that issue may require additional currently-missing functionality, I didn't check; but if so, that's separate issues.)
Tested with
- winetest on Windows 7
- winetest on Windows 10
- winetest in Wine, of course
- microkiri https://bugs.winehq.org/show_bug.cgi?id=9127#c102
- Wagamama High Spec Trial Edition https://wagahigh.com/download_trial.php#normal (ダウンロード means download)
- Ninki Seiyuu no Tsukurikata Trial https://archive.org/details/sayou_trial
(WMV files in microkiri and Wagamama don't work, but that's separate issues. Also, they need the LC_ALL=ja_JP env, or they throw various goofy errors.)
--
v4: quartz/tests: Add tests for CLSID_CMpegVideoCodec.
quartz/tests: Add tests for new CLSID_MPEG1Splitter functionality.
winegstreamer: Improve and clean up some debug logs.
winegstreamer: Implement a little more of IAMStreamSelect in CLSID_MPEG1Splitter.
winegstreamer: Implement CLSID_CMpegVideoCodec.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3938
uiautomationcore/tests: Add tests for IProxyProviderWinEventHandler based MSAA to UIA event bridging.
Signed-off-by: Connor McAdams <cmcadams(a)codeweavers.com>
--
v2: uiautomationcore: Make sure event thread is started when listening for WinEvents.
uiautomationcore: Track HWNDs that need WinEvent translation.
uiautomationcore: Add WinEvent hook on the UIA event thread.
uiautomationcore: Check providers for an IProxyProviderWinEventHandler interface when attaching events.
uiautomationcore/tests: Add tests for IProxyProviderWinEventHandler based MSAA to UIA event bridging.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3919
This MR replaces `vkd3d_shader_register.immconst_type` with `vkd3d_shader_register.dimension` which is intended for all register types and not just immconsts.
This dimension is parsed in tpf.c, and initialized according to the register type in d3dbc.c.
Having this field in vkd3d_shader_register allows us to avoid hardcoding special cases for the register dimensions when writing sm4 bytecode (e.g. for the sampler src register in gather instructions). Also, it allows for some fixes to d3d_asm.c, which are introduced in part 2 (https://gitlab.winehq.org/fcasas/vkd3d/-/commits/add_vkd3d_reg_dim).
--
v7: vkd3d-shader/d3dbc: Initialize register dimension for all register types.
vkd3d-shader/tpf: Parse register dimension for all register types.
vkd3d-shader: Turn vkd3d_shader_register.immconst_type into vkd3d_shader_register.dimension.
vkd3d-shader/tpf: Use vsir_register_init() in shader_sm1_parse_dst_param().
vkd3d-shader/tpf: Use vsir_register_init() in shader_sm1_parse_src_param().
vkd3d-shader/tpf: Use vsir_register_init() in shader_sm4_read_param().
vkd3d-shader/spirv: Use vsir_register_init() in spirv_compiler_emit_default_control_point_phase().
vkd3d-shader/spirv: Use vsir_register_init() in spirv_compiler_emit_resource_declaration().
vkd3d-shader/spirv: Use vsir_register_init() in spirv_compiler_emit_sampler_declaration().
vkd3d-shader/spirv: Use vsir_register_init() in spirv_compiler_emit_dcl_immediate_constant_buffer().
vkd3d-shader/spirv: Use vsir_register_init() in spirv_compiler_emit_cbv_declaration().
vkd3d-shader/spirv: Use vsir_register_init() in spirv_compiler_emit_dcl_indexable_temp().
vkd3d-shader/spirv: Use vsir_register_init() in spirv_compiler_emit_hull_shader_builtins().
vkd3d-shader/spirv: Use vsir_register_init() in spirv_compiler_get_invocation_id().
vkd3d-shader: Rename shader_register_init() to vsir_register_init().
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/319
This is the last series I have to use hlsl_block instead of list manipulation.
There is still some list manipulation around, but it's a little trickier to get
rid of, and questionably worthwhile. At any rate things are a lot better now
than they were.
--
v2: vkd3d-shader/hlsl: Use lower_ir() for lower_sqrt().
vkd3d-shader/hlsl: Use lower_ir() for lower_division().
vkd3d-shader/hlsl: Use lower_ir() for lower_int_abs().
vkd3d-shader/hlsl: Use lower_ir() for lower_casts_to_bool().
vkd3d-shader/hlsl: Use lower_ir() for more passes.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/334
Now that we can write HLSL intrinsics in HLSL, cleaning up missing
functions becomes much easier.
This commit also extends the trigonometry tests a little bit to make
sure that tan works right.
--
v8: vkd3d-shader/hlsl: Implement intrinsic tan.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/321