Hi,
I have a small hint to the D3DXFloat32To16Array function. It seems that some values are handled in some other way.
A small test: D3DXFLOAT16 res; union p { float f; DWORD d; } x;
x.d = 0x33000800; D3DXFloat32To16Array(&res, &x.f, 1); ok(res.value == 1, "Failed %f %x\n", x.f, res.value);
This fails with the current implementation. It's not the only value, there are a couple of them which are of by one. This could be easily seen by loading both d3dx36.dll (wine and native) and comparing the values directly.
Cheers Rico
Am 18.02.2011 02:18, schrieb Misha Koshelev:
Fixes bug 25769. Extensively vetted by Stefan Dosinger. Passes winetestbot: https://testbot.winehq.org/JobDetails.pl?Key=9366
Thank you Misha
dlls/d3dx9_36/d3dx9_36.spec | 4 +- dlls/d3dx9_36/math.c | 105 +++++++++++++++++++++++++++++++++++++++++++ dlls/d3dx9_36/tests/math.c | 69 ++++++++++++++++++++++++++++ include/d3dx9math.h | 18 +++++++ include/d3dx9math.inl | 31 +++++++++++++ 5 files changed, 225 insertions(+), 2 deletions(-)