This first MR create an internal structured representation of the CFG and computes the domination relationship. Over a few other MRs I will implement an algorithm inspired to [this article](https://medium.com/leaningtech/solving-the-structured-control-flow… to compute a better structure than the one we already have, but for the moment the computed data is immediately wasted.
--
v3: vkd3d-shader/ir: Dump the domination relationship.
vkd3d-shader/ir: Compute the domination relationship.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/656
Add a dummy track parser, that reads through MIDI tracks and events. To make sure we understand the file structure correctly, no actual tracks or events are generated.
Also add test cases to make sure we read through a MIDI file correctly.
This is skeleton of the actual MIDI parser. Pending on the merge of !4982
--
v16: fixup! dmime: Read through a MIDI file.
dmime/tests: Improve error reporting from expect_track.
dmime: Read through a MIDI file.
dmime: Don't skip chunk for MIDI files.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5081
--
v6: vkd3d-shader/dxil: Implement DX intrinsic RawBufferStore.
vkd3d-shader/dxil: Handle raw and structured buffers in sm6_parser_emit_dx_buffer_store().
vkd3d-shader/dxil: Implement DX intrinsic BufferStore.
tests/shader-runner: Add a test for a signed int structured buffer UAV.
tests/shader-runner: Add a test for a signed int typed buffer UAV.
tests/shader-runner: Support structured buffer UAVs.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/642
On Wed Nov 22 18:02:56 2023 +0000, eric pouech wrote:
> my point is more about the way to implement the fix rather if the
> propose fix passes the tests
> cmd as of today is barely maintanable because of small adjustements here
> and there, added over the years
> your proposal is such a small adjustment by changing behavior of some
> helper functions, depending on context, whereas IMO the cause of the
> issue lies elsewhere
I can appreciate the fact that Wine's cmd.exe implementation is kind of ugly. Nonetheless, in my opinion it's not reasonable to require a near-total rewrite of cmd.exe in order to fix this bug. `IF` is very special in cmd, and would still have to be treated specially even if cmd.exe were completely rewritten. The correct order of operations is to expand % variables, then parse the operands, then expand ! variables. Whether we have functions like handleExpansion, evaluate_if_condition, and do_delayed_expansion for those steps or whether we have a tokenizer that does it all, there has to be code to define the order, and that code would be similar in either case.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4418#note_61991
--
v5: vkd3d-shader/dxil: Implement DX intrinsic GetDimensions.
vkd3d-shader/dxil: Move the resource kind helper functions up.
vkd3d-shader/spirv: Introduce a sample info flag value for a scalar uint dst parameter.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/629
--
v5: vkd3d-shader/dxil: Implement DX intrinsic RawBufferStore.
vkd3d-shader/dxil: Handle raw and structured buffers in sm6_parser_emit_dx_buffer_store().
vkd3d-shader/dxil: Implement DX intrinsic BufferStore.
tests/shader-runner: Add a test for a signed int structured buffer UAV.
tests/shader-runner: Add a test for a signed int typed buffer UAV.
tests/shader-runner: Support structured buffer UAVs.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/642
This is a relatively small step towards cleaning up the dumping ground that Wine's winternl.h has become.
--
v2: include: Move CPTABLEINFO and NLSTABLEINFO from winternl.h to ntnls.h.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5102