I wrote a test intending to find exactly how points are quantized when figuring the region bounding box, so I can make sure I don't break it. Surprisingly, I'm able to just pass in fractional values and get them back. Clearly this isn't based on any quantization.
MSDN says "The rectangle returned by Region::GetBounds is not always the smallest possible rectangle."
MSDN also says that the world and page transformations of the Graphics object are used, which doesn't seem to be the case, but I choose to selectively believe it when tests agree.
So the rectangle we return must enclose the region, but it may be larger than necessary to enclose the region. This is conveniently exactly the same as the get_region_bounding_box function I wrote earlier. (While there may be implementation differences, I think we can worry about that if/when it becomes a problem. We already got by on something very different from native for a long time.)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5345
(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