Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Pasi_Tuomainen
Beginner
120 Views

HD graphics, DirectX, bug report, FPU precision loss

The FPU precision should stay intact when FPU preserve flag is defined. By investigating the FPU mantissa lenght before Direct3D device creation, it tells 53 bits, which is OK. After device creation, the mantissa length is only 24 bits, and all computation gets horribly inaccurate after that.

- Creating a Direct3D device (D3D9)

- D3DCREATE_FPU_PRESERVE flag set on

- x86 application

I've investigated the mantissa length with _controlfp_s function.

We have tested this with two laptops, i5 and i3, both having Intel HD graphics, and both have the problem.

FPU preserve flag works correctly in all Ati and nVidia GPUs we have tested.

When making a x64 or AnyCPU application, the accuracy is OK, even with Intel.

The bug must be in Intel HD DirectX drivers. The driver version in i5 laptop is 8.15.10.2189, dated July 28th, 2010 (the newest one through windows update)

I've posted this issue also in another forum http://communities.intel.com/message/138266#138266, I hope somebody would respond to this message and eventually there would be a solution to this problem. So far, to bypass the problem with Intel HD, we to set FPU computation mantissa length manually with _controlfp_s function.

0 Kudos
1 Reply
Stephen_H_Intel
Employee
120 Views

Hi Pasi

We are currently looking to see if this is an issue. I will post back when we know more.

Thx

Steve
Reply