Mostly to avoid polluting other logs and artifacts, and also to avoid
recompiling crosstests over and over.
--
v5: ci: Wrap complex commands in CI scripts.
ci: Build crosstests with -Wno-array-bounds.
ci: Build crosstests in a dedicated CI job.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/359
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).
--
v9: 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 goes on top of MR 320.
--
v11: tests/shader-runner: Add a '--dump-dxil' command line switch.
tests/shader-runner: Test shaders with dxcompiler.
tests/shader-runner: Do not apply todo to result probes.
tests/shader-runner: Replace immediate shader type strings with an enum.
tests/shader-runner: Do not exit if a 'require' directive is not met.
tests/shader-runner: Handle individual keywords in shader directives.
vkd3d-shader/dxil: Convert into an error the warning for an unhandled instrinsic.
vkd3d-shader/dxil: Do not compile compute shaders.
vkd3d-shader/dxil: Do not access null code blocks on failure.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/346
In clock_change_state() when a clock is running, a timer is removed from clock->timers. The same
timer is then used to create an async result, which will eventually calls present_clock_timer_callback_Invoke()
and removes the same timer.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3955