The Legend of Pirates Online expects the formats without WGL_DOUBLE_BUFFER_ARB
to be listed first in wglChoosePixelFormatARB() (otherwise it goes into a special
wglBindTexImageARB() path which causes blank rendering on both winex11 and winewayland)
which was the old winex11 behavior that this change now matches.
Fixes: 272c55ac257 ("opengl32: Add default implementation for wglChoosePixelFormatARB.")
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6513
musl itself expects to be configured to compile with either
-ffloat-store or -fexcess-precision=standard - but when imported
into Wine, those flags aren't used.
This seems to be essential for getting reasonable precision
from some math functions such as exp2() - without the expected
precision truncation, the output value of exp2() can be off by
as much as 0.2% in some cases.
As Wine doesn't build the musl sources with those flags, use
volatile to force storing/reloading floats in order to limit
their intermediate precision, as musl expects. Only do this on
i386 where this is known be required.
This fixes https://bugs.winehq.org/show_bug.cgi?id=56372.
Apparently this issue only appears when compiled with GCC; with
Clang, this already works as expected.
Signed-off-by: Martin Storsjö <martin(a)martin.st>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5276
--
v4: propsys: Initially implement PropVariantToVariant.
propsys: Support converting clsid to string for PropVariant.
propsys/tests: Test converting clsid to string.
propsys/tests: Add tests for PropVariantToVariant.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6526
--
v2: d3d9: Do not apply the stateblock when clearing.
d3d8: Do not apply the stateblock when clearing.
ddraw: Do not apply the entire stateblock when clearing.
wined3d: Move rasterizer state invalidation to wined3d_stateblock_set_render_state().
https://gitlab.winehq.org/wine/wine/-/merge_requests/6564
These patches are the last big changes to the pixel_format_desc structure.
Patch 2 of this feels like it might be a bit big, but I couldn't really come up with a clean way to split it. :)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6568
The problem is that registry save is a very heavy operation (scheduled each 30sec in wineserver) during which server doesn't process any requests and the whole prefix is stalled for the duration of the operation.
For some reference, the process takes from 50-100ms here up to 1-1.5sec with default initial registry (after some registry modifications which trigger actual registry flush), depending on the filesystem type and state (as huge time may be spent in file close / rename). With the same registry after this patchset the server part (flush_key returning the whole registry data) is taking ~4-5mcs, measured from the client side so that already includes data transfer.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3124