Vacation

2008-01-26 Thread Alexandre Julliard
Hi folks,

Once again you'll have to live without commits for a while, I'm off
skiing for a week...

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: gdiplus: bezier test question

2008-01-26 Thread Reece Dunn
On 25/01/2008, Dmitry Timoshkov [EMAIL PROTECTED] wrote:
 Reece Dunn [EMAIL PROTECTED] wrote:

  The patch that I have just submitted (gdiplus: fix the bezier arc
  path test (on all platforms).) is a simple fix for the failing test
  in graphicspath.c. The failure highlights gdiplus behaviour that is
  not directly obvious:
 
  If you have a bezier arc:
 
  static path_test_t arc_path[] = {
 {600.0, 450.0, PathPointTypeStart, 0, 0}, /*0*/
 {600.0, 643.3, PathPointTypeBezier, 0, 0}, /*1*/
 {488.1, 800.0, PathPointTypeBezier, 0, 0}, /*2*/
  };
 
  the gdiplus code will make the last entry PathPointTypeBezier |
  PathPointTypeCloseSubpath.
 
  For the nature of the existing test, I believe the fix is correct (it
  is testing the basic arc path functionality). However, there should be
  another test to document the above behaviour.

 This behaviour matches what GDI32 does with adding PT_CLOSEFIGURE.

Looking into the test a bit more, it is calling GdipAddPathArc to
construct the path, and then ok_path is extracting the path data,
checking that data against the exprected data.

- Reece




ddraw: ddrawmodes test failures (all platforms)

2008-01-26 Thread Reece Dunn
Hi,

Looking at the ddrawmode test failures, they are because the test is
checking that if the DDSD_REFRESHRATE flag is set, then dwRefreshRate
is not 0. However, on many of the test platforms at
http://test.winehq.org/data/200801161000, they are reporting a refresh
rate of 0.

Are these bogus - due to them running on VM - or is this a valid case?
I don't currently have the ability to build those tests locally, so I
cannot verify those failures.

- Reece




Re: ddraw: ddrawmodes test failures (all platforms)

2008-01-26 Thread Stefan Dösinger
Am Samstag, 26. Januar 2008 12:05:09 schrieb Reece Dunn:
 Hi,

 Looking at the ddrawmode test failures, they are because the test is
 checking that if the DDSD_REFRESHRATE flag is set, then dwRefreshRate
 is not 0. However, on many of the test platforms at
 http://test.winehq.org/data/200801161000, they are reporting a refresh
 rate of 0.

 Are these bogus - due to them running on VM - or is this a valid case?
 I don't currently have the ability to build those tests locally, so I
 cannot verify those failures.
I have never seen such failures on my real hardware(Windows XP or Vista), so I 
think they fail due to VM drivers. I'll re-run the tests to make sure the 
tests didn't break somewhen.






Re: ddraw: ddrawmodes test failures (all platforms)

2008-01-26 Thread Henning Gerhardt
Am 01/26/2008 12:50 PM schrieb Stefan Dösinger:
 Am Samstag, 26. Januar 2008 12:05:09 schrieb Reece Dunn:
 Hi,

 Looking at the ddrawmode test failures, they are because the test is
 checking that if the DDSD_REFRESHRATE flag is set, then dwRefreshRate
 is not 0. However, on many of the test platforms at
 http://test.winehq.org/data/200801161000, they are reporting a refresh
 rate of 0.

 Are these bogus - due to them running on VM - or is this a valid case?
 I don't currently have the ability to build those tests locally, so I
 cannot verify those failures.
 I have never seen such failures on my real hardware(Windows XP or Vista), so 
 I 
 think they fail due to VM drivers. I'll re-run the tests to make sure the 
 tests didn't break somewhen.

I don't think so. My system (called xanlosch) is a real XP system with 
an ATI Mobility 9700 graphic card with one of the latest ATI drivers 
(7.11er catalyst drivers). Maybe an ATI driver issue?

Regards,

Henning Gerhardt





Re: ddraw: ddrawmodes test failures (all platforms)

