This is a half-witted attempt at avoiding GdipGetRegionHrgn.
in GdipFillPath. The use of GdipGetRegionHrgn happens as
consequence of the use of regions in internal code. From the look
of it, as per the development plans, it should be possible to
remove it by avoiding internal use of regions.
This could be done, for instance, by reducing a region to a path
before computing on it or rendering it. However, this is going to
be fairly if not very complicated and, just like with the other MR,
will not guarantee optimization.
This patch, for instance, might not have observable optimization
impact. This is because 'trace_path' and 'PathToRegion' are still
being used and are probably the most computation heavy sections of
GdipGetRegionHrgn. Still, it should be possible to compute the exactly
what data to render without these two methods. This could however get
a bit complicated.
Signed-off-by: David Kahurani <k.kahurani(a)gmail.com>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5152
Create a bandtrack for MIDI files by picking out the MIDI 0xCn events, and creating matching DMUS_PATCH_PMSG.
* * *
This also has a commit adding a stub chordtrack, which is small so I think a separate MR is unwarranted. Can be split out if necessary.
--
v3: dmime: Add a stub chordtrack for MIDI segments.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5141
While reviewing !671 I wrote a few tests that are probably not too fundamental, but since now they exist it makes sense to keep them. !671 doesn't fix nor break any of them, anyway.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/674
Regarding dirty rectangles:<br>
Documentation for `ForceUpdate` states that "The system might update any region that is larger than the specified rectangle, including possibly the entire window". While native seems to use a sort of dirty-rectangle approach, for this MR, I am simply dirtying the entire surface. If someday someone did want to more-closely match the behavior of native, much can be learned from the rectangles passed to the update callbacks.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5161