On Tue Mar 4 12:15:46 2025 +0000, Bernhard Übelacker wrote:
> Sorry, this was not my intention. This line should make sure
> `check_PropVariantToBSTR2` is never called with anything else than
> `VT_R4`, but I have not considered this to be inside a `todo_wine` altogether.
> I created !7487 to fix this.
No worries, thanks for the fix :)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7460#note_96759
On Tue Mar 4 12:15:46 2025 +0000, Rémi Bernon wrote:
> This now causes a "Test succeeded inside todo block" test failure on linux.
Sorry, this was not my intention. This line should make sure `check_PropVariantToBSTR2` is never called with anything else than `VT_R4`, but I have not considered this to be inside a `todo_wine` altogether.
I created !7487 to fix this.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7460#note_96755
Cannot use always succeeding ok statement,
because check_PropVariantToBSTR2 is used inside a todo_wine block.
Followup to a1637b167f.
This was intended to make sure check_PropVariantToBSTR2 is just called with `VT_R4`, but makes now more problems than good.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7487
This is an adjustment of 7324.
d3d9:visual already has a test that's relatively close to what a simplified
version of the tests in 7324 looked like, so I made the few changes to expand
that test to match and then ported it to ddraw.
Implementation-wise, this removes the SD/HD difference (which only exists on
NVidia and is not necessary to improve the mentioned application).
It also removes the clamping of YUV values, which as the tests show is not
correct.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7416
## Context
This is a problem discovered when running "Max: The Curse of Brotherhood" under proton. This game writes 4MB a piece into `wg_transform`, which contains about 4 seconds of compressed video. `wg_transform` calls `gst_pad_push` in `transform_ProcessOutput`, which takes \~300ms (i.e. 20 frames @ 60fps) to decode this buffer of video. So the end result is the game hitches every 4 seconds while playing cut scene videos.
Proton currently has a special case for this particular game, for which it breaks up the buffer into small chunks to avoid long blocks. This MR adopts that and applies it generally.
One concern raised by @redmcg is:
> The only issue I can think of is if there are any decoders which don't have a parser; then they might not know how to deal with an arbitrary 4096 byte buffer (the parser is generally responsible for taking arbitrary buffers and producing something the decoder can work with, for example: a full frame).
So this MR only enables this strategy when there is a parser element.
--
v10: winegstreamer: Avoid large buffer pushes in wg_transform.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7288
`AdjustWindowRect(Ex)` were using the system DPI even in non-DPI-aware applications, leading to some bizarre behavior.
An easy test for this is to remove the DPI awareness from `winemine`'s manifest, set the system DPI to 192, then run `winemine` and click the smiley face. Every click on the smiley face will move the window up by ~30 pixels.
A copy of ioquake3 with DPI awareness removed would also constantly enlarge its window vertically.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7478