2008-01-26 Thread Stefan Dösinger
Am Samstag, 26. Januar 2008 13:20:44 schrieb Henning Gerhardt:
 Am 01/26/2008 12:50 PM schrieb Stefan Dösinger:
  Am Samstag, 26. Januar 2008 12:05:09 schrieb Reece Dunn:
  Hi,
 
  Looking at the ddrawmode test failures, they are because the test is
  checking that if the DDSD_REFRESHRATE flag is set, then dwRefreshRate
  is not 0. However, on many of the test platforms at
  http://test.winehq.org/data/200801161000, they are reporting a refresh
  rate of 0.
 
  Are these bogus - due to them running on VM - or is this a valid case?
  I don't currently have the ability to build those tests locally, so I
  cannot verify those failures.
 
  I have never seen such failures on my real hardware(Windows XP or Vista),
  so I think they fail due to VM drivers. I'll re-run the tests to make
  sure the tests didn't break somewhen.

 I don't think so. My system (called xanlosch) is a real XP system with
 an ATI Mobility 9700 graphic card with one of the latest ATI drivers
 (7.11er catalyst drivers). Maybe an ATI driver issue?
If the ATI driver behaves that way then I think our tests should accept this 
behavior

I have a radeon 9000 mobility, and I don't remember any test failures





Re: ddraw: ddrawmodes test failures (all platforms)

2008-01-26 Thread Paul Vriens
Stefan Dösinger wrote:
 Am Samstag, 26. Januar 2008 13:20:44 schrieb Henning Gerhardt:
 Am 01/26/2008 12:50 PM schrieb Stefan Dösinger:
 Am Samstag, 26. Januar 2008 12:05:09 schrieb Reece Dunn:
 Hi,

 Looking at the ddrawmode test failures, they are because the test is
 checking that if the DDSD_REFRESHRATE flag is set, then dwRefreshRate
 is not 0. However, on many of the test platforms at
 http://test.winehq.org/data/200801161000, they are reporting a refresh
 rate of 0.

 Are these bogus - due to them running on VM - or is this a valid case?
 I don't currently have the ability to build those tests locally, so I
 cannot verify those failures.
 I have never seen such failures on my real hardware(Windows XP or Vista),
 so I think they fail due to VM drivers. I'll re-run the tests to make
 sure the tests didn't break somewhen.
 I don't think so. My system (called xanlosch) is a real XP system with
 an ATI Mobility 9700 graphic card with one of the latest ATI drivers
 (7.11er catalyst drivers). Maybe an ATI driver issue?
 If the ATI driver behaves that way then I think our tests should accept this 
 behavior
 
 I have a radeon 9000 mobility, and I don't remember any test failures
 
 
 
 
Just ran the test on my real WinXP box (NVIDIA GeForce FX 5200) with the same 
results:

http://test.winehq.org/data/200801161000/xp_XPSP2-HOME-NL/ddraw:ddrawmodes.txt

-- 
Cheers,

Paul.




d3dx8, d3dx9_xx and d3dx10_xx

2008-01-26 Thread Luis C. Busquets Pérez
Find attached some data on d3dx8, d3dx9_xx and d3dx10_xx implementations:
dll files by d3dx extension:
d3dx8 1 dll files
d3dx9_xx   13 dll files
d3dx10_xx  4 dll files

Functions included in each d3dx:
DLL  Number of functions
d3dx8  153
d3dx9_24 320
d3dx9_25 323
d3dx9_26 327
d3dx9_27 327
d3dx9_28 332
d3dx9_29 332
d3dx9_30 332
d3dx9_31 329
d3dx9_32 334
d3dx9_33 334
d3dx9_34 334
d3dx9_35 334
d3dx9_36 336
d3dx10_33   177
d3dx10_34   177
d3dx10_35   180
d3dx10_36   180

Total functions for all d3dx implementations: 5162 functions.

Total functions for all d3dx implementations taking into account 
repetitions: 425 functions

 From these 425 functions:
Functions specific to d3dx8: 15
Functions specific to d3dx9: 165
Functions specific to d3dx10: 71
Functions shared between d3dx8 and d3dx9: 65
Functions shared between d3dx9 and d3dx10: 35
Functions shared between the three implementations: 74

On the other hand, considering individual dlls,
17 functions are only mentioned in one dll
3 functions are mentioned in 2 dlls
68 functions are mentioned in 4 dlls
2 functions are mentioned in 7 dlls
10 functions are mentioned in 9 dlls
5 functions are mentioned in 11 dlls
3 functions are mentioned in 12 dlls
149 functions are mentioned in 13 dlls
65 functions are mentioned in 14 dlls
29 functions are mentioned in 17 dlls
74 functions are mentioned in 18 dlls





