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>
16 BOOL
D3D7Test(HWND hWnd
);
17 BOOL
D3D8Test(HWND hWnd
);
18 BOOL
D3D9Test(HWND hWnd
);
20 BOOL
StartD3DTest(HWND hWnd
, HINSTANCE hInstance
, WCHAR
* pszCaption
, INT TestNr
)
22 WCHAR szTestDescriptionRaw
[256];
23 WCHAR szTestDescription
[256];
29 LoadStringW(hInstance
, IDS_MAIN_DIALOG
, szCaption
, sizeof(szCaption
) / sizeof(WCHAR
));
30 LoadStringW(hInstance
, IDS_DDTEST_ERROR
, szError
, sizeof(szError
) / sizeof(WCHAR
));
31 LoadStringW(hInstance
, IDS_D3DTEST_D3Dx
, szTestDescriptionRaw
, sizeof(szTestDescriptionRaw
) / sizeof(WCHAR
));
32 //LoadStringW(hInstance, resResult, szResult, sizeof(szResult) / sizeof(WCHAR));
34 swprintf(szTestDescription
, szTestDescriptionRaw
, TestNr
);
35 if (MessageBox(NULL
, szTestDescription
, szCaption
, MB_YESNO
| MB_ICONQUESTION
) == IDNO
)
38 ShowWindow(hWnd
, SW_SHOW
);
42 Result
= D3D7Test(hWnd
);
45 Result
= D3D8Test(hWnd
);
48 Result
= D3D9Test(hWnd
);
54 ShowWindow(hWnd
, SW_HIDE
);
58 MessageBox(NULL
, szError
, szCaption
, MB_OK
| MB_ICONERROR
);
62 if(MessageBox(NULL
, szResult
, szCaption
, MB_YESNO
| MB_ICONQUESTION
) == IDYES
)
68 static LRESULT CALLBACK
WindowProc(HWND hWnd
, UINT msg
, WPARAM wParam
, LPARAM lParam
)
70 return DefWindowProc(hWnd
, msg
, wParam
, lParam
);
77 HINSTANCE hInstance
= GetModuleHandle(NULL
);
78 WCHAR szDescription
[256];
81 winClass
.cbSize
= sizeof(WNDCLASSEX
);
82 winClass
.style
= CS_DBLCLKS
| CS_OWNDC
| CS_HREDRAW
| CS_VREDRAW
;
83 winClass
.lpfnWndProc
= WindowProc
;
84 winClass
.cbClsExtra
= 0;
85 winClass
.cbWndExtra
= 0;
86 winClass
.hInstance
= hInstance
;
89 winClass
.hbrBackground
= (HBRUSH
)GetStockObject(BLACK_BRUSH
);
90 winClass
.lpszMenuName
= NULL
;
91 winClass
.lpszClassName
= L
"d3dtest";
92 winClass
.hIconSm
= LoadIcon(NULL
, IDI_APPLICATION
);
94 if (!RegisterClassEx(&winClass
))
97 hWnd
= CreateWindowEx(
99 winClass
.lpszClassName
,
102 (GetSystemMetrics(SM_CXSCREEN
) - WIDTH
)/2,
103 (GetSystemMetrics(SM_CYSCREEN
) - HEIGHT
)/2,
114 LoadStringW(hInstance
, IDS_D3DTEST_DESCRIPTION
, szDescription
, sizeof(szDescription
) / sizeof(WCHAR
));
115 LoadStringW(hInstance
, IDS_MAIN_DIALOG
, szCaption
, sizeof(szCaption
) / sizeof(WCHAR
));
116 if(MessageBox(NULL
, szDescription
, szCaption
, MB_YESNO
| MB_ICONQUESTION
) == IDNO
)
119 StartD3DTest(hWnd
, hInstance
, szCaption
, 7);
120 StartD3DTest(hWnd
, hInstance
, szCaption
, 8);
121 StartD3DTest(hWnd
, hInstance
, szCaption
, 9);
125 UnregisterClass(winClass
.lpszClassName
, hInstance
);