2 * PROJECT: ReactX Diagnosis Application
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: base/applications/dxdiag/d3dtest.c
5 * PURPOSE: ReactX Direct3D 7, 8 and 9 tests
6 * PROGRAMMERS: Gregor Gullwi <gbrunmar (dot) ros (at) gmail (dot) com>
14 BOOL
D3D7Test(HWND hWnd
);
15 BOOL
D3D8Test(HWND hWnd
);
16 BOOL
D3D9Test(HWND hWnd
);
18 BOOL
StartD3DTest(HWND hWnd
, HINSTANCE hInstance
, WCHAR
* pszCaption
, INT TestNr
)
20 WCHAR szTestDescriptionRaw
[256];
21 WCHAR szTestDescription
[256];
27 LoadStringW(hInstance
, IDS_MAIN_DIALOG
, szCaption
, sizeof(szCaption
) / sizeof(WCHAR
));
28 LoadStringW(hInstance
, IDS_DDTEST_ERROR
, szError
, sizeof(szError
) / sizeof(WCHAR
));
29 LoadStringW(hInstance
, IDS_D3DTEST_D3Dx
, szTestDescriptionRaw
, sizeof(szTestDescriptionRaw
) / sizeof(WCHAR
));
30 //LoadStringW(hInstance, resResult, szResult, sizeof(szResult) / sizeof(WCHAR));
32 swprintf(szTestDescription
, szTestDescriptionRaw
, TestNr
);
33 if (MessageBox(NULL
, szTestDescription
, szCaption
, MB_YESNO
| MB_ICONQUESTION
) == IDNO
)
36 ShowWindow(hWnd
, SW_SHOW
);
40 Result
= D3D7Test(hWnd
);
43 Result
= D3D8Test(hWnd
);
46 Result
= D3D9Test(hWnd
);
52 ShowWindow(hWnd
, SW_HIDE
);
56 MessageBox(NULL
, szError
, szCaption
, MB_OK
| MB_ICONERROR
);
60 if(MessageBox(NULL
, szResult
, szCaption
, MB_YESNO
| MB_ICONQUESTION
) == IDYES
)
66 static LRESULT CALLBACK
WindowProc(HWND hWnd
, UINT msg
, WPARAM wParam
, LPARAM lParam
)
68 return DefWindowProc(hWnd
, msg
, wParam
, lParam
);
75 HINSTANCE hInstance
= GetModuleHandle(NULL
);
76 WCHAR szDescription
[256];
79 winClass
.cbSize
= sizeof(WNDCLASSEX
);
80 winClass
.style
= CS_DBLCLKS
| CS_OWNDC
| CS_HREDRAW
| CS_VREDRAW
;
81 winClass
.lpfnWndProc
= WindowProc
;
82 winClass
.cbClsExtra
= 0;
83 winClass
.cbWndExtra
= 0;
84 winClass
.hInstance
= hInstance
;
87 winClass
.hbrBackground
= (HBRUSH
)GetStockObject(BLACK_BRUSH
);
88 winClass
.lpszMenuName
= NULL
;
89 winClass
.lpszClassName
= L
"d3dtest";
90 winClass
.hIconSm
= LoadIcon(NULL
, IDI_APPLICATION
);
92 if (!RegisterClassEx(&winClass
))
95 hWnd
= CreateWindowEx(
97 winClass
.lpszClassName
,
100 (GetSystemMetrics(SM_CXSCREEN
) - WIDTH
)/2,
101 (GetSystemMetrics(SM_CYSCREEN
) - HEIGHT
)/2,
112 LoadStringW(hInstance
, IDS_D3DTEST_DESCRIPTION
, szDescription
, sizeof(szDescription
) / sizeof(WCHAR
));
113 LoadStringW(hInstance
, IDS_MAIN_DIALOG
, szCaption
, sizeof(szCaption
) / sizeof(WCHAR
));
114 if(MessageBox(NULL
, szDescription
, szCaption
, MB_YESNO
| MB_ICONQUESTION
) == IDNO
)
117 StartD3DTest(hWnd
, hInstance
, szCaption
, 7);
118 StartD3DTest(hWnd
, hInstance
, szCaption
, 8);
119 StartD3DTest(hWnd
, hInstance
, szCaption
, 9);
123 UnregisterClass(winClass
.lpszClassName
, hInstance
);