user32: understanding the HiliteMenuItem failures (all platforms)... call for help

2008-01-26 Thread Reece Dunn
Hi,

I am currently looking at the user32: menu (HiliteMenuItem) test failures:

menu.c:1884: Test failed: HiliteMenuItem: Item 1 is not hilited
menu.c:1891: Test failed: HiliteMenuItem: Item 3 is not hilited

1.  These are failing consistently on all platforms (see
http://test.winehq.org/data/200801161000 - you may need to search for
HiliteMenuItem to find the failures!).

2.  It appears (backed up with tests in the attached patch) that the
API fails when the HWND parameter is NULL.

3.  The tests are not comprehensive enough.

The patch I have attached here is still a work in progress:

1.  I have not tested it on Wine - it is likely that this will require
todo_wine markers to make it run successfully.

2.  The tests are still failing on Windows (both XP and Vista).

Here is where I get stuck. According to the MDSN documentation (which
is likely to be wrong) this appears to be correct.

Does anyone know how to get HiliteMenuItem to work?!

- Reece
From e607b6e4580099dd7bb244b55d7bad725a6bda5a Mon Sep 17 00:00:00 2001
From: Reece H. Dunn [EMAIL PROTECTED]
Date: Sat, 26 Jan 2008 15:29:22 +
Subject: [PATCH] user32: menu improve the HiliteMenuItem tests.

---
 dlls/user32/tests/menu.c |   63 ++---
 1 files changed, 53 insertions(+), 10 deletions(-)

diff --git a/dlls/user32/tests/menu.c b/dlls/user32/tests/menu.c
index cb37ac0..e27b95c 100644
--- a/dlls/user32/tests/menu.c
+++ b/dlls/user32/tests/menu.c
@@ -1864,6 +1864,7 @@ static void test_menu_flags( void )
 static void test_menu_hilitemenuitem( void )
 {
 HMENU hMenu, hPopupMenu;
+HWND hwnd;
 
 hMenu = CreateMenu();
 hPopupMenu = CreatePopupMenu();
@@ -1874,25 +1875,67 @@ static void test_menu_hilitemenuitem( void )
 AppendMenu(hPopupMenu, MF_STRING, 102, Item 2);
 AppendMenu(hPopupMenu, MF_STRING, 103, Item 3);
 
-HiliteMenuItem(NULL, hPopupMenu, 0, MF_HILITE);
-HiliteMenuItem(NULL, hPopupMenu, 1, MF_HILITE);
-HiliteMenuItem(NULL, hPopupMenu, 2, MF_HILITE);
-HiliteMenuItem(NULL, hPopupMenu, 1, MF_UNHILITE);
+hwnd = CreateWindowEx(0, MAKEINTATOM(atomMenuCheckClass), NULL,
+  WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, 200, 200,
+  NULL, hMenu, NULL, NULL);
+ok(hwnd != NULL, CreateWindowEx failed with error %d\n, GetLastError());
+
+/* no window */
+
+SetLastError(0xdeadbeef);
+ok(!HiliteMenuItem(NULL, hPopupMenu, 0, MF_HILITE),
+  HiliteMenuItem: hilite state set\n);
+ok(GetLastError() == ERROR_INVALID_WINDOW_HANDLE,
+  HiliteMenuItem: expected ERROR_INVALID_WINDOW_HANDLE, got %d\n, 
GetLastError());
+
+/* initial state -- not hilited */
+
+ok(!(GetMenuState(hPopupMenu, 0, MF_BYPOSITION)  MF_HILITE),
+  HiliteMenuItem: Item 1 is hilited\n);
+
+/* not hilited -- don't change the hilited state */
+
+SetLastError(0xdeadbeef);
+ok(!HiliteMenuItem(hwnd, hPopupMenu, 0, MF_UNHILITE),
+  HiliteMenuItem: unhilite state set, got error %d\n, GetLastError());
+
+ok(!(GetMenuState(hPopupMenu, 0, MF_BYPOSITION)  MF_HILITE),
+  HiliteMenuItem: Item 1 is hilited, got error %d\n, GetLastError());
+
+/* hilited */
+
+SetLastError(0xdeadbeef);
+ok(HiliteMenuItem(hwnd, hPopupMenu, 0, MF_HILITE),
+  HiliteMenuItem: hilite state not set, got error %d\n, GetLastError());
 
 todo_wine
 {
 ok(GetMenuState(hPopupMenu, 0, MF_BYPOSITION)  MF_HILITE,
-  HiliteMenuItem: Item 1 is not hilited\n);
+  HiliteMenuItem: Item 1 is not hilited, got error %d\n, GetLastError());
 }
