[PATCH] winex11.drv: Mask floating-point invalid exception during glXCreateContext().

Stefan Dösinger stefandoesinger at gmail.com
Thu Apr 8 10:34:51 CDT 2021


Am 08.04.21 um 16:25 schrieb Akihiro Sagawa:
> 
> Workaround for Mesa bug 3096.
> I can reproduce the issue with Mesa 21.2 and set LIBGL_ALWAYS_SOFTWARE
> environment to 1, i.e. LIBGL_ALWAYS_SOFTWARE=1.
> 
> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47716
> Signed-off-by: Akihiro Sagawa <sagawa.aki at gmail.com>

I don't think we should do this, at least not as-is. We had a lot of
situations where games modify the FPU CW and drivers choke on it. Most
of them went away when wined3d turned on CSMT by default. They are very
game plus driver specific and sprinkling the code with FPU CW changes
isn't sustainable. Neither the Win32 nor Linux ABI says anything about
the FPU CW, so there is no obviously right solution.

I think in the long run this is something we could handle in the
work-in-progress syscall ABI. Switch to the default Linux FPU CW when
calling from PE to Linux and restore it in the other direction. Winex11
isn't ready for that yet though.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20210408/2ebae447/attachment.sig>


More information about the wine-devel mailing list