Disable some misleading service tests because a test cannot determine wheter or not...
[reactos.git] / dxtest / ddraw / DDraw / available_mem.cpp
1
2 BOOL Test_GetAvailableVidMem (INT* passed, INT* failed)
3 {
4 LPDIRECTDRAW7 DirectDraw;
5
6 /* Preparations */
7 if (DirectDrawCreateEx(NULL, (VOID**)&DirectDraw, IID_IDirectDraw7, NULL) != DD_OK)
8 {
9 printf("ERROR: Failed to set up ddraw\n");
10 return FALSE;
11 }
12
13 /* Here we go */
14 DWORD Total, Free;
15 DDSCAPS2 Caps = { 0 };
16
17 TEST (DirectDraw->GetAvailableVidMem(&Caps, NULL, NULL) == DDERR_INVALIDPARAMS);
18 TEST (DirectDraw->GetAvailableVidMem(NULL, &Total, &Free) == DDERR_INVALIDPARAMS);
19 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
20
21 /* testing caps */
22 memset(&Caps,0,sizeof(DDSCAPS2));
23 Caps.dwCaps = DDSCAPS_RESERVED1;
24 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
25
26 memset(&Caps,0,sizeof(DDSCAPS2));
27 Caps.dwCaps = DDSCAPS_ALPHA;
28 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
29
30 memset(&Caps,0,sizeof(DDSCAPS2));
31 Caps.dwCaps = DDSCAPS_BACKBUFFER;
32 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
33
34 memset(&Caps,0,sizeof(DDSCAPS2));
35 Caps.dwCaps = DDSCAPS_COMPLEX;
36 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
37
38 memset(&Caps,0,sizeof(DDSCAPS2));
39 Caps.dwCaps = DDSCAPS_FLIP;
40 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
41
42 memset(&Caps,0,sizeof(DDSCAPS2));
43 Caps.dwCaps = DDSCAPS_FRONTBUFFER;
44 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
45
46 memset(&Caps,0,sizeof(DDSCAPS2));
47 Caps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
48 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
49
50 memset(&Caps,0,sizeof(DDSCAPS2));
51 Caps.dwCaps = DDSCAPS_OVERLAY;
52 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
53
54 memset(&Caps,0,sizeof(DDSCAPS2));
55 Caps.dwCaps = DDSCAPS_PALETTE;
56 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
57
58 memset(&Caps,0,sizeof(DDSCAPS2));
59 Caps.dwCaps = DDSCAPS_PRIMARYSURFACE;
60 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
61
62 memset(&Caps,0,sizeof(DDSCAPS2));
63 Caps.dwCaps = DDSCAPS_RESERVED3;
64 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
65
66 memset(&Caps,0,sizeof(DDSCAPS2));
67 Caps.dwCaps = DDSCAPS_SYSTEMMEMORY;
68 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
69
70 memset(&Caps,0,sizeof(DDSCAPS2));
71 Caps.dwCaps = DDSCAPS_TEXTURE;
72 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
73
74 memset(&Caps,0,sizeof(DDSCAPS2));
75 Caps.dwCaps = DDSCAPS_3DDEVICE;
76 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
77
78 memset(&Caps,0,sizeof(DDSCAPS2));
79 Caps.dwCaps = DDSCAPS_VIDEOMEMORY;
80 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
81
82 memset(&Caps,0,sizeof(DDSCAPS2));
83 Caps.dwCaps = DDSCAPS_VISIBLE;
84 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
85
86 memset(&Caps,0,sizeof(DDSCAPS2));
87 Caps.dwCaps = DDSCAPS_WRITEONLY;
88 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
89
90 memset(&Caps,0,sizeof(DDSCAPS2));
91 Caps.dwCaps = DDSCAPS_ZBUFFER;
92 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
93
94 memset(&Caps,0,sizeof(DDSCAPS2));
95 Caps.dwCaps = DDSCAPS_OWNDC;
96 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
97
98 memset(&Caps,0,sizeof(DDSCAPS2));
99 Caps.dwCaps = DDSCAPS_LIVEVIDEO;
100 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
101
102 memset(&Caps,0,sizeof(DDSCAPS2));
103 Caps.dwCaps = DDSCAPS_HWCODEC;
104 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
105
106 memset(&Caps,0,sizeof(DDSCAPS2));
107 Caps.dwCaps = DDSCAPS_MODEX;
108 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
109
110 memset(&Caps,0,sizeof(DDSCAPS2));
111 Caps.dwCaps = DDSCAPS_MIPMAP;
112 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
113
114 memset(&Caps,0,sizeof(DDSCAPS2));
115 Caps.dwCaps = DDSCAPS_RESERVED2;
116 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
117
118 memset(&Caps,0,sizeof(DDSCAPS2));
119 Caps.dwCaps = DDSCAPS_ALLOCONLOAD;
120 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
121
122 memset(&Caps,0,sizeof(DDSCAPS2));
123 Caps.dwCaps = DDSCAPS_VIDEOPORT;
124 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
125
126 memset(&Caps,0,sizeof(DDSCAPS2));
127 Caps.dwCaps = DDSCAPS_LOCALVIDMEM;
128 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
129
130 memset(&Caps,0,sizeof(DDSCAPS2));
131 Caps.dwCaps = DDSCAPS_NONLOCALVIDMEM;
132 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
133
134 memset(&Caps,0,sizeof(DDSCAPS2));
135 Caps.dwCaps2 = 0x01;
136 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDCAPS);
137
138 memset(&Caps,0,sizeof(DDSCAPS2));
139 Caps.dwCaps2 = DDSCAPS2_RESERVED4;
140 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
141
142 memset(&Caps,0,sizeof(DDSCAPS2));
143 Caps.dwCaps2 = DDSCAPS2_HINTDYNAMIC;
144 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
145
146 memset(&Caps,0,sizeof(DDSCAPS2));
147 Caps.dwCaps2 = DDSCAPS2_HINTSTATIC;
148 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
149
150 memset(&Caps,0,sizeof(DDSCAPS2));
151 Caps.dwCaps2 = DDSCAPS2_TEXTUREMANAGE;
152 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
153
154 memset(&Caps,0,sizeof(DDSCAPS2));
155 Caps.dwCaps2 = DDSCAPS2_RESERVED1;
156 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
157
158 memset(&Caps,0,sizeof(DDSCAPS2));
159 Caps.dwCaps2 = DDSCAPS2_RESERVED2;
160 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
161
162 memset(&Caps,0,sizeof(DDSCAPS2));
163 Caps.dwCaps2 = DDSCAPS2_OPAQUE;
164 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
165
166 memset(&Caps,0,sizeof(DDSCAPS2));
167 Caps.dwCaps2 = DDSCAPS2_HINTANTIALIASING;
168 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
169
170 memset(&Caps,0,sizeof(DDSCAPS2));
171 Caps.dwCaps2 = DDSCAPS2_CUBEMAP;
172 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
173
174 memset(&Caps,0,sizeof(DDSCAPS2));
175 Caps.dwCaps2 = DDSCAPS2_CUBEMAP_POSITIVEX;
176 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
177
178 memset(&Caps,0,sizeof(DDSCAPS2));
179 Caps.dwCaps2 = DDSCAPS2_CUBEMAP_NEGATIVEX;
180 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
181
182 memset(&Caps,0,sizeof(DDSCAPS2));
183 Caps.dwCaps2 = DDSCAPS2_CUBEMAP_POSITIVEY;
184 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
185
186 memset(&Caps,0,sizeof(DDSCAPS2));
187 Caps.dwCaps2 = DDSCAPS2_CUBEMAP_NEGATIVEY;
188 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
189
190 memset(&Caps,0,sizeof(DDSCAPS2));
191 Caps.dwCaps2 = DDSCAPS2_CUBEMAP_POSITIVEZ;
192 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
193
194 memset(&Caps,0,sizeof(DDSCAPS2));
195 Caps.dwCaps2 = DDSCAPS2_CUBEMAP_NEGATIVEZ;
196 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
197
198 memset(&Caps,0,sizeof(DDSCAPS2));
199 Caps.dwCaps2 = DDSCAPS2_MIPMAPSUBLEVEL;
200 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
201
202 memset(&Caps,0,sizeof(DDSCAPS2));
203 Caps.dwCaps2 = DDSCAPS2_D3DTEXTUREMANAGE;
204 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
205
206 memset(&Caps,0,sizeof(DDSCAPS2));
207 Caps.dwCaps2 = DDSCAPS2_DONOTPERSIST;
208 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
209
210 memset(&Caps,0,sizeof(DDSCAPS2));
211 Caps.dwCaps2 = DDSCAPS2_STEREOSURFACELEFT;
212 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
213
214 memset(&Caps,0,sizeof(DDSCAPS2));
215 Caps.dwCaps2 = DDSCAPS2_VOLUME;
216 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
217
218 memset(&Caps,0,sizeof(DDSCAPS2));
219 Caps.dwCaps2 = DDSCAPS2_NOTUSERLOCKABLE;
220 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
221
222 memset(&Caps,0,sizeof(DDSCAPS2));
223 Caps.dwCaps2 = DDSCAPS2_POINTS;
224 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
225
226 memset(&Caps,0,sizeof(DDSCAPS2));
227 Caps.dwCaps2 = DDSCAPS2_RTPATCHES;
228 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
229
230 memset(&Caps,0,sizeof(DDSCAPS2));
231 Caps.dwCaps2 = DDSCAPS2_NPATCHES;
232 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
233
234 memset(&Caps,0,sizeof(DDSCAPS2));
235 Caps.dwCaps2 = DDSCAPS2_RESERVED3;
236 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
237
238 memset(&Caps,0,sizeof(DDSCAPS2));
239 Caps.dwCaps2 = DDSCAPS2_DISCARDBACKBUFFER;
240 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
241
242 memset(&Caps,0,sizeof(DDSCAPS2));
243 Caps.dwCaps2 = DDSCAPS2_ENABLEALPHACHANNEL;
244 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
245
246 memset(&Caps,0,sizeof(DDSCAPS2));
247 Caps.dwCaps2 = DDSCAPS2_EXTENDEDFORMATPRIMARY;
248 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
249
250 memset(&Caps,0,sizeof(DDSCAPS2));
251 Caps.dwCaps2 = DDSCAPS2_ADDITIONALPRIMARY;
252 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
253
254 memset(&Caps,0,sizeof(DDSCAPS2));
255 Caps.dwCaps3 = ~(DDSCAPS3_MULTISAMPLE_QUALITY_MASK | DDSCAPS3_MULTISAMPLE_MASK | DDSCAPS3_RESERVED1 | DDSCAPS3_RESERVED2 | DDSCAPS3_LIGHTWEIGHTMIPMAP | DDSCAPS3_AUTOGENMIPMAP | DDSCAPS3_DMAP);
256 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDCAPS);
257
258 memset(&Caps,0,sizeof(DDSCAPS2));
259 Caps.dwCaps3 = (DDSCAPS3_MULTISAMPLE_QUALITY_MASK | DDSCAPS3_MULTISAMPLE_MASK | DDSCAPS3_RESERVED1 | DDSCAPS3_RESERVED2 | DDSCAPS3_LIGHTWEIGHTMIPMAP | DDSCAPS3_AUTOGENMIPMAP | DDSCAPS3_DMAP);
260 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
261
262 memset(&Caps,0,sizeof(DDSCAPS2));
263 Caps.dwCaps4 = 1;
264 TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDCAPS );
265
266 DirectDraw->Release();
267
268 return TRUE;
269 }