-ok(!(GetMenuState(hPopupMenu, 1, MF_BYPOSITION)  MF_HILITE),
-  HiliteMenuItem: Item 2 is hilited\n);
+
+/* hilited -- don't change the hilited state */
+
+SetLastError(0xdeadbeef);
+ok(!HiliteMenuItem(hwnd, hPopupMenu, 0, MF_HILITE),
+  HiliteMenuItem: hilite state set, got error %d\n, GetLastError());
+
 todo_wine
 {
-ok(GetMenuState(hPopupMenu, 2, MF_BYPOSITION)  MF_HILITE,
-  HiliteMenuItem: Item 3 is not hilited\n);
+ok(GetMenuState(hPopupMenu, 0, MF_BYPOSITION)  MF_HILITE,
+  HiliteMenuItem: Item 1 is not hilited, got error %d\n, GetLastError());
 }
 
-DestroyMenu(hMenu);
+/* not hilited */
+
+SetLastError(0xdeadbeef);
+ok(HiliteMenuItem(hwnd, hPopupMenu, 0, MF_UNHILITE),
+  HiliteMenuItem: unhilite state not set, got error %d\n, 
GetLastError());
+
+ok(!(GetMenuState(hPopupMenu, 0, MF_BYPOSITION)  MF_HILITE),
+  HiliteMenuItem: Item 1 is hilited, got error %d\n, GetLastError());
+
+DestroyWindow(hwnd);
 }
 
 static void check_menu_items(HMENU hmenu, UINT checked_cmd, UINT checked_type,
-- 
1.5.3.5




Re: d3dx8, d3dx9_xx and d3dx10_xx

2008-01-26 Thread tony . wasserka
 Find attached some data on d3dx8, d3dx9_xx and d3dx10_xx implementations:
 dll files by d3dx extension:
 d3dx8 1 dll files
 d3dx9_xx   13 dll files
 d3dx10_xx  4 dll files
 [...]
 

Nice work, how did you get the data?
Did you run Dependency Walker on each dll or is there a more practical way?
I'm creating stub dlls at the moment and need to get the parameters for each 
function
on MSDN which is very time consuming and am looking for a faster way.

However, to add a little more data, my list of the differences between the 
d3dx9 dlls:
from d3dx9_24 to d3dx9_25:
+ D3DXUVAtlasCreate
+ D3DXUVAtlasPack
+ D3DXUVAtlasPartition
from d3dx9_25 to d3dx9_26:
+ D3DXComputeIMTFromPerTexelSignal
+ D3DXComputeIMTFromPerVertexSignal
+ D3DXComputeIMTFromSignal
+ D3DXComputeIMTFromTexture
from d3dx9_26 to d3dx9_27:
(no changes)
from d3dx9_27 to d3dx9_28:
+ D3DXPreprocessShader
+ D3DXPreprocessShaderFromFileA
+ D3DXPreprocessShaderFromFileW
+ D3DXPreprocessShaderFromResourceA
+ D3DXPreprocessShaderFromResourceW
from d3dx9_28 to d3dx9_30:
(no changes)
from d3dx9_30 to d3dx9_31:
- D3DXCpuOptimizations
- D3DXGetTargetDescByName
- D3DXGetTargetDescByVersion
from d3dx9_31 to d3dx9_32:
+ D3DXSHMultiply2
+ D3DXSHMultiply3
+ D3DXSHMultiply4
+ D3DXSHMultiply5
+ D3DXSHMultiply6
from d3dx9_32 to d3dx9_35:
(no changes)
from d3dx9_35 to d3dx9_36:
+ D3DXCreateFragmentLinkerEx
+ D3DXGetShaderConstantTableEx

They of course match to your reported number of function, great job.


PS: My d3dx9_24 patch is on its way, just need to prove that everything is 
correct













MinGW cross compiler rpms available

2008-01-26 Thread Hans Leidekker

Updated cross compiler rpms are available here:

  http://mirzam.it.vu.nl/mingw/

I can build the full test suite from Wine 0.9.54 with these.

 -Hans