(Had to initialize is_yuv in the last change because somehow GCC started to complain about it)
--
v2: mfplat/mediatype: Implement MFInitMediaTypeFromMFVideoFormat.
mfplat/tests: Add tests for MFInitMediaTypeFromMFVideoFormat.
mfplat/mediatype: Stub MFInitMediaTypeFromMFVideoFormat.
mfplat/tests: Check the conditions for the MFVideoFlag_BottomUpLinearRep flags.
mfplat/mediatype: Append user data in MFCreateMFVideoFormatFromMFMediaType.
mfplat/tests: Test that MFCreateMFVideoFormatFromMFMediaType appends user data.
mfplat/tests: Test that aperture is dropped with VIDEOINFOHEADER2.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5348
These two commits shouldn't change anything functional wise, but with minimal changes on wine side, they allow easy integration of d3d9/tests/visual.c into GoogleTest native runner. visual.c code is C++ compatible, except the `enums`.
Second change is done, because we had to redefine `ok()` macro, so without proper braces around conditions it cannot be expanded to multiple lines.
Here is [MR how we import](https://github.com/axeldavy/Xnine/pull/12) the `visual.c`
Third commit just correct my name in the `.mailmap`
My main goal here is bring code which run in Mesa3D CI workflow as closer to the original wine d3d9 tests, so we can easily update from wine and eventually provide also fixes and improvements back.
If you find this MR suitable, we could try figure out a way, to incorporate data about [nine_todo](https://github.com/axeldavy/Xnine/commit/7ac97c8350ea5b2bfd7307c…, of course only if you find some use of these extra information.
/cc @zfigura
--
v3: d3d9/tests: replace LPDWORD with DWORD* in visual.c
https://gitlab.winehq.org/wine/wine/-/merge_requests/5324
There are quite a lot of test failures:
* a never before seen Windows failure in shell32:shlfolder, possibly a spurious notification from elsewhere in the file system;
* a failure in shell32:systray, possibly uID collision;
* bug 53979;
* several jscript and mshtml failures which seem to be fixed, I'm guessing by bd5ab1c6cdb;
* a recent and mostly systematic failure in mf:mf; not sure what's going on there. The only vaguely relevant commit from the period is 14743b0ffb0ce, but I'm not convinced it's related.
I'll try to look into the shell32 and mf failures, but it's clear none of them are related to this patch series.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5335#note_65290
~~This applies on top of !711, the last three commits belong here.~~
This MR and the following ones will introduce a number of optimization passes on the structured representation of the shader, with the goal of fixing the idiosyncrasies of the code generated by the new structurizer. The general pattern is that we want to recognize when the combination of loops and jumps can be rather written with selection constructs. Ideally that should bring to removing all the synthesized loop intervals, but that cannot be guaranteed in general. We still want to do remove all the loops we can, first to make the generated code easier to read and to recompile, and second because having fewer loops also means that more multilevel jumps become ordinary single level jumps, which do not require overhead to be represented in SPIR-V.
--
v3: vkd3d-shader/ir: Synthesize selection constructs from conditional jumps.
vkd3d-shader/ir: Remove trailing `continue's.
vkd3d-shader/ir: Move `continue's to the false branch when possible.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/722
This applies on top of !711, the last three commits belong here.
This MR and the following ones will introduce a number of optimization passes on the structured representation of the shader, with the goal of fixing the idiosyncrasies of the code generated by the new structurizer. The general pattern is that we want to recognize when the combination of loops and jumps can be rather written with selection constructs. Ideally that should bring to removing all the synthesized loop intervals, but that cannot be guaranteed in general. We still want to do remove all the loops we can, first to make the generated code easier to read and to recompile, and second because having fewer loops also means that more multilevel jumps become ordinary single level jumps, which do not require overhead to be represented in SPIR-V.
--
v2: vkd3d-shader/ir: Synthesize selection constructs from conditional jumps.
vkd3d-shader/ir: Remove trailing `continue's.
vkd3d-shader/ir: Move `continue's to the false branch when possible.
vkd3d-shader/ir: Emit multilevel jumps in the structured program.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/722