[PATCH] ddraw: Implement FPU mode fixup in d3d7 device.
Alexander Dorofeyev
alexd4 at inbox.lv
Thu Jun 19 18:49:46 CDT 2008
As documented in DirectX7 SDK, d3d7 devices set FPU mode (control word) on every
call and restore it back to original state before returning, if created in
DDSCL_FPUPRESERVE cooperative mode. This allows games to work with FPU in a
possibly incompatible mode and avoid resetting it all the time. This patch
implements similar functionalty in Wine.
Fixes http://bugs.winehq.org/show_bug.cgi?id=13225 - rendering problems in
Sacrifice game because it changes FPU mode and causes float rounding issues in
opengl libs (at least on Intel DRI drivers and Nvidia binary drivers).
---
dlls/ddraw/ddraw.c | 2 -
dlls/ddraw/ddraw_private.h | 3 +-
dlls/ddraw/device.c | 1209 +++++++++++++++++++++++++++++++++++++++++---
dlls/ddraw/direct3d.c | 6 +-
4 files changed, 1135 insertions(+), 85 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 351bb864d4e2b28f9e07326f59fc9ccc91d1def9.diff
Type: text/x-patch
Size: 71297 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20080620/64ce3534/attachment-0001.bin
More information about the wine-patches
mailing list