[win32k]
[reactos.git] / reactos / subsystems / win32 / win32k / ntddraw / ddraw.c
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * PURPOSE: Native DirectDraw implementation
5 * FILE: subsys/win32k/ntddraw/ddraw.c
6 * PROGRAMER: Magnus olsen (magnus@greatlord.com)
7 * REVISION HISTORY:
8 * 19/1-2006 Magnus Olsen
9 */
10
11 #include <win32k.h>
12 #include <debug.h>
13
14 PGD_DXDDSTARTUPDXGRAPHICS gpfnStartupDxGraphics = NULL;
15 PGD_DXDDCLEANUPDXGRAPHICS gpfnCleanupDxGraphics = NULL;
16
17 /* export from dxeng.c */
18 extern DRVFN gaEngFuncs;
19 extern ULONG gcEngFuncs;
20 extern EDD_DIRECTDRAW_GLOBAL edd_DdirectDraw_Global;
21
22
23 DRVFN gpDxFuncs[DXG_INDEX_DxDdIoctl];
24 HANDLE ghDxGraphics = NULL;
25 ULONG gdwDirectDrawContext = 0;
26
27 #define DXDBG 1
28
29 /************************************************************************/
30 /* DirectX graphic/video driver enable start here */
31 /************************************************************************/
32 BOOL
33 intEnableReactXDriver(HDC hdc)
34 {
35 NTSTATUS Status;
36 PEPROCESS Proc = NULL;
37 PDC pDC = NULL;
38 PPDEVOBJ pDev = NULL;
39 PGD_DXDDENABLEDIRECTDRAW pfnDdEnableDirectDraw = NULL;
40 BOOL success = FALSE;
41
42 /* FIXME get the process data */
43
44 /* Do not try load dxg.sys when it have already been load once */
45 if (gpfnStartupDxGraphics == NULL)
46 {
47 Status = DxDdStartupDxGraphics(0,NULL,0,NULL,NULL, Proc);
48 if (!NT_SUCCESS(Status))
49 {
50 DPRINT1("Warning : Failed to create the directx interface\n");
51 return FALSE;
52 }
53 }
54
55 pDC = DC_LockDc(hdc);
56 if (pDC == NULL)
57 {
58 DPRINT1("Warning : Failed to lock hdc\n");
59 return FALSE;
60 }
61
62 pDev = pDC->ppdev;
63
64 /* test see if drv got a dx interface or not */
65 if ( ( pDev->DriverFunctions.DisableDirectDraw == NULL) ||
66 ( pDev->DriverFunctions.EnableDirectDraw == NULL))
67 {
68 DPRINT1("Waring : DisableDirectDraw and EnableDirectDraw are NULL, no dx driver \n");
69 }
70 else
71 {
72
73 /* CHeck see if dx have been enable or not */
74 if ( pDev->pEDDgpl->pvmList == NULL)
75 {
76 pDev->pEDDgpl->ddCallbacks.dwSize = sizeof(DD_CALLBACKS);
77 pDev->pEDDgpl->ddSurfaceCallbacks.dwSize = sizeof(DD_SURFACECALLBACKS);
78 pDev->pEDDgpl->ddPaletteCallbacks.dwSize = sizeof(DD_PALETTECALLBACKS);
79
80 pfnDdEnableDirectDraw = (PGD_DXDDENABLEDIRECTDRAW)gpDxFuncs[DXG_INDEX_DxDdEnableDirectDraw].pfn;
81 if (pfnDdEnableDirectDraw == NULL)
82 {
83 DPRINT1("Warning: no pfnDdEnableDirectDraw\n");
84 }
85 else
86 {
87 DPRINT1(" call to pfnDdEnableDirectDraw \n ");
88 /* Note it is the hdev struct it want, not the drv hPDev aka pdc->PDev */
89 success = pfnDdEnableDirectDraw(pDC->ppdev, TRUE);
90
91 dump_edd_directdraw_global(pDev->pEDDgpl);
92 dump_halinfo(&pDev->pEDDgpl->ddHalInfo);
93 }
94 }
95 else
96 {
97 DPRINT1(" The dxg.sys and graphic card driver interface is enabled \n ");
98 success = TRUE;
99 }
100 }
101
102
103 DPRINT1("Return value : 0x%08x\n",success);
104 DC_UnlockDc(pDC);
105 DPRINT1(" end call to pfnDdEnableDirectDraw \n ");
106 return success;
107 }
108
109 /************************************************************************/
110 /* DirectX graphic/video driver enable ends here */
111 /************************************************************************/
112
113 /************************************************************************/
114 /* DirectX graphic/video driver loading and cleanup start here */
115 /************************************************************************/
116 NTSTATUS
117 APIENTRY
118 DxDdStartupDxGraphics( ULONG ulc1,
119 PDRVENABLEDATA DxEngDrvOld,
120 ULONG ulc2,
121 PDRVENABLEDATA DxgDrvOld,
122 PULONG DirectDrawContext,
123 PEPROCESS Proc)
124 {
125 DRVENABLEDATA DxEngDrv;
126 DRVENABLEDATA DxgDrv;
127
128 NTSTATUS Status = STATUS_PROCEDURE_NOT_FOUND;
129
130 /* FIXME setup of gaEngFuncs driver export list
131 * but not in this api, we can add it here tempary until we figout where
132 * no code have been writen for it yet
133 */
134
135
136 /* FIXME ReactOS does not loading the dxapi.sys or import functions from it yet */
137 // DxApiGetVersion()
138
139 /* Loading the kernel interface of directx for win32k */
140
141 DPRINT1("Warning: trying loading vista dxkrnl.sys\n");
142 ghDxGraphics = EngLoadImage(L"\\SystemRoot\\System32\\drivers\\dxkrnl.sys");
143 if ( ghDxGraphics == NULL)
144 {
145 DPRINT1("Warning: dxkrnl.sys not found\n");
146 /* try loading vista dx kernel */
147 DPRINT1("Warning: trying loading xp/2003/reactos dxg.sys\n");
148 ghDxGraphics = EngLoadImage(L"\\SystemRoot\\System32\\drivers\\dxg.sys");
149 }
150
151 if ( ghDxGraphics == NULL)
152 {
153 Status = STATUS_DLL_NOT_FOUND;
154 DPRINT1("Warning: no ReactX or DirectX kernel driver found\n");
155 }
156 else
157 {
158 /* import DxDdStartupDxGraphics and DxDdCleanupDxGraphics */
159 gpfnStartupDxGraphics = EngFindImageProcAddress(ghDxGraphics,"DxDdStartupDxGraphics");
160 gpfnCleanupDxGraphics = EngFindImageProcAddress(ghDxGraphics,"DxDdCleanupDxGraphics");
161
162 if ((gpfnStartupDxGraphics) &&
163 (gpfnCleanupDxGraphics))
164 {
165 /* Setup driver data for activate the dx interface */
166 DxEngDrv.iDriverVersion = DDI_DRIVER_VERSION_NT5_01;
167 DxEngDrv.pdrvfn = &gaEngFuncs;
168 DxEngDrv.c = gcEngFuncs;
169
170 Status = gpfnStartupDxGraphics ( sizeof(DRVENABLEDATA),
171 &DxEngDrv,
172 sizeof(DRVENABLEDATA),
173 &DxgDrv,
174 &gdwDirectDrawContext,
175 Proc );
176 }
177
178 /* check if we manger loading the data and execute the dxStartupDxGraphics and it susscess */
179 if (!NT_SUCCESS(Status))
180 {
181 gpfnStartupDxGraphics = NULL;
182 gpfnCleanupDxGraphics = NULL;
183 if (ghDxGraphics != NULL)
184 {
185 EngUnloadImage( ghDxGraphics);
186 ghDxGraphics = NULL;
187 }
188 DPRINT1("Warning: DirectX graphics interface can not be initialized\n");
189 }
190 else
191 {
192 /* Sort the drv functions list in index order, this allown us doing, smaller optimze
193 * in api that are redirect to dx.sys
194 */
195
196 PDRVFN lstDrvFN = DxgDrv.pdrvfn;
197 INT t;
198 for (t=0;t<=DXG_INDEX_DxDdIoctl;t++)
199 {
200 gpDxFuncs[lstDrvFN[t].iFunc].iFunc =lstDrvFN[t].iFunc;
201 gpDxFuncs[lstDrvFN[t].iFunc].pfn =lstDrvFN[t].pfn;
202 }
203
204 DPRINT1("DirectX interface is activated\n");
205
206 }
207 /* return the status */
208 }
209
210 return Status;
211 }
212
213 /************************************************************************/
214 /* DirectX graphic/video driver loading cleanup ends here */
215 /************************************************************************/
216
217 /************************************************************************/
218 /* NtGdiDdCreateDirectDrawObject */
219 /************************************************************************/
220 HANDLE
221 APIENTRY
222 NtGdiDdCreateDirectDrawObject(HDC hdc)
223 {
224 PGD_DDCREATEDIRECTDRAWOBJECT pfnDdCreateDirectDrawObject;
225
226 if (hdc == NULL)
227 {
228 DPRINT1("Warning : hdc is NULL\n");
229 return 0;
230 }
231
232 /* FIXME This should be alloc for each drv and use it from each drv, not global for whole win32k */
233 if (intEnableReactXDriver(hdc) == FALSE)
234 {
235 DPRINT1("Warning : Failed to start the directx interface from the graphic driver\n");
236 return DDHAL_DRIVER_NOTHANDLED;
237 }
238
239 /* get the pfnDdCreateDirectDrawObject after we load the drv */
240 pfnDdCreateDirectDrawObject = (PGD_DDCREATEDIRECTDRAWOBJECT)gpDxFuncs[DXG_INDEX_DxDdCreateDirectDrawObject].pfn;
241
242 if (pfnDdCreateDirectDrawObject == NULL)
243 {
244 DPRINT1("Warning: no pfnDdCreateDirectDrawObject\n");
245 return DDHAL_DRIVER_NOTHANDLED;
246 }
247
248 DPRINT1("Calling dxg.sys DdCreateDirectDrawObject\n");
249
250 return pfnDdCreateDirectDrawObject(hdc);
251 }
252
253 /*++
254 * @name NtGdiDxgGenericThunk
255 * @implemented
256 *
257 * The function NtGdiDxgGenericThunk redirects DirectX calls to another function.
258 * It redirects to dxg.sys in windows XP/2003, dxkrnl.sys in vista and is fully implemented in win32k.sys in windows 2000 and below
259 *
260 * @param ULONG_PTR ulIndex
261 * The functions we want to redirect
262 *
263 * @param ULONG_PTR ulHandle
264 * Unknown
265 *
266 * @param SIZE_T *pdwSizeOfPtr1
267 * Unknown
268 *
269 * @param PVOID pvPtr1
270 * Unknown
271 *
272 * @param SIZE_T *pdwSizeOfPtr2
273 * Unknown
274 *
275 * @param PVOID pvPtr2
276 * Unknown
277 *
278 * @return
279 * Always returns DDHAL_DRIVER_NOTHANDLED
280 *
281 * @remarks.
282 * dxg.sys NtGdiDxgGenericThunk calls are redirected to dxg.sys
283 * This function is no longer used but is still present in Windows NT 2000/XP/2003.
284 *
285 *--*/
286 DWORD
287 APIENTRY
288 NtGdiDxgGenericThunk(ULONG_PTR ulIndex,
289 ULONG_PTR ulHandle,
290 SIZE_T *pdwSizeOfPtr1,
291 PVOID pvPtr1,
292 SIZE_T *pdwSizeOfPtr2,
293 PVOID pvPtr2)
294 {
295 PGD_DXGENERICTRUNK pfnDxgGenericThunk = (PGD_DXGENERICTRUNK)gpDxFuncs[DXG_INDEX_DxDxgGenericThunk].pfn;
296
297 if (pfnDxgGenericThunk == NULL)
298 {
299 DPRINT1("Warning: no pfnDxgGenericThunk\n");
300 return DDHAL_DRIVER_NOTHANDLED;
301 }
302
303 DPRINT1("Calling dxg.sys pfnDxgGenericThunk\n");
304 return pfnDxgGenericThunk(ulIndex, ulHandle, pdwSizeOfPtr1, pvPtr1, pdwSizeOfPtr2, pvPtr2);
305 }
306
307 /************************************************************************/
308 /* NtGdiDdGetDriverState */
309 /************************************************************************/
310 DWORD
311 APIENTRY
312 NtGdiDdGetDriverState(PDD_GETDRIVERSTATEDATA pdata)
313 {
314 PGD_DDGETDRIVERSTATE pfnDdGetDriverState = (PGD_DDGETDRIVERSTATE)gpDxFuncs[DXG_INDEX_DxDdGetDriverState].pfn;
315
316 if (pfnDdGetDriverState == NULL)
317 {
318 DPRINT1("Warning: no pfnDdGetDriverState\n");
319 return DDHAL_DRIVER_NOTHANDLED;
320 }
321
322 DPRINT1("Calling dxg.sys DdGetDriverState\n");
323 return pfnDdGetDriverState(pdata);
324 }
325
326 /************************************************************************/
327 /* NtGdiDdColorControl */
328 /************************************************************************/
329 DWORD
330 APIENTRY
331 NtGdiDdColorControl(HANDLE hSurface,
332 PDD_COLORCONTROLDATA puColorControlData)
333 {
334 PGD_DDCOLORCONTROL pfnDdColorControl = (PGD_DDCOLORCONTROL)gpDxFuncs[DXG_INDEX_DxDdColorControl].pfn;
335
336 if (pfnDdColorControl == NULL)
337 {
338 DPRINT1("Warning: no pfnDdColorControl\n");
339 return DDHAL_DRIVER_NOTHANDLED;
340 }
341
342 DPRINT1("Calling dxg.sys DdColorControl\n");
343 return pfnDdColorControl(hSurface,puColorControlData);
344 }
345
346 /************************************************************************/
347 /* NtGdiDdCreateSurfaceObject */
348 /************************************************************************/
349 HANDLE
350 APIENTRY
351 NtGdiDdCreateSurfaceObject(HANDLE hDirectDrawLocal,
352 HANDLE hSurface,
353 PDD_SURFACE_LOCAL puSurfaceLocal,
354 PDD_SURFACE_MORE puSurfaceMore,
355 PDD_SURFACE_GLOBAL puSurfaceGlobal,
356 BOOL bComplete
357 )
358 {
359 PGD_DXDDCREATESURFACEOBJECT pfnDdCreateSurfaceObject = (PGD_DXDDCREATESURFACEOBJECT)gpDxFuncs[DXG_INDEX_DxDdCreateSurfaceObject].pfn;
360
361 if (pfnDdCreateSurfaceObject == NULL)
362 {
363 DPRINT1("Warning: no pfnDdCreateSurfaceObject\n");
364 return DDHAL_DRIVER_NOTHANDLED;
365 }
366
367 DPRINT1("Calling dxg.sys pfnDdCreateSurfaceObject\n");
368 return pfnDdCreateSurfaceObject(hDirectDrawLocal, hSurface, puSurfaceLocal, puSurfaceMore, puSurfaceGlobal, bComplete);
369 }
370
371 /************************************************************************/
372 /* NtGdiDdDeleteDirectDrawObject */
373 /************************************************************************/
374 BOOL
375 APIENTRY
376 NtGdiDdDeleteDirectDrawObject(HANDLE hDirectDrawLocal)
377 {
378 PGD_DXDDDELETEDIRECTDRAWOBJECT pfnDdDeleteDirectDrawObject = (PGD_DXDDDELETEDIRECTDRAWOBJECT)gpDxFuncs[DXG_INDEX_DxDdDeleteDirectDrawObject].pfn;
379
380 if (pfnDdDeleteDirectDrawObject == NULL)
381 {
382 DPRINT1("Warning: no pfnDdDeleteDirectDrawObject\n");
383 return FALSE;
384 }
385
386 if (hDirectDrawLocal == NULL)
387 {
388 DPRINT1("Warning: hDirectDrawLocal is NULL\n");
389 return FALSE;
390 }
391
392 DPRINT1("hDirectDrawLocal = %lx \n",hDirectDrawLocal);
393 DPRINT1("Calling dxg.sys pfnDdDeleteDirectDrawObject\n");
394
395 return pfnDdDeleteDirectDrawObject(hDirectDrawLocal);
396 }
397
398 /************************************************************************/
399 /* NtGdiDdDeleteSurfaceObject */
400 /************************************************************************/
401 BOOL
402 APIENTRY
403 NtGdiDdDeleteSurfaceObject(HANDLE hSurface)
404 {
405 PGD_DXDDDELETESURFACEOBJECT pfnDdDeleteSurfaceObject = (PGD_DXDDDELETESURFACEOBJECT)gpDxFuncs[DXG_INDEX_DxDdDeleteSurfaceObject].pfn;
406
407 if (pfnDdDeleteSurfaceObject == NULL)
408 {
409 DPRINT1("Warning: no pfnDdDeleteSurfaceObject\n");
410 return DDHAL_DRIVER_NOTHANDLED;
411 }
412 /* try see if the handle is vaidl */
413
414 DPRINT1("Calling dxg.sys DdDeleteSurfaceObject\n");
415 return pfnDdDeleteSurfaceObject(hSurface);
416 }
417
418 /************************************************************************/
419 /* NtGdiDdQueryDirectDrawObject */
420 /************************************************************************/
421 BOOL
422 APIENTRY
423 NtGdiDdQueryDirectDrawObject(HANDLE hDirectDrawLocal,
424 DD_HALINFO *pHalInfo,
425 DWORD *pCallBackFlags,
426 LPD3DNTHAL_CALLBACKS puD3dCallbacks,
427 LPD3DNTHAL_GLOBALDRIVERDATA puD3dDriverData,
428 PDD_D3DBUFCALLBACKS puD3dBufferCallbacks,
429 LPDDSURFACEDESC puD3dTextureFormats,
430 DWORD *puNumHeaps,
431 VIDEOMEMORY *puvmList,
432 DWORD *puNumFourCC,
433 DWORD *puFourCC)
434 {
435 PGD_DXDDQUERYDIRECTDRAWOBJECT pfnDdQueryDirectDrawObject = (PGD_DXDDQUERYDIRECTDRAWOBJECT)gpDxFuncs[DXG_INDEX_DxDdQueryDirectDrawObject].pfn;
436
437 if (pfnDdQueryDirectDrawObject == NULL)
438 {
439 DPRINT1("Warning: no pfnDdQueryDirectDrawObject\n");
440 return DDHAL_DRIVER_NOTHANDLED;
441 }
442
443 DPRINT1("Calling dxg.sys pfnDdQueryDirectDrawObject\n");
444
445
446 return pfnDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData,
447 puD3dBufferCallbacks, puD3dTextureFormats, puNumHeaps, puvmList, puNumFourCC, puFourCC);
448
449 }
450
451
452 /************************************************************************/
453 /* NtGdiDdReenableDirectDrawObject */
454 /************************************************************************/
455 BOOL
456 APIENTRY
457 NtGdiDdReenableDirectDrawObject(HANDLE hDirectDrawLocal,
458 BOOL *pubNewMode)
459 {
460 #if DXDBG
461 BOOL status = FALSE;
462 #endif
463 PGD_DXDDREENABLEDIRECTDRAWOBJECT pfnDdReenableDirectDrawObject = (PGD_DXDDREENABLEDIRECTDRAWOBJECT)gpDxFuncs[DXG_INDEX_DxDdReenableDirectDrawObject].pfn;
464
465 if (pfnDdReenableDirectDrawObject == NULL)
466 {
467 DPRINT1("Warning: no pfnDdReenableDirectDrawObject\n");
468 return DDHAL_DRIVER_NOTHANDLED;
469 }
470
471 DPRINT1("Calling dxg.sys pfnDdReenableDirectDrawObject\n");
472
473 #if DXDBG
474 status = pfnDdReenableDirectDrawObject(hDirectDrawLocal, pubNewMode);
475 DPRINT1("end Calling dxg.sys pfnDdReenableDirectDrawObject\n");
476 DPRINT1("return value : 0x%08x\n",status);
477 return status;
478 #else
479 return pfnDdReenableDirectDrawObject(hDirectDrawLocal, pubNewMode);
480 #endif
481 }
482
483
484 /************************************************************************/
485 /* NtGdiDdGetDriverInfo */
486 /************************************************************************/
487 DWORD
488 APIENTRY
489 NtGdiDdGetDriverInfo(HANDLE hDirectDrawLocal,
490 PDD_GETDRIVERINFODATA puGetDriverInfoData)
491
492 {
493 PGD_DXDDGETDRIVERINFO pfnDdGetDriverInfo = (PGD_DXDDGETDRIVERINFO)gpDxFuncs[DXG_INDEX_DxDdGetDriverInfo].pfn;
494
495 if (pfnDdGetDriverInfo == NULL)
496 {
497 DPRINT1("Warning: no pfnDdGetDriverInfo\n");
498 return DDHAL_DRIVER_NOTHANDLED;
499 }
500
501 DPRINT1("Calling dxg.sys pfnDdGetDriverInfo\n");
502 return pfnDdGetDriverInfo(hDirectDrawLocal, puGetDriverInfoData);
503 }
504
505
506 /************************************************************************/
507 /* NtGdiDdGetAvailDriverMemory */
508 /************************************************************************/
509 DWORD
510 APIENTRY
511 NtGdiDdGetAvailDriverMemory(HANDLE hDirectDrawLocal,
512 PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData)
513 {
514 PGD_DXDDGETAVAILDRIVERMEMORY pfnDdGetAvailDriverMemory = (PGD_DXDDGETAVAILDRIVERMEMORY)gpDxFuncs[DXG_INDEX_DxDdGetAvailDriverMemory].pfn;
515
516 if (pfnDdGetAvailDriverMemory == NULL)
517 {
518 DPRINT1("Warning: no pfnDdGetAvailDriverMemory\n");
519 return DDHAL_DRIVER_NOTHANDLED;
520 }
521
522 DPRINT1("Calling dxg.sys pfnDdGetAvailDriverMemory\n");
523 return pfnDdGetAvailDriverMemory(hDirectDrawLocal, puGetAvailDriverMemoryData);
524 }
525
526
527 /************************************************************************/
528 /* NtGdiDdSetExclusiveMode */
529 /************************************************************************/
530
531 DWORD
532 APIENTRY
533 NtGdiDdSetExclusiveMode(HANDLE hDirectDraw,
534 PDD_SETEXCLUSIVEMODEDATA puSetExclusiveModeData)
535 {
536 PGD_DXDDSETEXCLUSIVEMODE pfnDdSetExclusiveMode = (PGD_DXDDSETEXCLUSIVEMODE)gpDxFuncs[DXG_INDEX_DxDdSetExclusiveMode].pfn;
537
538 if (pfnDdSetExclusiveMode == NULL)
539 {
540 DPRINT1("Warning: no pfnDdSetExclusiveMode\n");
541 return DDHAL_DRIVER_NOTHANDLED;
542 }
543
544 DPRINT1("Calling dxg.sys pfnDdSetExclusiveMode\n");
545 return pfnDdSetExclusiveMode(hDirectDraw, puSetExclusiveModeData);
546
547 }
548
549
550 /************************************************************************/
551 /* NtGdiDdFlipToGDISurface */
552 /************************************************************************/
553 DWORD
554 APIENTRY
555 NtGdiDdFlipToGDISurface(HANDLE hDirectDraw,
556 PDD_FLIPTOGDISURFACEDATA puFlipToGDISurfaceData)
557 {
558 PGD_DXDDFLIPTOGDISURFACE pfnDdFlipToGDISurface = (PGD_DXDDFLIPTOGDISURFACE)gpDxFuncs[DXG_INDEX_DxDdFlipToGDISurface].pfn;
559
560 if (pfnDdFlipToGDISurface == NULL)
561 {
562 DPRINT1("Warning: no pfnDdFlipToGDISurface\n");
563 return DDHAL_DRIVER_NOTHANDLED;
564 }
565
566 DPRINT1("Calling dxg.sys pfnDdFlipToGDISurface\n");
567 return pfnDdFlipToGDISurface(hDirectDraw, puFlipToGDISurfaceData);
568
569 }
570
571 /************************************************************************/
572 /* NtGdiDdGetDC */
573 /************************************************************************/
574 HDC
575 APIENTRY
576 NtGdiDdGetDC(HANDLE hSurface,
577 PALETTEENTRY *puColorTable)
578 {
579 PGD_DDGETDC pfnDdGetDC = (PGD_DDGETDC)gpDxFuncs[DXG_INDEX_DxDdGetDC].pfn;
580
581 if (pfnDdGetDC == NULL)
582 {
583 DPRINT1("Warning: no pfnDdGetDC\n");
584 return DDHAL_DRIVER_NOTHANDLED;
585 }
586
587 DPRINT1("Calling dxg.sys pfnDdGetDC\n");
588 return pfnDdGetDC(hSurface, puColorTable);
589 }
590
591 /************************************************************************/
592 /* NtGdiDdGetDxHandle */
593 /************************************************************************/
594 HANDLE
595 APIENTRY
596 NtGdiDdGetDxHandle(HANDLE hDirectDraw,
597 HANDLE hSurface,
598 BOOL bRelease)
599 {
600 PGD_DDGETDXHANDLE pfnDdGetDxHandle = (PGD_DDGETDXHANDLE)gpDxFuncs[DXG_INDEX_DxDdGetDxHandle].pfn;
601
602 if (pfnDdGetDxHandle == NULL)
603 {
604 DPRINT1("Warning: no pfnDdGetDxHandle\n");
605 return DDHAL_DRIVER_NOTHANDLED;
606 }
607
608 DPRINT1("Calling dxg.sys pfnDdGetDxHandle\n");
609 return pfnDdGetDxHandle(hDirectDraw, hSurface, bRelease);
610 }
611
612
613 /************************************************************************/
614 /* NtGdiDdReleaseDC */
615 /************************************************************************/
616 BOOL
617 APIENTRY
618 NtGdiDdReleaseDC(HANDLE hSurface)
619 {
620 PGD_DDRELEASEDC pfnDdReleaseDC = (PGD_DDRELEASEDC)gpDxFuncs[DXG_INDEX_DxDdReleaseDC].pfn;
621
622 if (pfnDdReleaseDC == NULL)
623 {
624 DPRINT1("Warning: no pfnDdReleaseDC\n");
625 return DDHAL_DRIVER_NOTHANDLED;
626 }
627
628 DPRINT1("Calling dxg.sys pfnDdReleaseDC\n");
629 return pfnDdReleaseDC(hSurface);
630 }
631
632 /************************************************************************/
633 /* NtGdiDdResetVisrgn */
634 /************************************************************************/
635 BOOL
636 APIENTRY
637 NtGdiDdResetVisrgn(HANDLE hSurface,
638 HWND hwnd)
639 {
640
641 PGD_DDRESTVISRGN pfnDdResetVisrgn = (PGD_DDRESTVISRGN)gpDxFuncs[DXG_INDEX_DxDdResetVisrgn].pfn;
642
643 if (pfnDdResetVisrgn == NULL)
644 {
645 DPRINT1("Warning: no pfnDdResetVisrgn\n");
646 return DDHAL_DRIVER_NOTHANDLED;
647 }
648
649 DPRINT1("Calling dxg.sys pfnDdResetVisrgn\n");
650 return pfnDdResetVisrgn(hSurface, hwnd);
651 }
652
653 /************************************************************************/
654 /* NtGdiDdSetGammaRamp */
655 /************************************************************************/
656 BOOL
657 APIENTRY
658 NtGdiDdSetGammaRamp(HANDLE hDirectDraw,
659 HDC hdc,
660 LPVOID lpGammaRamp)
661 {
662 PGD_DDSETGAMMARAMP pfnDdSetGammaRamp = (PGD_DDSETGAMMARAMP)gpDxFuncs[DXG_INDEX_DxDdSetGammaRamp].pfn;
663
664 if (pfnDdSetGammaRamp == NULL)
665 {
666 DPRINT1("Warning: no pfnDdSetGammaRamp\n");
667 return DDHAL_DRIVER_NOTHANDLED;
668 }
669
670 DPRINT1("Calling dxg.sys pfnDdSetGammaRamp\n");
671 return pfnDdSetGammaRamp(hDirectDraw, hdc, lpGammaRamp);
672 }
673
674
675 /* internal debug api */
676 void dump_edd_directdraw_global(EDD_DIRECTDRAW_GLOBAL *pEddgbl)
677 {
678 DPRINT1("0x%08lx 0x000 PEDD_DIRECTDRAW_GLOBAL->dhpdev : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, dhpdev), pEddgbl->dhpdev);
679 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->dwReserved1 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, dwReserved1),pEddgbl->dwReserved1);
680 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->dwReserved2 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, dwReserved2),pEddgbl->dwReserved2);
681 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_000c[0] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_000c[0]),pEddgbl->unk_000c[0]);
682 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_000c[1] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_000c[1]),pEddgbl->unk_000c[1]);
683 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_000c[2] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_000c[2]),pEddgbl->unk_000c[2]);
684 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->cDriverReferences : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, cDriverReferences),pEddgbl->cDriverReferences);
685 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_01c : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_01c),pEddgbl->unk_01c);
686
687 DPRINT1("0x%08lx 0x020 PEDD_DIRECTDRAW_GLOBAL->dwCallbackFlags : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, dwCallbackFlags),pEddgbl->dwCallbackFlags);
688
689 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_024 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_024),pEddgbl->unk_024);
690
691 DPRINT1("0x%08lx 0x028 PEDD_DIRECTDRAW_GLOBAL->llAssertModeTimeout : 0x%x\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, llAssertModeTimeout),pEddgbl->llAssertModeTimeout);
692 DPRINT1("0x%08lx 0x030 PEDD_DIRECTDRAW_GLOBAL->dwNumHeaps : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, dwNumHeaps),pEddgbl->dwNumHeaps);
693 // VIDEOMEMORY *pvmList;
694 DPRINT1("0x%08lx 0x034 PEDD_DIRECTDRAW_GLOBAL->pvmList : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, pvmList),pEddgbl->pvmList);
695
696 DPRINT1("0x%08lx 0x038 PEDD_DIRECTDRAW_GLOBAL->dwNumFourCC : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, dwNumFourCC),pEddgbl->dwNumFourCC);
697 DPRINT1("0x%08lx 0x03C PEDD_DIRECTDRAW_GLOBAL->pdwFourCC : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, pdwFourCC),pEddgbl->pdwFourCC);
698
699 // DD_HALINFO ddHalInfo;
700 DPRINT1("0x%08lx 0x040 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.dwSize : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.dwSize),pEddgbl->ddHalInfo.dwSize);
701 DPRINT1("0x%08lx 0x044 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.fpPrimary : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.fpPrimary),pEddgbl->ddHalInfo.vmiData.fpPrimary);
702 DPRINT1("0x%08lx 0x048 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.dwFlags : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.dwFlags),pEddgbl->ddHalInfo.vmiData.dwFlags);
703 DPRINT1("0x%08lx 0x04C PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.dwDisplayWidth : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.dwDisplayWidth),pEddgbl->ddHalInfo.vmiData.dwDisplayWidth);
704 DPRINT1("0x%08lx 0x050 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.dwDisplayHeight : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.dwDisplayHeight),pEddgbl->ddHalInfo.vmiData.dwDisplayHeight);
705 DPRINT1("0x%08lx 0x054 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.lDisplayPitch : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.lDisplayPitch),pEddgbl->ddHalInfo.vmiData.lDisplayPitch);
706 DPRINT1("0x%08lx 0x058 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.ddpfDisplay.dwSize : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.ddpfDisplay.dwSize),pEddgbl->ddHalInfo.vmiData.ddpfDisplay.dwSize);
707 DPRINT1("0x%08lx 0x05C PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.ddpfDisplay.dwFlags : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.ddpfDisplay.dwFlags),pEddgbl->ddHalInfo.vmiData.ddpfDisplay.dwFlags);
708 DPRINT1("0x%08lx 0x060 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.ddpfDisplay.dwFourCC : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.ddpfDisplay.dwFourCC),pEddgbl->ddHalInfo.vmiData.ddpfDisplay.dwFourCC);
709 DPRINT1("0x%08lx 0x064 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.ddpfDisplay.dwRGBBitCount : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.ddpfDisplay.dwRGBBitCount),pEddgbl->ddHalInfo.vmiData.ddpfDisplay.dwRGBBitCount);
710 DPRINT1("0x%08lx 0x068 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.ddpfDisplay.dwRBitMask : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.ddpfDisplay.dwRBitMask),pEddgbl->ddHalInfo.vmiData.ddpfDisplay.dwRBitMask);
711 DPRINT1("0x%08lx 0x06C PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.ddpfDisplay.dwGBitMask : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.ddpfDisplay.dwGBitMask),pEddgbl->ddHalInfo.vmiData.ddpfDisplay.dwGBitMask);
712 DPRINT1("0x%08lx 0x070 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.ddpfDisplay.dwBBitMask : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.ddpfDisplay.dwBBitMask),pEddgbl->ddHalInfo.vmiData.ddpfDisplay.dwGBitMask);
713 DPRINT1("0x%08lx 0x074 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.ddpfDisplay.dwRGBAlphaBitMask : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.ddpfDisplay.dwRGBAlphaBitMask),pEddgbl->ddHalInfo.vmiData.ddpfDisplay.dwRGBAlphaBitMask);
714
715 DPRINT1("0x%08lx 0x078 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.dwOffscreenAlign : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.dwOffscreenAlign),pEddgbl->ddHalInfo.vmiData.dwOffscreenAlign);
716 DPRINT1("0x%08lx 0x07C PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.dwOverlayAlign : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.dwOverlayAlign ),pEddgbl->ddHalInfo.vmiData.dwOverlayAlign);
717 DPRINT1("0x%08lx 0x080 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.dwTextureAlign : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.dwTextureAlign),pEddgbl->ddHalInfo.vmiData.dwTextureAlign);
718 DPRINT1("0x%08lx 0x084 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.dwZBufferAlign : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.dwZBufferAlign),pEddgbl->ddHalInfo.vmiData.dwZBufferAlign);
719 DPRINT1("0x%08lx 0x088 PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.dwAlphaAlign : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.dwAlphaAlign),pEddgbl->ddHalInfo.vmiData.dwAlphaAlign);
720 DPRINT1("0x%08lx 0x08C PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.vmiData.pvPrimary : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.vmiData.pvPrimary),pEddgbl->ddHalInfo.vmiData.pvPrimary);
721 DPRINT1("0x%08lx 0x08C PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.ddCaps.dwSize : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.ddCaps.dwSize),pEddgbl->ddHalInfo.ddCaps.dwSize);
722 DPRINT1("0x%08lx 0x08C PEDD_DIRECTDRAW_GLOBAL->ddHalInfo.ddCaps.dwCaps : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddHalInfo.ddCaps.dwCaps),pEddgbl->ddHalInfo.ddCaps.dwCaps);
723
724
725
726 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[0] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[0]),pEddgbl->unk_1e0[0]);
727 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[1] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[1]),pEddgbl->unk_1e0[1]);
728 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[2] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[2]),pEddgbl->unk_1e0[2]);
729 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[3] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[3]),pEddgbl->unk_1e0[3]);
730 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[4] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[4]),pEddgbl->unk_1e0[4]);
731 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[5] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[5]),pEddgbl->unk_1e0[5]);
732 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[6] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[6]),pEddgbl->unk_1e0[6]);
733 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[7] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[7]),pEddgbl->unk_1e0[7]);
734 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[8] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[8]),pEddgbl->unk_1e0[8]);
735 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[9] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[9]),pEddgbl->unk_1e0[9]);
736 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[10] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[10]),pEddgbl->unk_1e0[10]);
737 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[11] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[11]),pEddgbl->unk_1e0[11]);
738 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[12] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[12]),pEddgbl->unk_1e0[12]);
739 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[13] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[13]),pEddgbl->unk_1e0[13]);
740 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[14] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[14]),pEddgbl->unk_1e0[14]);
741 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[15] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[15]),pEddgbl->unk_1e0[15]);
742 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[16] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[16]),pEddgbl->unk_1e0[16]);
743 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[17] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[17]),pEddgbl->unk_1e0[17]);
744 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[18] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[18]),pEddgbl->unk_1e0[18]);
745 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[19] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[19]),pEddgbl->unk_1e0[19]);
746 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[20] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[20]),pEddgbl->unk_1e0[20]);
747 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[21] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[21]),pEddgbl->unk_1e0[21]);
748 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[22] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[22]),pEddgbl->unk_1e0[22]);
749 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[23] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[23]),pEddgbl->unk_1e0[23]);
750 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[24] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[24]),pEddgbl->unk_1e0[24]);
751 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[25] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[25]),pEddgbl->unk_1e0[25]);
752 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[26] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[26]),pEddgbl->unk_1e0[26]);
753 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[27] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[27]),pEddgbl->unk_1e0[27]);
754 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[28] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[28]),pEddgbl->unk_1e0[28]);
755 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[29] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[29]),pEddgbl->unk_1e0[29]);
756 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[30] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[30]),pEddgbl->unk_1e0[30]);
757 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[31] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[31]),pEddgbl->unk_1e0[31]);
758 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[32] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[32]),pEddgbl->unk_1e0[32]);
759 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[33] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[33]),pEddgbl->unk_1e0[33]);
760 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[34] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[34]),pEddgbl->unk_1e0[34]);
761 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[35] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[35]),pEddgbl->unk_1e0[35]);
762 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[36] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[36]),pEddgbl->unk_1e0[36]);
763 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[37] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[37]),pEddgbl->unk_1e0[37]);
764 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[38] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[38]),pEddgbl->unk_1e0[38]);
765 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[39] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[39]),pEddgbl->unk_1e0[39]);
766 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[40] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[40]),pEddgbl->unk_1e0[0]);
767 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[41] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[41]),pEddgbl->unk_1e0[41]);
768 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[42] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[42]),pEddgbl->unk_1e0[42]);
769 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[43] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[43]),pEddgbl->unk_1e0[43]);
770 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[44] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[44]),pEddgbl->unk_1e0[44]);
771 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[45] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_1e0[45]),pEddgbl->unk_1e0[45]);
772
773 DPRINT1("0x%08lx 0x298 PEDD_DIRECTDRAW_GLOBAL->ddCallbacks.dwSize : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddCallbacks.dwSize),pEddgbl->ddCallbacks.dwSize);
774 DPRINT1("0x%08lx 0x29C PEDD_DIRECTDRAW_GLOBAL->ddCallbacks.dwFlags : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddCallbacks.dwFlags),pEddgbl->ddCallbacks.dwFlags);
775 DPRINT1("0x%08lx 0x2A0 PEDD_DIRECTDRAW_GLOBAL->ddCallbacks.DestroyDriver : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddCallbacks.DestroyDriver),pEddgbl->ddCallbacks.DestroyDriver);
776 DPRINT1("0x%08lx 0x2A4 PEDD_DIRECTDRAW_GLOBAL->ddCallbacks.CreateSurface : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddCallbacks.CreateSurface),pEddgbl->ddCallbacks.CreateSurface);
777 DPRINT1("0x%08lx 0x2A8 PEDD_DIRECTDRAW_GLOBAL->ddCallbacks.SetColorKey : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddCallbacks.SetColorKey),pEddgbl->ddCallbacks.SetColorKey);
778 DPRINT1("0x%08lx 0x2AC PEDD_DIRECTDRAW_GLOBAL->ddCallbacks.SetMode : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddCallbacks.SetMode),pEddgbl->ddCallbacks.SetMode);
779 DPRINT1("0x%08lx 0x2B0 PEDD_DIRECTDRAW_GLOBAL->ddCallbacks.WaitForVerticalBlank : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddCallbacks.WaitForVerticalBlank),pEddgbl->ddCallbacks.WaitForVerticalBlank);
780 DPRINT1("0x%08lx 0x2B4 PEDD_DIRECTDRAW_GLOBAL->ddCallbacks.CanCreateSurface : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddCallbacks.CanCreateSurface),pEddgbl->ddCallbacks.CanCreateSurface);
781 DPRINT1("0x%08lx 0x2B8 PEDD_DIRECTDRAW_GLOBAL->ddCallbacks.CreatePalette : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddCallbacks.CreatePalette),pEddgbl->ddCallbacks.CreatePalette);
782 DPRINT1("0x%08lx 0x2BC PEDD_DIRECTDRAW_GLOBAL->ddCallbacks.GetScanLine : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddCallbacks.GetScanLine),pEddgbl->ddCallbacks.GetScanLine);
783 DPRINT1("0x%08lx 0x2C0 PEDD_DIRECTDRAW_GLOBAL->ddCallbacks.MapMemory : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddCallbacks.MapMemory),pEddgbl->ddCallbacks.MapMemory);
784
785
786 DPRINT1("0x%08lx 0x2C4 PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.dwSize : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.dwSize),pEddgbl->ddSurfaceCallbacks.dwSize);
787 DPRINT1("0x%08lx 0x2C8 PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.dwFlags : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.dwFlags),pEddgbl->ddSurfaceCallbacks.dwFlags);
788 DPRINT1("0x%08lx 0x2CC PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.DestroySurface : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.DestroySurface),pEddgbl->ddSurfaceCallbacks.DestroySurface);
789 DPRINT1("0x%08lx 0x2D0 PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.Flip : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.Flip),pEddgbl->ddSurfaceCallbacks.Flip);
790 DPRINT1("0x%08lx 0x2D4 PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.SetClipList : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.SetClipList),pEddgbl->ddSurfaceCallbacks.SetClipList);
791 DPRINT1("0x%08lx 0x2D8 PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.Lock : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.Lock),pEddgbl->ddSurfaceCallbacks.Lock);
792 DPRINT1("0x%08lx 0x2DC PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.Unlock : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.Unlock),pEddgbl->ddSurfaceCallbacks.Unlock);
793 DPRINT1("0x%08lx 0x2E0 PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.Blt : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.Blt),pEddgbl->ddSurfaceCallbacks.Blt);
794 DPRINT1("0x%08lx 0x2E4 PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.SetColorKey : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.SetColorKey),pEddgbl->ddSurfaceCallbacks.SetColorKey);
795 DPRINT1("0x%08lx 0x2E8 PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.AddAttachedSurface : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.AddAttachedSurface),pEddgbl->ddSurfaceCallbacks.AddAttachedSurface);
796 DPRINT1("0x%08lx 0x2EC PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.GetBltStatus : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.GetBltStatus),pEddgbl->ddSurfaceCallbacks.GetBltStatus);
797 DPRINT1("0x%08lx 0x2F0 PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.GetFlipStatus : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.GetFlipStatus),pEddgbl->ddSurfaceCallbacks.GetFlipStatus);
798 DPRINT1("0x%08lx 0x2F4 PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.UpdateOverlay : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.UpdateOverlay),pEddgbl->ddSurfaceCallbacks.UpdateOverlay);
799 DPRINT1("0x%08lx 0x2F8 PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.SetOverlayPosition : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.SetOverlayPosition),pEddgbl->ddSurfaceCallbacks.SetOverlayPosition);
800 DPRINT1("0x%08lx 0x2FC PEDD_DIRECTDRAW_GLOBAL->ddSurfaceCallbacks.reserved4 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddSurfaceCallbacks.reserved4),pEddgbl->ddSurfaceCallbacks.reserved4);
801
802 DPRINT1("0x%08lx 0x300 PEDD_DIRECTDRAW_GLOBAL->ddPaletteCallbacks.dwSize : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddPaletteCallbacks.dwSize),pEddgbl->ddPaletteCallbacks.dwSize);
803 DPRINT1("0x%08lx 0x304 PEDD_DIRECTDRAW_GLOBAL->ddPaletteCallbacks.dwFlags : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddPaletteCallbacks.dwFlags),pEddgbl->ddPaletteCallbacks.dwFlags);
804 DPRINT1("0x%08lx 0x308 PEDD_DIRECTDRAW_GLOBAL->ddPaletteCallbacks.DestroyPalette : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddPaletteCallbacks.DestroyPalette),pEddgbl->ddPaletteCallbacks.DestroyPalette);
805 DPRINT1("0x%08lx 0x30C PEDD_DIRECTDRAW_GLOBAL->ddPaletteCallbacks.SetEntries : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddPaletteCallbacks.SetEntries),pEddgbl->ddPaletteCallbacks.SetEntries);
806
807 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[0] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[0]),pEddgbl->unk_314[0]);
808 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[1] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[1]),pEddgbl->unk_314[1]);
809 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[2] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[2]),pEddgbl->unk_314[2]);
810 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[3] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[3]),pEddgbl->unk_314[3]);
811 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[4] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[4]),pEddgbl->unk_314[4]);
812 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[5] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[5]),pEddgbl->unk_314[5]);
813 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[6] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[6]),pEddgbl->unk_314[6]);
814 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[7] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[7]),pEddgbl->unk_314[7]);
815 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[8] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[8]),pEddgbl->unk_314[8]);
816 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[9] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[9]),pEddgbl->unk_314[9]);
817 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[10] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[10]),pEddgbl->unk_314[10]);
818 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[11] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[11]),pEddgbl->unk_314[11]);
819 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[12] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[12]),pEddgbl->unk_314[12]);
820 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[13] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[13]),pEddgbl->unk_314[13]);
821 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[14] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[14]),pEddgbl->unk_314[14]);
822 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[15] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[15]),pEddgbl->unk_314[15]);
823 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[16] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[16]),pEddgbl->unk_314[16]);
824 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[17] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[17]),pEddgbl->unk_314[17]);
825 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[18] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[18]),pEddgbl->unk_314[18]);
826 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[19] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[19]),pEddgbl->unk_314[19]);
827 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[20] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[20]),pEddgbl->unk_314[20]);
828 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[21] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[21]),pEddgbl->unk_314[21]);
829 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[22] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[22]),pEddgbl->unk_314[22]);
830 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[23] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[23]),pEddgbl->unk_314[23]);
831 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[24] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[24]),pEddgbl->unk_314[24]);
832 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[25] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[25]),pEddgbl->unk_314[25]);
833 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[26] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[26]),pEddgbl->unk_314[26]);
834 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[27] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[27]),pEddgbl->unk_314[27]);
835 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[28] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[28]),pEddgbl->unk_314[28]);
836 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[29] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[29]),pEddgbl->unk_314[29]);
837 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[30] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[30]),pEddgbl->unk_314[30]);
838 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[31] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[31]),pEddgbl->unk_314[31]);
839 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[32] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[32]),pEddgbl->unk_314[32]);
840 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[33] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[33]),pEddgbl->unk_314[33]);
841 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[34] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[34]),pEddgbl->unk_314[34]);
842 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[35] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[35]),pEddgbl->unk_314[35]);
843 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[36] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[36]),pEddgbl->unk_314[36]);
844 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[37] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[37]),pEddgbl->unk_314[37]);
845 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[38] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[38]),pEddgbl->unk_314[38]);
846 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[39] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[39]),pEddgbl->unk_314[39]);
847 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[40] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[40]),pEddgbl->unk_314[40]);
848 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[41] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[41]),pEddgbl->unk_314[41]);
849 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[42] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[42]),pEddgbl->unk_314[42]);
850 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[43] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[43]),pEddgbl->unk_314[43]);
851 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[44] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[44]),pEddgbl->unk_314[44]);
852 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_314[45] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_314[45]),pEddgbl->unk_314[45]);
853 // D3DNTHAL_CALLBACKS d3dNtHalCallbacks;
854 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->d3dNtHalCallbacks : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, d3dNtHalCallbacks),pEddgbl->d3dNtHalCallbacks);
855 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_460[0] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_460[0]),pEddgbl->unk_460[0]);
856 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_460[1] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_460[1]),pEddgbl->unk_460[1]);
857 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_460[2] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_460[2]),pEddgbl->unk_460[2]);
858 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_460[3] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_460[3]),pEddgbl->unk_460[3]);
859 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_460[4] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_460[4]),pEddgbl->unk_460[4]);
860 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_460[5] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_460[5]),pEddgbl->unk_460[5]);
861 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_460[6] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_460[6]),pEddgbl->unk_460[6]);
862 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_460[7] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_460[7]),pEddgbl->unk_460[7]);
863 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_460[8] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_460[8]),pEddgbl->unk_460[8]);
864 // D3DNTHAL_CALLBACKS2 d3dNtHalCallbacks2;
865 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->d3dNtHalCallbacks2 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, d3dNtHalCallbacks2),pEddgbl->d3dNtHalCallbacks2);
866
867 DPRINT1("0x%08lx 0x498 PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.dwSize : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.dwSize),pEddgbl->ddVideoPortCallback.dwSize);
868 DPRINT1("0x%08lx 0x49C PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.dwFlags : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.dwFlags),pEddgbl->ddVideoPortCallback.dwFlags);
869 DPRINT1("0x%08lx 0x4A0 PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.CanCreateVideoPort : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.CanCreateVideoPort),pEddgbl->ddVideoPortCallback.CanCreateVideoPort);
870 DPRINT1("0x%08lx 0x4A4 PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.CreateVideoPort : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.CreateVideoPort),pEddgbl->ddVideoPortCallback.CreateVideoPort);
871 DPRINT1("0x%08lx 0x4A8 PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.FlipVideoPort : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.FlipVideoPort),pEddgbl->ddVideoPortCallback.FlipVideoPort);
872 DPRINT1("0x%08lx 0x4AC PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoPortBandwidth : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.GetVideoPortBandwidth),pEddgbl->ddVideoPortCallback.GetVideoPortBandwidth);
873 DPRINT1("0x%08lx 0x4B0 PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoPortInputFormats : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.GetVideoPortInputFormats),pEddgbl->ddVideoPortCallback.GetVideoPortInputFormats);
874 DPRINT1("0x%08lx 0x4B4 PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoPortOutputFormats : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.GetVideoPortOutputFormats),pEddgbl->ddVideoPortCallback.GetVideoPortOutputFormats);
875 DPRINT1("0x%08lx 0x4B8 PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.lpReserved1 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.lpReserved1),pEddgbl->ddVideoPortCallback.lpReserved1);
876 DPRINT1("0x%08lx 0x4BC PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoPortField : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.GetVideoPortField),pEddgbl->ddVideoPortCallback.GetVideoPortField);
877 DPRINT1("0x%08lx 0x4C0 PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoPortLine : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.GetVideoPortLine),pEddgbl->ddVideoPortCallback.GetVideoPortLine);
878 DPRINT1("0x%08lx 0x4C4 PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoPortConnectInfo : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.GetVideoPortConnectInfo),pEddgbl->ddVideoPortCallback.GetVideoPortConnectInfo);
879 DPRINT1("0x%08lx 0x4C8 PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.DestroyVideoPort : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.DestroyVideoPort),pEddgbl->ddVideoPortCallback.DestroyVideoPort);
880 DPRINT1("0x%08lx 0x4CC PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoPortFlipStatus : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.GetVideoPortFlipStatus),pEddgbl->ddVideoPortCallback.GetVideoPortFlipStatus);
881 DPRINT1("0x%08lx 0x4D0 PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.UpdateVideoPort : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.UpdateVideoPort),pEddgbl->ddVideoPortCallback.UpdateVideoPort);
882 DPRINT1("0x%08lx 0x4D4 PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.WaitForVideoPortSync : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.WaitForVideoPortSync),pEddgbl->ddVideoPortCallback.WaitForVideoPortSync);
883 DPRINT1("0x%08lx 0x4D8 PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.GetVideoSignalStatus : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.GetVideoSignalStatus),pEddgbl->ddVideoPortCallback.GetVideoSignalStatus);
884 DPRINT1("0x%08lx 0x4DC PEDD_DIRECTDRAW_GLOBAL->ddVideoPortCallback.ColorControl : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddVideoPortCallback.ColorControl),pEddgbl->ddVideoPortCallback.ColorControl);
885
886 DPRINT1("0x%08lx 0x4E0 PEDD_DIRECTDRAW_GLOBAL->ddMiscellanousCallbacks.dwSize : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddMiscellanousCallbacks.dwSize),pEddgbl->ddMiscellanousCallbacks.dwSize);
887 DPRINT1("0x%08lx 0x4E4 PEDD_DIRECTDRAW_GLOBAL->ddMiscellanousCallbacks.dwFlags : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddMiscellanousCallbacks.dwFlags),pEddgbl->ddMiscellanousCallbacks.dwFlags);
888 DPRINT1("0x%08lx 0x4E8 PEDD_DIRECTDRAW_GLOBAL->ddMiscellanousCallbacks.GetAvailDriverMemory : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddMiscellanousCallbacks.GetAvailDriverMemory),pEddgbl->ddMiscellanousCallbacks.GetAvailDriverMemory);
889
890 DPRINT1("0x%08lx 0x4EC PEDD_DIRECTDRAW_GLOBAL->ddMiscellanous2Callbacks.dwSize : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddMiscellanous2Callbacks.dwSize),pEddgbl->ddMiscellanous2Callbacks.dwSize);
891 DPRINT1("0x%08lx 0x4F0 PEDD_DIRECTDRAW_GLOBAL->ddMiscellanous2Callbacks.dwFlags : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddMiscellanous2Callbacks.dwFlags),pEddgbl->ddMiscellanous2Callbacks.dwFlags);
892 DPRINT1("0x%08lx 0x4F4 PEDD_DIRECTDRAW_GLOBAL->ddMiscellanous2Callbacks.AlphaBlt : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddMiscellanous2Callbacks.AlphaBlt),pEddgbl->ddMiscellanous2Callbacks.AlphaBlt);
893 DPRINT1("0x%08lx 0x4F8 PEDD_DIRECTDRAW_GLOBAL->ddMiscellanous2Callbacks.CreateSurfaceEx : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddMiscellanous2Callbacks.CreateSurfaceEx),pEddgbl->ddMiscellanous2Callbacks.CreateSurfaceEx);
894 DPRINT1("0x%08lx 0x4FC PEDD_DIRECTDRAW_GLOBAL->ddMiscellanous2Callbacks.GetDriverState : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddMiscellanous2Callbacks.GetDriverState),pEddgbl->ddMiscellanous2Callbacks.GetDriverState);
895 DPRINT1("0x%08lx 0x500 PEDD_DIRECTDRAW_GLOBAL->ddMiscellanous2Callbacks.DestroyDDLocal : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, ddMiscellanous2Callbacks.DestroyDDLocal),pEddgbl->ddMiscellanous2Callbacks.DestroyDDLocal);
896
897 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_504[0] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_504[0]),pEddgbl->unk_504[0]);
898 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_504[1] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_504[1]),pEddgbl->unk_504[1]);
899 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_504[2] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_504[2]),pEddgbl->unk_504[2]);
900 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_504[3] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_504[3]),pEddgbl->unk_504[3]);
901 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_504[4] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_504[4]),pEddgbl->unk_504[4]);
902 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_504[5] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_504[5]),pEddgbl->unk_504[5]);
903 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_504[6] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_504[6]),pEddgbl->unk_504[6]);
904 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_504[7] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_504[7]),pEddgbl->unk_504[7]);
905 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_504[8] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_504[8]),pEddgbl->unk_504[8]);
906 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_504[9] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_504[9]),pEddgbl->unk_504[9]);
907
908 // D3DNTHAL_CALLBACKS3 d3dNtHalCallbacks3;
909 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->d3dNtHalCallbacks3 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, d3dNtHalCallbacks3),pEddgbl->d3dNtHalCallbacks3);
910 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_544 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_544), pEddgbl->unk_544);
911 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_548 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_548), pEddgbl->unk_548);
912 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[0] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[0]),pEddgbl->unk_54c[0]);
913 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[1] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[1]),pEddgbl->unk_54c[1]);
914 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[2] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[2]),pEddgbl->unk_54c[2]);
915 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[3] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[3]),pEddgbl->unk_54c[3]);
916 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[4] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[4]),pEddgbl->unk_54c[4]);
917 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[5] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[5]),pEddgbl->unk_54c[5]);
918 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[6] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[6]),pEddgbl->unk_54c[6]);
919 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[7] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[7]),pEddgbl->unk_54c[7]);
920 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[8] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[8]),pEddgbl->unk_54c[8]);
921 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[9] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[9]),pEddgbl->unk_54c[9]);
922 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[10] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[10]),pEddgbl->unk_54c[10]);
923 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[11] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[11]),pEddgbl->unk_54c[11]);
924 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[12] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[12]),pEddgbl->unk_54c[12]);
925 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[13] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[13]),pEddgbl->unk_54c[13]);
926 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[14] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[14]),pEddgbl->unk_54c[14]);
927 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[15] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[15]),pEddgbl->unk_54c[15]);
928 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[16] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[16]),pEddgbl->unk_54c[16]);
929 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[17] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[17]),pEddgbl->unk_54c[17]);
930 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[18] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[18]),pEddgbl->unk_54c[18]);
931 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[19] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[19]),pEddgbl->unk_54c[19]);
932 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[20] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[20]),pEddgbl->unk_54c[20]);
933 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[21] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[21]),pEddgbl->unk_54c[21]);
934 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_54c[22] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_54c[22]),pEddgbl->unk_54c[22]);
935 // EDD_DIRECTDRAW_LOCAL* peDirectDrawLocalList;
936 DPRINT1("0x%08lx 0x5A8 PEDD_DIRECTDRAW_GLOBAL->peDirectDrawLocalList : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, peDirectDrawLocalList), pEddgbl->peDirectDrawLocalList);
937 // EDD_SURFACE* peSurface_LockList;
938 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->peSurface_LockList : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, peSurface_LockList), pEddgbl->peSurface_LockList);
939 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->fl : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, fl), pEddgbl->fl);
940 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->cSurfaceLocks : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, cSurfaceLocks), pEddgbl->cSurfaceLocks);
941 // PKEVENT pAssertModeEvent;
942 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->pAssertModeEvent : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, pAssertModeEvent), pEddgbl->pAssertModeEvent);
943 // EDD_SURFACE *peSurfaceCurrent;
944 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->peSurfaceCurrent : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, peSurfaceCurrent), pEddgbl->peSurfaceCurrent);
945 // EDD_SURFACE *peSurfacePrimary;
946 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->peSurfacePrimary : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, peSurfacePrimary),pEddgbl->peSurfacePrimary);
947 DPRINT1("0x%08lx 0x5C4 PEDD_DIRECTDRAW_GLOBAL->bSuspended : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, bSuspended),pEddgbl->bSuspended);
948 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_5c8[0] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_5c8[0]),pEddgbl->unk_5c8[0]);
949 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_5c8[1] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_5c8[1]),pEddgbl->unk_5c8[1]);
950 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_5c8[2] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_5c8[2]),pEddgbl->unk_5c8[2]);
951 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_5c8[3] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_5c8[3]),pEddgbl->unk_5c8[3]);
952 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_5c8[4] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_5c8[4]),pEddgbl->unk_5c8[4]);
953 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_5c8[5] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_5c8[5]),pEddgbl->unk_5c8[5]);
954 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_5c8[6] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_5c8[6]),pEddgbl->unk_5c8[6]);
955 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_5c8[7] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_5c8[7]),pEddgbl->unk_5c8[7]);
956 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_5c8[8] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_5c8[8]),pEddgbl->unk_5c8[8]);
957 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_5c8[9] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_5c8[9]),pEddgbl->unk_5c8[9]);
958 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_5c8[10] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_5c8[10]),pEddgbl->unk_5c8[10]);
959 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_5c8[11] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_5c8[11]),pEddgbl->unk_5c8[11]);
960 // RECTL rcbounds;
961 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->rcbounds : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, rcbounds),pEddgbl->rcbounds);
962 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_608 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_608), pEddgbl->unk_608);
963 DPRINT1("0x%08lx 0x60C PEDD_DIRECTDRAW_GLOBAL->hDev : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, hDev), pEddgbl->hDev);
964
965 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[0] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[0]), pEddgbl->unk_610[0]);
966 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[1] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[1]), pEddgbl->unk_610[1]);
967 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[2] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[2]), pEddgbl->unk_610[2]);
968 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[3] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[3]), pEddgbl->unk_610[3]);
969 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[4] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[4]), pEddgbl->unk_610[4]);
970 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[5] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[5]), pEddgbl->unk_610[5]);
971 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[6] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[6]), pEddgbl->unk_610[6]);
972 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[7] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[7]), pEddgbl->unk_610[7]);
973 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[8] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[8]), pEddgbl->unk_610[8]);
974 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[9] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[9]), pEddgbl->unk_610[9]);
975 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[10] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[10]), pEddgbl->unk_610[10]);
976 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[11] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[11]), pEddgbl->unk_610[11]);
977 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[12] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[12]), pEddgbl->unk_610[12]);
978 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[13] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[13]), pEddgbl->unk_610[13]);
979 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[14] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[14]), pEddgbl->unk_610[14]);
980 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[15] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[15]), pEddgbl->unk_610[15]);
981 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[16] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[16]), pEddgbl->unk_610[16]);
982 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[17] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[17]), pEddgbl->unk_610[17]);
983 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[18] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[18]), pEddgbl->unk_610[18]);
984 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[19] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[19]), pEddgbl->unk_610[19]);
985 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[20] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[20]), pEddgbl->unk_610[20]);
986 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[21] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[21]), pEddgbl->unk_610[21]);
987 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[22] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[22]), pEddgbl->unk_610[22]);
988 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[23] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[23]), pEddgbl->unk_610[23]);
989 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[24] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[24]), pEddgbl->unk_610[24]);
990 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[25] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[25]), pEddgbl->unk_610[25]);
991 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[26] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[26]), pEddgbl->unk_610[26]);
992 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[27] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[27]), pEddgbl->unk_610[27]);
993 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[28] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[28]), pEddgbl->unk_610[28]);
994 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[29] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[29]), pEddgbl->unk_610[29]);
995 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[30] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[30]), pEddgbl->unk_610[30]);
996 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[31] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[31]), pEddgbl->unk_610[31]);
997 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[32] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[32]), pEddgbl->unk_610[32]);
998 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[33] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[33]), pEddgbl->unk_610[33]);
999 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[34] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[34]), pEddgbl->unk_610[34]);
1000 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[35] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[35]), pEddgbl->unk_610[35]);
1001 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[36] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[36]), pEddgbl->unk_610[36]);
1002 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[37] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[37]), pEddgbl->unk_610[37]);
1003 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[38] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[38]), pEddgbl->unk_610[38]);
1004 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[39] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[39]), pEddgbl->unk_610[39]);
1005 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[40] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[40]), pEddgbl->unk_610[40]);
1006 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[41] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[41]), pEddgbl->unk_610[41]);
1007 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[42] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[42]), pEddgbl->unk_610[42]);
1008 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[43] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[43]), pEddgbl->unk_610[43]);
1009 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[44] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[44]), pEddgbl->unk_610[44]);
1010 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[45] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[45]), pEddgbl->unk_610[45]);
1011 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[46] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[46]), pEddgbl->unk_610[46]);
1012 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[47] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[47]), pEddgbl->unk_610[47]);
1013 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[48] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[48]), pEddgbl->unk_610[48]);
1014 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[49] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[49]), pEddgbl->unk_610[49]);
1015 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[50] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[50]), pEddgbl->unk_610[50]);
1016 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[51] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[51]), pEddgbl->unk_610[51]);
1017 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[52] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[52]), pEddgbl->unk_610[52]);
1018 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[53] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[53]), pEddgbl->unk_610[53]);
1019 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[54] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[54]), pEddgbl->unk_610[54]);
1020 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[55] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[55]), pEddgbl->unk_610[55]);
1021 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[56] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[56]), pEddgbl->unk_610[56]);
1022 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[57] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[57]), pEddgbl->unk_610[57]);
1023 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[58] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[58]), pEddgbl->unk_610[58]);
1024 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[59] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[59]), pEddgbl->unk_610[59]);
1025 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_1e0[60] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[60]), pEddgbl->unk_610[60]);
1026 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[61] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[61]), pEddgbl->unk_610[61]);
1027 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_610[62] : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_610[62]), pEddgbl->unk_610[62]);
1028 DPRINT1("0x%08lx ????? PEDD_DIRECTDRAW_GLOBAL->unk_70C : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_GLOBAL, unk_70C), pEddgbl->unk_70C);
1029 }
1030
1031 void dump_edd_directdraw_local(PEDD_DIRECTDRAW_LOCAL pEddlcl)
1032 {
1033 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->pobj : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, pobj), pEddlcl->pobj);
1034 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->peDirectDrawGlobal : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, peDirectDrawGlobal), pEddlcl->peDirectDrawGlobal);
1035 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->peSurface_DdList : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, peSurface_DdList), pEddlcl->peSurface_DdList);
1036 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->unk_018 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, unk_018), pEddlcl->unk_018);
1037 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->unk_01c : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, unk_01c), pEddlcl->unk_01c);
1038 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->unk_020 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, unk_020), pEddlcl->unk_020);
1039 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->peDirectDrawGlobal2 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, peDirectDrawGlobal2), pEddlcl->peDirectDrawGlobal2);
1040 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->fpProcess : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, fpProcess), pEddlcl->fpProcess);
1041 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->fl : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, fl), pEddlcl->fl);
1042
1043 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->peDirectDrawLocal_prev : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, peDirectDrawLocal_prev), pEddlcl->peDirectDrawLocal_prev);
1044 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->Process : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, Process), pEddlcl->Process);
1045 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->unk_038 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, unk_038), pEddlcl->unk_038);
1046 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->UniqueProcess : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, UniqueProcess), pEddlcl->UniqueProcess);
1047 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->unk_040 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, unk_040), pEddlcl->unk_040);
1048 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->unk_044 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, unk_044), pEddlcl->unk_044);
1049 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->unk_048 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, unk_048), pEddlcl->unk_048);
1050 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->unk_04C : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, unk_04C), pEddlcl->unk_04C);
1051 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->unk_050 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, unk_050), pEddlcl->unk_050);
1052
1053 DPRINT1("0x%08lx PEDD_DIRECTDRAW_LOCAL->unk_050 : 0x%08lx\n",FIELD_OFFSET(EDD_DIRECTDRAW_LOCAL, unk_050), pEddlcl->unk_050);
1054 }
1055
1056 void
1057 dump_halinfo(DD_HALINFO *pHalInfo)
1058 {
1059 if (pHalInfo->dwSize == sizeof(DD_HALINFO_V4))
1060 {
1061 DD_HALINFO_V4 *pHalInfo4 = (DD_HALINFO_V4 *) pHalInfo;
1062 int t;
1063
1064 DPRINT1("DD_HALINFO Version NT4 found \n");
1065 DPRINT1(" pHalInfo4->dwSize : 0x%08lx\n",(long)pHalInfo4->dwSize);
1066 DPRINT1(" pHalInfo4->vmiData->fpPrimary : 0x%08lx\n",(long)pHalInfo4->vmiData.fpPrimary);
1067 DPRINT1(" pHalInfo4->vmiData->dwFlags : 0x%08lx\n",(long)pHalInfo4->vmiData.dwFlags);
1068 DPRINT1(" pHalInfo4->vmiData->dwDisplayWidth : 0x%08lx\n",(long)pHalInfo4->vmiData.dwDisplayWidth);
1069 DPRINT1(" pHalInfo4->vmiData->dwDisplayHeight : 0x%08lx\n",(long)pHalInfo4->vmiData.dwDisplayHeight);
1070 DPRINT1(" pHalInfo4->vmiData->lDisplayPitch : 0x%08lx\n",(long)pHalInfo4->vmiData.lDisplayPitch);
1071
1072 DPRINT1(" pHalInfo4->vmiData->ddpfDisplay.dwSize : 0x%08lx\n",(long)pHalInfo4->vmiData.ddpfDisplay.dwSize);
1073 DPRINT1(" pHalInfo4->vmiData->ddpfDisplay.dwFlags : 0x%08lx\n",(long)pHalInfo4->vmiData.ddpfDisplay.dwFlags);
1074 DPRINT1(" pHalInfo4->vmiData->ddpfDisplay.dwFourCC : 0x%08lx\n",(long)pHalInfo4->vmiData.ddpfDisplay.dwFourCC);
1075 DPRINT1(" pHalInfo4->vmiData->ddpfDisplay.dwRGBBitCount : 0x%08lx\n",(long)pHalInfo4->vmiData.ddpfDisplay.dwRGBBitCount);
1076 DPRINT1(" pHalInfo4->vmiData->ddpfDisplay.dwRBitMask : 0x%08lx\n",(long)pHalInfo4->vmiData.ddpfDisplay.dwRBitMask);
1077 DPRINT1(" pHalInfo4->vmiData->ddpfDisplay.dwGBitMask : 0x%08lx\n",(long)pHalInfo4->vmiData.ddpfDisplay.dwGBitMask);
1078 DPRINT1(" pHalInfo4->vmiData->ddpfDisplay.dwBBitMask : 0x%08lx\n",(long)pHalInfo4->vmiData.ddpfDisplay.dwBBitMask);
1079 DPRINT1(" pHalInfo4->vmiData->ddpfDisplay.dwRGBAlphaBitMask : 0x%08lx\n",(long)pHalInfo4->vmiData.ddpfDisplay.dwRGBAlphaBitMask);
1080
1081 DPRINT1(" pHalInfo4->vmiData->dwOffscreenAlign : 0x%08lx\n",(long)pHalInfo4->vmiData.dwOffscreenAlign);
1082 DPRINT1(" pHalInfo4->vmiData->dwOverlayAlign : 0x%08lx\n",(long)pHalInfo4->vmiData.dwOverlayAlign);
1083 DPRINT1(" pHalInfo4->vmiData->dwTextureAlign : 0x%08lx\n",(long)pHalInfo4->vmiData.dwTextureAlign);
1084 DPRINT1(" pHalInfo4->vmiData->dwZBufferAlign : 0x%08lx\n",(long)pHalInfo4->vmiData.dwZBufferAlign);
1085 DPRINT1(" pHalInfo4->vmiData->dwAlphaAlign : 0x%08lx\n",(long)pHalInfo4->vmiData.dwAlphaAlign);
1086 DPRINT1(" pHalInfo4->vmiData->pvPrimary : 0x%p\n",pHalInfo4->vmiData.pvPrimary);
1087
1088 DPRINT1(" pHalInfo4->ddCaps.dwSize : 0x%08lx\n",pHalInfo4->ddCaps.dwSize);
1089 DPRINT1(" pHalInfo4->ddCaps.dwCaps : 0x%08lx\n",pHalInfo4->ddCaps.dwCaps);
1090 DPRINT1(" pHalInfo4->ddCaps.dwCaps2 : 0x%08lx\n",pHalInfo4->ddCaps.dwCaps2);
1091 DPRINT1(" pHalInfo4->ddCaps.dwCKeyCaps : 0x%08lx\n",pHalInfo4->ddCaps.dwCKeyCaps);
1092 DPRINT1(" pHalInfo4->ddCaps.dwFXCaps : 0x%08lx\n",pHalInfo4->ddCaps.dwFXCaps);
1093 DPRINT1(" pHalInfo4->ddCaps.dwFXAlphaCaps : 0x%08lx\n",pHalInfo4->ddCaps.dwFXAlphaCaps);
1094 DPRINT1(" pHalInfo4->ddCaps.dwPalCaps : 0x%08lx\n",pHalInfo4->ddCaps.dwPalCaps);
1095 DPRINT1(" pHalInfo4->ddCaps.dwSVCaps : 0x%08lx\n",pHalInfo4->ddCaps.dwSVCaps);
1096 DPRINT1(" pHalInfo4->ddCaps.dwAlphaBltConstBitDepths : 0x%08lx\n",pHalInfo4->ddCaps.dwAlphaBltConstBitDepths);
1097 DPRINT1(" pHalInfo4->ddCaps.dwAlphaBltPixelBitDepths : 0x%08lx\n",pHalInfo4->ddCaps.dwAlphaBltPixelBitDepths);
1098 DPRINT1(" pHalInfo4->ddCaps.dwAlphaBltSurfaceBitDepths : 0x%08lx\n",pHalInfo4->ddCaps.dwAlphaBltSurfaceBitDepths);
1099 DPRINT1(" pHalInfo4->ddCaps.dwAlphaOverlayConstBitDepths : 0x%08lx\n",pHalInfo4->ddCaps.dwAlphaOverlayConstBitDepths);
1100 DPRINT1(" pHalInfo4->ddCaps.dwAlphaOverlayPixelBitDepths : 0x%08lx\n",pHalInfo4->ddCaps.dwAlphaOverlayPixelBitDepths);
1101 DPRINT1(" pHalInfo4->ddCaps.dwAlphaOverlaySurfaceBitDepths : 0x%08lx\n",pHalInfo4->ddCaps.dwAlphaOverlaySurfaceBitDepths);
1102 DPRINT1(" pHalInfo4->ddCaps.dwZBufferBitDepths : 0x%08lx\n",pHalInfo4->ddCaps.dwZBufferBitDepths);
1103 DPRINT1(" pHalInfo4->ddCaps.dwVidMemTotal : 0x%08lx\n",pHalInfo4->ddCaps.dwVidMemTotal);
1104 DPRINT1(" pHalInfo4->ddCaps.dwVidMemFree : 0x%08lx\n",pHalInfo4->ddCaps.dwVidMemFree);
1105 DPRINT1(" pHalInfo4->ddCaps.dwMaxVisibleOverlays : 0x%08lx\n",pHalInfo4->ddCaps.dwMaxVisibleOverlays);
1106 DPRINT1(" pHalInfo4->ddCaps.dwCurrVisibleOverlays : 0x%08lx\n",pHalInfo4->ddCaps.dwCurrVisibleOverlays);
1107 DPRINT1(" pHalInfo4->ddCaps.dwNumFourCCCodes : 0x%08lx\n",pHalInfo4->ddCaps.dwNumFourCCCodes);
1108 DPRINT1(" pHalInfo4->ddCaps.dwAlignBoundarySrc : 0x%08lx\n",pHalInfo4->ddCaps.dwAlignBoundarySrc);
1109 DPRINT1(" pHalInfo4->ddCaps.dwAlignSizeSrc : 0x%08lx\n",pHalInfo4->ddCaps.dwAlignSizeSrc);
1110 DPRINT1(" pHalInfo4->ddCaps.dwAlignBoundaryDes : 0x%08lx\n",pHalInfo4->ddCaps.dwAlignBoundaryDest);
1111 DPRINT1(" pHalInfo4->ddCaps.dwAlignSizeDest : 0x%08lx\n",pHalInfo4->ddCaps.dwAlignSizeDest);
1112 DPRINT1(" pHalInfo4->ddCaps.dwAlignStrideAlign : 0x%08lx\n",pHalInfo4->ddCaps.dwAlignStrideAlign);
1113 for (t=0;t<DD_ROP_SPACE;t++)
1114 {
1115 DPRINT1(" pHalInfo4->ddCaps.dwRops[0x%04x] : 0x%08lx\n",t,pHalInfo4->ddCaps.dwRops[t]);
1116 }
1117 DPRINT1(" pHalInfo4->ddCaps.ddsCaps.dwCaps : 0x%08lx\n",pHalInfo4->ddCaps.ddsCaps.dwCaps);
1118 DPRINT1(" pHalInfo4->ddCaps.dwMinOverlayStretch : 0x%08lx\n",pHalInfo4->ddCaps.dwMinOverlayStretch);
1119 DPRINT1(" pHalInfo4->ddCaps.dwMaxOverlayStretch : 0x%08lx\n",pHalInfo4->ddCaps.dwMaxOverlayStretch);
1120 DPRINT1(" pHalInfo4->ddCaps.dwMinLiveVideoStretch : 0x%08lx\n",pHalInfo4->ddCaps.dwMinLiveVideoStretch);
1121 DPRINT1(" pHalInfo4->ddCaps.dwMaxLiveVideoStretch : 0x%08lx\n",pHalInfo4->ddCaps.dwMaxLiveVideoStretch);
1122 DPRINT1(" pHalInfo4->ddCaps.dwMinHwCodecStretch : 0x%08lx\n",pHalInfo4->ddCaps.dwMinHwCodecStretch);
1123 DPRINT1(" pHalInfo4->ddCaps.dwMaxHwCodecStretch : 0x%08lx\n",pHalInfo4->ddCaps.dwMaxHwCodecStretch);
1124 DPRINT1(" pHalInfo4->ddCaps.dwReserved1 : 0x%08lx\n",pHalInfo4->ddCaps.dwReserved1);
1125 DPRINT1(" pHalInfo4->ddCaps.dwReserved2 : 0x%08lx\n",pHalInfo4->ddCaps.dwReserved2);
1126 DPRINT1(" pHalInfo4->ddCaps.dwReserved3 : 0x%08lx\n",pHalInfo4->ddCaps.dwReserved3);
1127 DPRINT1(" pHalInfo4->ddCaps.dwSVBCaps : 0x%08lx\n",pHalInfo4->ddCaps.dwSVBCaps);
1128 DPRINT1(" pHalInfo4->ddCaps.dwSVBCKeyCaps : 0x%08lx\n",pHalInfo4->ddCaps.dwSVBCKeyCaps);
1129 DPRINT1(" pHalInfo4->ddCaps.dwSVBFXCaps : 0x%08lx\n",pHalInfo4->ddCaps.dwSVBFXCaps);
1130 for (t=0;t<DD_ROP_SPACE;t++)
1131 {
1132 DPRINT1(" pHalInfo4->ddCaps.dwSVBRops[0x%04x] : 0x%08lx\n",t,pHalInfo4->ddCaps.dwSVBRops[t]);
1133 }
1134 DPRINT1(" pHalInfo4->ddCaps.dwVSBCaps : 0x%08lx\n",pHalInfo4->ddCaps.dwVSBCaps);
1135 DPRINT1(" pHalInfo4->ddCaps.dwVSBCKeyCaps : 0x%08lx\n",pHalInfo4->ddCaps.dwVSBCKeyCaps);
1136 DPRINT1(" pHalInfo4->ddCaps.dwVSBFXCaps : 0x%08lx\n",pHalInfo4->ddCaps.dwVSBFXCaps);
1137 for (t=0;t<DD_ROP_SPACE;t++)
1138 {
1139 DPRINT1(" pHalInfo4->ddCaps.dwVSBRops[0x%04x] : 0x%08lx\n",t,pHalInfo4->ddCaps.dwVSBRops[t]);
1140 }
1141 DPRINT1(" pHalInfo4->ddCaps.dwSSBCaps : 0x%08lx\n",pHalInfo4->ddCaps.dwSSBCaps);
1142 DPRINT1(" pHalInfo4->ddCaps.dwSSBCKeyCa : 0x%08lx\n",pHalInfo4->ddCaps.dwSSBCKeyCaps);
1143 DPRINT1(" pHalInfo4->ddCaps.dwSSBFXCaps : 0x%08lx\n",pHalInfo4->ddCaps.dwSSBFXCaps);
1144 for (t=0;t<DD_ROP_SPACE;t++)
1145 {
1146 DPRINT1(" pHalInfo4->ddCaps.dwSSBRops[0x%04x] : 0x%08lx\n",t,pHalInfo4->ddCaps.dwSSBRops[t]);
1147 }
1148
1149 DPRINT1(" pHalInfo4->ddCaps.dwMaxVideoPorts : 0x%08lx\n",pHalInfo4->ddCaps.dwMaxVideoPorts);
1150 DPRINT1(" pHalInfo4->ddCaps.dwCurrVideoPorts : 0x%08lx\n",pHalInfo4->ddCaps.dwCurrVideoPorts);
1151 DPRINT1(" pHalInfo4->ddCaps.dwSVBCaps2 : 0x%08lx\n",pHalInfo4->ddCaps.dwSVBCaps2);
1152
1153
1154 DPRINT1(" pHalInfo4->GetDriverInfo : 0x%p\n",pHalInfo4->GetDriverInfo);
1155 DPRINT1(" pHalInfo4->dwFlags : 0x%08lx\n",(long)pHalInfo4->dwFlags);
1156
1157 }
1158 else if (pHalInfo->dwSize == sizeof(DD_HALINFO))
1159 {
1160 int t;
1161 UINT flag;
1162 INT count=0;
1163
1164 DPRINT1("DD_HALINFO Version NT 2000/XP/2003 found \n");
1165 DPRINT1(" pHalInfo->dwSize : 0x%08lx\n",(long)pHalInfo->dwSize);
1166
1167 DPRINT1(" pHalInfo->vmiData->fpPrimary : 0x%08lx\n",(long)pHalInfo->vmiData.fpPrimary);
1168 DPRINT1(" pHalInfo->vmiData->dwFlags : 0x%08lx\n",(long)pHalInfo->vmiData.dwFlags);
1169 DPRINT1(" pHalInfo->vmiData->dwDisplayWidth : 0x%08lx\n",(long)pHalInfo->vmiData.dwDisplayWidth);
1170 DPRINT1(" pHalInfo->vmiData->dwDisplayHeight : 0x%08lx\n",(long)pHalInfo->vmiData.dwDisplayHeight);
1171 DPRINT1(" pHalInfo->vmiData->lDisplayPitch : 0x%08lx\n",(long)pHalInfo->vmiData.lDisplayPitch);
1172
1173 DPRINT1(" pHalInfo->vmiData->ddpfDisplay.dwSize : 0x%08lx\n",(long)pHalInfo->vmiData.ddpfDisplay.dwSize);
1174 DPRINT1(" pHalInfo->vmiData->ddpfDisplay.dwFlags : 0x%08lx\n",(long)pHalInfo->vmiData.ddpfDisplay.dwFlags);
1175 DPRINT1(" pHalInfo->vmiData->ddpfDisplay.dwFourCC : 0x%08lx\n",(long)pHalInfo->vmiData.ddpfDisplay.dwFourCC);
1176 DPRINT1(" pHalInfo->vmiData->ddpfDisplay.dwRGBBitCount : 0x%08lx\n",(long)pHalInfo->vmiData.ddpfDisplay.dwRGBBitCount);
1177 DPRINT1(" pHalInfo->vmiData->ddpfDisplay.dwRBitMask : 0x%08lx\n",(long)pHalInfo->vmiData.ddpfDisplay.dwRBitMask);
1178 DPRINT1(" pHalInfo->vmiData->ddpfDisplay.dwGBitMask : 0x%08lx\n",(long)pHalInfo->vmiData.ddpfDisplay.dwGBitMask);
1179 DPRINT1(" pHalInfo->vmiData->ddpfDisplay.dwBBitMask : 0x%08lx\n",(long)pHalInfo->vmiData.ddpfDisplay.dwBBitMask);
1180 DPRINT1(" pHalInfo->vmiData->ddpfDisplay.dwRGBAlphaBitMask : 0x%08lx\n",(long)pHalInfo->vmiData.ddpfDisplay.dwRGBAlphaBitMask);
1181
1182
1183 DPRINT1(" pHalInfo->vmiData->dwOffscreenAlign : 0x%08lx\n",(long)pHalInfo->vmiData.dwOffscreenAlign);
1184 DPRINT1(" pHalInfo->vmiData->dwOverlayAlign : 0x%08lx\n",(long)pHalInfo->vmiData.dwOverlayAlign);
1185 DPRINT1(" pHalInfo->vmiData->dwTextureAlign : 0x%08lx\n",(long)pHalInfo->vmiData.dwTextureAlign);
1186 DPRINT1(" pHalInfo->vmiData->dwZBufferAlign : 0x%08lx\n",(long)pHalInfo->vmiData.dwZBufferAlign);
1187 DPRINT1(" pHalInfo->vmiData->dwAlphaAlign : 0x%08lx\n",(long)pHalInfo->vmiData.dwAlphaAlign);
1188 DPRINT1(" pHalInfo->vmiData->pvPrimary : 0x%p\n",pHalInfo->vmiData.pvPrimary);
1189
1190 DPRINT1(" pHalInfo->ddCaps.dwSize : 0x%08lx\n",pHalInfo->ddCaps.dwSize);
1191 DPRINT1(" pHalInfo->ddCaps.dwCaps : ");
1192 flag = pHalInfo->ddCaps.dwCaps;
1193 count = 0;
1194 checkflag(flag,DDCAPS_3D,"DDCAPS_3D");
1195 checkflag(flag,DDCAPS_ALIGNBOUNDARYDEST,"DDCAPS_ALIGNBOUNDARYDEST");
1196 checkflag(flag,DDCAPS_ALIGNBOUNDARYSRC,"DDCAPS_ALIGNBOUNDARYSRC");
1197 checkflag(flag,DDCAPS_ALIGNSIZEDEST,"DDCAPS_ALIGNSIZEDEST");
1198 checkflag(flag,DDCAPS_ALIGNSIZESRC,"DDCAPS_ALIGNSIZESRC");
1199 checkflag(flag,DDCAPS_ALIGNSTRIDE,"DDCAPS_ALIGNSTRIDE");
1200 checkflag(flag,DDCAPS_ALPHA,"DDCAPS_ALPHA");
1201 checkflag(flag,DDCAPS_BANKSWITCHED,"DDCAPS_BANKSWITCHED");
1202 checkflag(flag,DDCAPS_BLT,"DDCAPS_BLT");
1203 checkflag(flag,DDCAPS_BLTCOLORFILL,"DDCAPS_BLTCOLORFILL");
1204 checkflag(flag,DDCAPS_BLTDEPTHFILL,"DDCAPS_BLTDEPTHFILL");
1205 checkflag(flag,DDCAPS_BLTFOURCC,"DDCAPS_BLTFOURCC");
1206 checkflag(flag,DDCAPS_BLTQUEUE,"DDCAPS_BLTQUEUE");
1207 checkflag(flag,DDCAPS_BLTSTRETCH,"DDCAPS_BLTSTRETCH");
1208 checkflag(flag,DDCAPS_CANBLTSYSMEM,"DDCAPS_CANBLTSYSMEM");
1209 checkflag(flag,DDCAPS_CANCLIP,"DDCAPS_CANCLIP");
1210 checkflag(flag,DDCAPS_CANCLIPSTRETCHED,"DDCAPS_CANCLIPSTRETCHED");
1211 checkflag(flag,DDCAPS_COLORKEY,"DDCAPS_COLORKEY");
1212 checkflag(flag,DDCAPS_COLORKEYHWASSIST,"DDCAPS_COLORKEYHWASSIST");
1213 checkflag(flag,DDCAPS_GDI,"DDCAPS_GDI");
1214 checkflag(flag,DDCAPS_NOHARDWARE,"DDCAPS_NOHARDWARE");
1215 checkflag(flag,DDCAPS_OVERLAY,"DDCAPS_OVERLAY");
1216 checkflag(flag,DDCAPS_OVERLAYCANTCLIP,"DDCAPS_OVERLAYCANTCLIP");
1217 checkflag(flag,DDCAPS_OVERLAYFOURCC,"DDCAPS_OVERLAYFOURCC");
1218 checkflag(flag,DDCAPS_OVERLAYSTRETCH,"DDCAPS_OVERLAYSTRETCH");
1219 checkflag(flag,DDCAPS_PALETTE,"DDCAPS_PALETTE");
1220 checkflag(flag,DDCAPS_PALETTEVSYNC,"DDCAPS_PALETTEVSYNC");
1221 checkflag(flag,DDCAPS_READSCANLINE,"DDCAPS_READSCANLINE");
1222 checkflag(flag,DDCAPS_STEREOVIEW,"DDCAPS_STEREOVIEW");
1223 checkflag(flag,DDCAPS_VBI,"DDCAPS_VBI");
1224 checkflag(flag,DDCAPS_ZBLTS,"DDCAPS_ZBLTS");
1225 checkflag(flag,DDCAPS_ZOVERLAYS,"DDCAPS_ZOVERLAYS");
1226 endcheckflag(flag,"pHalInfo->ddCaps.dwCaps");
1227
1228 DPRINT1(" pHalInfo->ddCaps.dwCaps2 : ");
1229 flag = pHalInfo->ddCaps.dwCaps2;
1230 count = 0;
1231 checkflag(flag,DDCAPS2_AUTOFLIPOVERLAY,"DDCAPS2_AUTOFLIPOVERLAY");
1232 checkflag(flag,DDCAPS2_CANAUTOGENMIPMAP,"DDCAPS2_CANAUTOGENMIPMAP");
1233 checkflag(flag,DDCAPS2_CANBOBHARDWARE,"DDCAPS2_CANBOBHARDWARE");
1234 checkflag(flag,DDCAPS2_CANBOBINTERLEAVED,"DDCAPS2_CANBOBINTERLEAVED");
1235 checkflag(flag,DDCAPS2_CANBOBNONINTERLEAVED,"DDCAPS2_CANBOBNONINTERLEAVED");
1236 checkflag(flag,DDCAPS2_CANCALIBRATEGAMMA,"DDCAPS2_CANCALIBRATEGAMMA");
1237 checkflag(flag,DDCAPS2_CANDROPZ16BIT,"DDCAPS2_CANDROPZ16BIT");
1238 checkflag(flag,DDCAPS2_CANFLIPODDEVEN,"DDCAPS2_CANFLIPODDEVEN");
1239 checkflag(flag,DDCAPS2_CANMANAGERESOURCE,"DDCAPS2_CANMANAGERESOURCE");
1240 checkflag(flag,DDCAPS2_CANMANAGETEXTURE,"DDCAPS2_CANMANAGETEXTURE");
1241
1242 checkflag(flag,DDCAPS2_CANRENDERWINDOWED,"DDCAPS2_CANRENDERWINDOWED");
1243 checkflag(flag,DDCAPS2_CERTIFIED,"DDCAPS2_CERTIFIED");
1244 checkflag(flag,DDCAPS2_COLORCONTROLOVERLAY,"DDCAPS2_COLORCONTROLOVERLAY");
1245 checkflag(flag,DDCAPS2_COLORCONTROLPRIMARY,"DDCAPS2_COLORCONTROLPRIMARY");
1246 checkflag(flag,DDCAPS2_COPYFOURCC,"DDCAPS2_COPYFOURCC");
1247 checkflag(flag,DDCAPS2_FLIPINTERVAL,"DDCAPS2_FLIPINTERVAL");
1248 checkflag(flag,DDCAPS2_FLIPNOVSYNC,"DDCAPS2_FLIPNOVSYNC");
1249 checkflag(flag,DDCAPS2_NO2DDURING3DSCENE,"DDCAPS2_NO2DDURING3DSCENE");
1250 checkflag(flag,DDCAPS2_NONLOCALVIDMEM,"DDCAPS2_NONLOCALVIDMEM");
1251 checkflag(flag,DDCAPS2_NONLOCALVIDMEMCAPS,"DDCAPS2_NONLOCALVIDMEMCAPS");
1252 checkflag(flag,DDCAPS2_NOPAGELOCKREQUIRED,"DDCAPS2_NOPAGELOCKREQUIRED");
1253 checkflag(flag,DDCAPS2_PRIMARYGAMMA,"DDCAPS2_PRIMARYGAMMA");
1254 checkflag(flag,DDCAPS2_VIDEOPORT,"DDCAPS2_VIDEOPORT");
1255 checkflag(flag,DDCAPS2_WIDESURFACES,"DDCAPS2_WIDESURFACES");
1256 endcheckflag(flag,"pHalInfo->ddCaps.dwCaps2");
1257
1258 DPRINT1(" pHalInfo->ddCaps.dwCKeyCaps : ");
1259 flag = pHalInfo->ddCaps.dwCKeyCaps;
1260 count = 0;
1261 checkflag(flag,DDCKEYCAPS_DESTBLT,"DDCKEYCAPS_DESTBLT");
1262 checkflag(flag,DDCKEYCAPS_DESTBLTCLRSPACE,"DDCKEYCAPS_DESTBLTCLRSPACE");
1263 checkflag(flag,DDCKEYCAPS_DESTBLTCLRSPACEYUV,"DDCKEYCAPS_DESTBLTCLRSPACEYUV");
1264 checkflag(flag,DDCKEYCAPS_DESTBLTYUV,"DDCKEYCAPS_DESTBLTYUV");
1265 checkflag(flag,DDCKEYCAPS_DESTOVERLAY,"DDCKEYCAPS_DESTOVERLAY");
1266 checkflag(flag,DDCKEYCAPS_DESTOVERLAYCLRSPACE,"DDCKEYCAPS_DESTOVERLAYCLRSPACE");
1267 checkflag(flag,DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV,"DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV");
1268 checkflag(flag,DDCKEYCAPS_DESTOVERLAYONEACTIVE,"DDCKEYCAPS_DESTOVERLAYONEACTIVE");
1269 checkflag(flag,DDCKEYCAPS_DESTOVERLAYYUV,"DDCKEYCAPS_DESTOVERLAYYUV");
1270 checkflag(flag,DDCKEYCAPS_NOCOSTOVERLAY,"DDCKEYCAPS_NOCOSTOVERLAY");
1271 checkflag(flag,DDCKEYCAPS_SRCBLT,"DDCKEYCAPS_SRCBLT");
1272 checkflag(flag,DDCKEYCAPS_SRCBLTCLRSPACE,"DDCKEYCAPS_SRCBLTCLRSPACE");
1273 checkflag(flag,DDCKEYCAPS_SRCBLTCLRSPACEYUV,"DDCKEYCAPS_SRCBLTCLRSPACEYUV");
1274 checkflag(flag,DDCKEYCAPS_SRCBLTYUV,"DDCKEYCAPS_SRCBLTYUV");
1275 checkflag(flag,DDCKEYCAPS_SRCOVERLAY,"DDCKEYCAPS_SRCOVERLAY");
1276 checkflag(flag,DDCKEYCAPS_SRCOVERLAYCLRSPACE,"DDCKEYCAPS_SRCOVERLAYCLRSPACE");
1277 checkflag(flag,DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV,"DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV");
1278 checkflag(flag,DDCKEYCAPS_SRCOVERLAYONEACTIVE,"DDCKEYCAPS_SRCOVERLAYONEACTIVE");
1279 checkflag(flag,DDCKEYCAPS_SRCOVERLAYYUV,"DDCKEYCAPS_SRCOVERLAYYUV");
1280 endcheckflag(flag,"pHalInfo->ddCaps.dwCKeyCaps");
1281
1282 DPRINT1(" pHalInfo->ddCaps.dwFXCaps : ");
1283 flag = pHalInfo->ddCaps.dwFXCaps;
1284 count = 0;
1285 checkflag(flag,DDFXCAPS_BLTARITHSTRETCHY,"DDFXCAPS_BLTARITHSTRETCHY");
1286 checkflag(flag,DDFXCAPS_BLTARITHSTRETCHYN,"DDFXCAPS_BLTARITHSTRETCHYN");
1287 checkflag(flag,DDFXCAPS_BLTMIRRORLEFTRIGHT,"DDFXCAPS_BLTMIRRORLEFTRIGHT");
1288 checkflag(flag,DDFXCAPS_BLTMIRRORUPDOWN,"DDFXCAPS_BLTMIRRORUPDOWN");
1289 checkflag(flag,DDFXCAPS_BLTROTATION,"DDFXCAPS_BLTROTATION");
1290 checkflag(flag,DDFXCAPS_BLTROTATION90,"DDFXCAPS_BLTROTATION90");
1291 checkflag(flag,DDFXCAPS_BLTSHRINKX,"DDFXCAPS_BLTSHRINKX");
1292 checkflag(flag,DDFXCAPS_BLTSHRINKXN,"DDFXCAPS_BLTSHRINKXN");
1293 checkflag(flag,DDFXCAPS_BLTSHRINKY,"DDFXCAPS_BLTSHRINKY");
1294 checkflag(flag,DDFXCAPS_BLTSHRINKYN,"DDFXCAPS_BLTSHRINKYN");
1295 checkflag(flag,DDFXCAPS_BLTSTRETCHX,"DDFXCAPS_BLTSTRETCHX");
1296 checkflag(flag,DDFXCAPS_BLTSTRETCHXN,"DDFXCAPS_BLTSTRETCHXN");
1297 checkflag(flag,DDFXCAPS_BLTSTRETCHY,"DDFXCAPS_BLTSTRETCHY");
1298 checkflag(flag,DDFXCAPS_BLTSTRETCHYN,"DDFXCAPS_BLTSTRETCHYN");
1299 checkflag(flag,DDFXCAPS_OVERLAYARITHSTRETCHY,"DDFXCAPS_OVERLAYARITHSTRETCHY");
1300 checkflag(flag,DDFXCAPS_OVERLAYARITHSTRETCHYN,"DDFXCAPS_OVERLAYARITHSTRETCHYN");
1301 checkflag(flag,DDFXCAPS_OVERLAYMIRRORLEFTRIGHT,"DDFXCAPS_OVERLAYMIRRORLEFTRIGHT");
1302 checkflag(flag,DDFXCAPS_OVERLAYMIRRORUPDOWN,"DDFXCAPS_OVERLAYMIRRORUPDOWN");
1303 checkflag(flag,DDFXCAPS_OVERLAYSHRINKX,"DDFXCAPS_OVERLAYSHRINKX");
1304 checkflag(flag,DDFXCAPS_OVERLAYSHRINKXN,"DDFXCAPS_OVERLAYSHRINKXN");
1305 checkflag(flag,DDFXCAPS_OVERLAYSHRINKY,"DDFXCAPS_OVERLAYSHRINKY");
1306 checkflag(flag,DDFXCAPS_OVERLAYSHRINKYN,"DDFXCAPS_OVERLAYSHRINKYN");
1307 checkflag(flag,DDFXCAPS_OVERLAYSTRETCHX,"DDFXCAPS_OVERLAYSTRETCHX");
1308 checkflag(flag,DDFXCAPS_OVERLAYSTRETCHX,"DDFXCAPS_OVERLAYSTRETCHX");
1309 checkflag(flag,DDFXCAPS_OVERLAYSTRETCHY,"DDFXCAPS_OVERLAYSTRETCHY");
1310 checkflag(flag,DDFXCAPS_OVERLAYSTRETCHYN,"DDFXCAPS_OVERLAYSTRETCHYN");
1311 endcheckflag(flag,"pHalInfo->ddCaps.dwFXCaps");
1312
1313 DPRINT1(" pHalInfo->ddCaps.dwFXAlphaCaps : 0x%08lx\n",pHalInfo->ddCaps.dwFXAlphaCaps);
1314 DPRINT1(" pHalInfo->ddCaps.dwPalCaps : 0x%08lx\n",pHalInfo->ddCaps.dwPalCaps);
1315
1316 DPRINT1(" pHalInfo->ddCaps.dwSVCaps : ");
1317 flag = pHalInfo->ddCaps.dwSVCaps;
1318 count = 0;
1319 checkflag(flag,DDSVCAPS_ENIGMA,"DDSVCAPS_ENIGMA");
1320 checkflag(flag,DDSVCAPS_FLICKER,"DDSVCAPS_FLICKER");
1321 checkflag(flag,DDSVCAPS_REDBLUE,"DDSVCAPS_REDBLUE");
1322 checkflag(flag,DDSVCAPS_SPLIT,"DDSVCAPS_SPLIT");
1323 endcheckflag(flag,"pHalInfo->ddCaps.dwSVCaps");
1324
1325 DPRINT1(" pHalInfo->ddCaps.dwAlphaBltConstBitDepths : 0x%08lx\n",pHalInfo->ddCaps.dwAlphaBltConstBitDepths);
1326 DPRINT1(" pHalInfo->ddCaps.dwAlphaBltPixelBitDepths : 0x%08lx\n",pHalInfo->ddCaps.dwAlphaBltPixelBitDepths);
1327 DPRINT1(" pHalInfo->ddCaps.dwAlphaBltSurfaceBitDepths : 0x%08lx\n",pHalInfo->ddCaps.dwAlphaBltSurfaceBitDepths);
1328 DPRINT1(" pHalInfo->ddCaps.dwAlphaOverlayConstBitDepths : 0x%08lx\n",pHalInfo->ddCaps.dwAlphaOverlayConstBitDepths);
1329 DPRINT1(" pHalInfo->ddCaps.dwAlphaOverlayPixelBitDepths : 0x%08lx\n",pHalInfo->ddCaps.dwAlphaOverlayPixelBitDepths);
1330 DPRINT1(" pHalInfo->ddCaps.dwAlphaOverlaySurfaceBitDepths : 0x%08lx\n",pHalInfo->ddCaps.dwAlphaOverlaySurfaceBitDepths);
1331 DPRINT1(" pHalInfo->ddCaps.dwZBufferBitDepths : 0x%08lx\n",pHalInfo->ddCaps.dwZBufferBitDepths);
1332 DPRINT1(" pHalInfo->ddCaps.dwVidMemTotal : 0x%08lx\n",pHalInfo->ddCaps.dwVidMemTotal);
1333 DPRINT1(" pHalInfo->ddCaps.dwVidMemFree : 0x%08lx\n",pHalInfo->ddCaps.dwVidMemFree);
1334 DPRINT1(" pHalInfo->ddCaps.dwMaxVisibleOverlays : 0x%08lx\n",pHalInfo->ddCaps.dwMaxVisibleOverlays);
1335 DPRINT1(" pHalInfo->ddCaps.dwCurrVisibleOverlays : 0x%08lx\n",pHalInfo->ddCaps.dwCurrVisibleOverlays);
1336 DPRINT1(" pHalInfo->ddCaps.dwNumFourCCCodes : 0x%08lx\n",pHalInfo->ddCaps.dwNumFourCCCodes);
1337 DPRINT1(" pHalInfo->ddCaps.dwAlignBoundarySrc : 0x%08lx\n",pHalInfo->ddCaps.dwAlignBoundarySrc);
1338 DPRINT1(" pHalInfo->ddCaps.dwAlignSizeSrc : 0x%08lx\n",pHalInfo->ddCaps.dwAlignSizeSrc);
1339 DPRINT1(" pHalInfo->ddCaps.dwAlignBoundaryDes : 0x%08lx\n",pHalInfo->ddCaps.dwAlignBoundaryDest);
1340 DPRINT1(" pHalInfo->ddCaps.dwAlignSizeDest : 0x%08lx\n",pHalInfo->ddCaps.dwAlignSizeDest);
1341 DPRINT1(" pHalInfo->ddCaps.dwAlignStrideAlign : 0x%08lx\n",pHalInfo->ddCaps.dwAlignStrideAlign);
1342 for (t=0;t<DD_ROP_SPACE;t++)
1343 {
1344 DPRINT1(" pHalInfo->ddCaps.dwRops[0x%04x] : 0x%08lx\n",t,pHalInfo->ddCaps.dwRops[t]);
1345 }
1346 DPRINT1(" pHalInfo->ddCaps.ddsCaps.dwCaps : ");
1347 flag = pHalInfo->ddCaps.ddsCaps.dwCaps;
1348 count = 0;
1349 checkflag(flag,DDSCAPS_3DDEVICE,"DDSCAPS_3DDEVICE");
1350 checkflag(flag,DDSCAPS_ALLOCONLOAD,"DDSCAPS_ALLOCONLOAD");
1351 checkflag(flag,DDSCAPS_ALPHA,"DDSCAPS_ALPHA");
1352 checkflag(flag,DDSCAPS_BACKBUFFER,"DDSCAPS_BACKBUFFER");
1353 checkflag(flag,DDSCAPS_COMPLEX,"DDSCAPS_COMPLEX");
1354 checkflag(flag,DDSCAPS_EXECUTEBUFFER,"DDSCAPS_EXECUTEBUFFER");
1355 checkflag(flag,DDSCAPS_FLIP,"DDSCAPS_FLIP");
1356 checkflag(flag,DDSCAPS_FRONTBUFFER,"DDSCAPS_FRONTBUFFER");
1357 checkflag(flag,DDSCAPS_HWCODEC,"DDSCAPS_HWCODEC");
1358 checkflag(flag,DDSCAPS_LIVEVIDEO,"DDSCAPS_LIVEVIDEO");
1359 checkflag(flag,DDSCAPS_LOCALVIDMEM,"DDSCAPS_LOCALVIDMEM");
1360 checkflag(flag,DDSCAPS_MIPMAP,"DDSCAPS_MIPMAP");
1361 checkflag(flag,DDSCAPS_MODEX,"DDSCAPS_MODEX");
1362 checkflag(flag,DDSCAPS_NONLOCALVIDMEM,"DDSCAPS_NONLOCALVIDMEM");
1363 checkflag(flag,DDSCAPS_OFFSCREENPLAIN,"DDSCAPS_OFFSCREENPLAIN");
1364 checkflag(flag,DDSCAPS_OVERLAY,"DDSCAPS_OVERLAY");
1365 checkflag(flag,DDSCAPS_OPTIMIZED,"DDSCAPS_OPTIMIZED");
1366 checkflag(flag,DDSCAPS_OWNDC,"DDSCAPS_OWNDC");
1367 checkflag(flag,DDSCAPS_PALETTE,"DDSCAPS_PALETTE");
1368 checkflag(flag,DDSCAPS_PRIMARYSURFACE,"DDSCAPS_PRIMARYSURFACE");
1369 checkflag(flag,DDSCAPS_PRIMARYSURFACELEFT,"DDSCAPS_PRIMARYSURFACELEFT");
1370 checkflag(flag,DDSCAPS_STANDARDVGAMODE,"DDSCAPS_STANDARDVGAMODE");
1371 checkflag(flag,DDSCAPS_SYSTEMMEMORY,"DDSCAPS_SYSTEMMEMORY");
1372 checkflag(flag,DDSCAPS_TEXTURE,"DDSCAPS_TEXTURE");
1373 checkflag(flag,DDSCAPS_VIDEOMEMORY,"DDSCAPS_VIDEOMEMORY");
1374 checkflag(flag,DDSCAPS_VIDEOPORT,"DDSCAPS_VIDEOPORT");
1375 checkflag(flag,DDSCAPS_VISIBLE,"DDSCAPS_VISIBLE");
1376 checkflag(flag,DDSCAPS_WRITEONLY,"DDSCAPS_WRITEONLY");
1377 checkflag(flag,DDSCAPS_ZBUFFER,"DDSCAPS_ZBUFFER");
1378 endcheckflag(flag,"pHalInfo->ddCaps.ddsCaps.dwCaps");
1379
1380 DPRINT1(" pHalInfo->ddCaps.dwMinOverlayStretch : 0x%08lx\n",pHalInfo->ddCaps.dwMinOverlayStretch);
1381 DPRINT1(" pHalInfo->ddCaps.dwMaxOverlayStretch : 0x%08lx\n",pHalInfo->ddCaps.dwMaxOverlayStretch);
1382 DPRINT1(" pHalInfo->ddCaps.dwMinLiveVideoStretch : 0x%08lx\n",pHalInfo->ddCaps.dwMinLiveVideoStretch);
1383 DPRINT1(" pHalInfo->ddCaps.dwMaxLiveVideoStretch : 0x%08lx\n",pHalInfo->ddCaps.dwMaxLiveVideoStretch);
1384 DPRINT1(" pHalInfo->ddCaps.dwMinHwCodecStretch : 0x%08lx\n",pHalInfo->ddCaps.dwMinHwCodecStretch);
1385 DPRINT1(" pHalInfo->ddCaps.dwMaxHwCodecStretch : 0x%08lx\n",pHalInfo->ddCaps.dwMaxHwCodecStretch);
1386 DPRINT1(" pHalInfo->ddCaps.dwReserved1 : 0x%08lx\n",pHalInfo->ddCaps.dwReserved1);
1387 DPRINT1(" pHalInfo->ddCaps.dwReserved2 : 0x%08lx\n",pHalInfo->ddCaps.dwReserved2);
1388 DPRINT1(" pHalInfo->ddCaps.dwReserved3 : 0x%08lx\n",pHalInfo->ddCaps.dwReserved3);
1389
1390 DPRINT1(" pHalInfo->ddCaps.dwSVBCaps : ");
1391 flag = pHalInfo->ddCaps.dwSVBCaps;
1392 count = 0;
1393 checkflag(flag,DDCAPS_3D,"DDCAPS_3D");
1394 checkflag(flag,DDCAPS_ALIGNBOUNDARYDEST,"DDCAPS_ALIGNBOUNDARYDEST");
1395 checkflag(flag,DDCAPS_ALIGNBOUNDARYSRC,"DDCAPS_ALIGNBOUNDARYSRC");
1396 checkflag(flag,DDCAPS_ALIGNSIZEDEST,"DDCAPS_ALIGNSIZEDEST");
1397 checkflag(flag,DDCAPS_ALIGNSIZESRC,"DDCAPS_ALIGNSIZESRC");
1398 checkflag(flag,DDCAPS_ALIGNSTRIDE,"DDCAPS_ALIGNSTRIDE");
1399 checkflag(flag,DDCAPS_ALPHA,"DDCAPS_ALPHA");
1400 checkflag(flag,DDCAPS_BANKSWITCHED,"DDCAPS_BANKSWITCHED");
1401 checkflag(flag,DDCAPS_BLT,"DDCAPS_BLT");
1402 checkflag(flag,DDCAPS_BLTCOLORFILL,"DDCAPS_BLTCOLORFILL");
1403 checkflag(flag,DDCAPS_BLTDEPTHFILL,"DDCAPS_BLTDEPTHFILL");
1404 checkflag(flag,DDCAPS_BLTFOURCC,"DDCAPS_BLTFOURCC");
1405 checkflag(flag,DDCAPS_BLTQUEUE,"DDCAPS_BLTQUEUE");
1406 checkflag(flag,DDCAPS_BLTSTRETCH,"DDCAPS_BLTSTRETCH");
1407 checkflag(flag,DDCAPS_CANBLTSYSMEM,"DDCAPS_CANBLTSYSMEM");
1408 checkflag(flag,DDCAPS_CANCLIP,"DDCAPS_CANCLIP");
1409 checkflag(flag,DDCAPS_CANCLIPSTRETCHED,"DDCAPS_CANCLIPSTRETCHED");
1410 checkflag(flag,DDCAPS_COLORKEY,"DDCAPS_COLORKEY");
1411 checkflag(flag,DDCAPS_COLORKEYHWASSIST,"DDCAPS_COLORKEYHWASSIST");
1412 checkflag(flag,DDCAPS_GDI,"DDCAPS_GDI");
1413 checkflag(flag,DDCAPS_NOHARDWARE,"DDCAPS_NOHARDWARE");
1414 checkflag(flag,DDCAPS_OVERLAY,"DDCAPS_OVERLAY");
1415 checkflag(flag,DDCAPS_OVERLAYCANTCLIP,"DDCAPS_OVERLAYCANTCLIP");
1416 checkflag(flag,DDCAPS_OVERLAYFOURCC,"DDCAPS_OVERLAYFOURCC");
1417 checkflag(flag,DDCAPS_OVERLAYSTRETCH,"DDCAPS_OVERLAYSTRETCH");
1418 checkflag(flag,DDCAPS_PALETTE,"DDCAPS_PALETTE");
1419 checkflag(flag,DDCAPS_PALETTEVSYNC,"DDCAPS_PALETTEVSYNC");
1420 checkflag(flag,DDCAPS_READSCANLINE,"DDCAPS_READSCANLINE");
1421 checkflag(flag,DDCAPS_STEREOVIEW,"DDCAPS_STEREOVIEW");
1422 checkflag(flag,DDCAPS_VBI,"DDCAPS_VBI");
1423 checkflag(flag,DDCAPS_ZBLTS,"DDCAPS_ZBLTS");
1424 checkflag(flag,DDCAPS_ZOVERLAYS,"DDCAPS_ZOVERLAYS");
1425 endcheckflag(flag,"pHalInfo->ddCaps.dwSVBCaps");
1426
1427 DPRINT1(" pHalInfo->ddCaps.dwSVBCKeyCaps : 0x%08lx\n",pHalInfo->ddCaps.dwSVBCKeyCaps);
1428 DPRINT1(" pHalInfo->ddCaps.dwSVBFXCaps : 0x%08lx\n",pHalInfo->ddCaps.dwSVBFXCaps);
1429 for (t=0;t<DD_ROP_SPACE;t++)
1430 {
1431 DPRINT1(" pHalInfo->ddCaps.dwSVBRops[0x%04x] : 0x%08lx\n",t,pHalInfo->ddCaps.dwSVBRops[t]);
1432 }
1433
1434 DPRINT1(" pHalInfo->ddCaps.dwVSBCaps : ");
1435 flag = pHalInfo->ddCaps.dwVSBCaps;
1436 count = 0;
1437 checkflag(flag,DDCAPS_3D,"DDCAPS_3D");
1438 checkflag(flag,DDCAPS_ALIGNBOUNDARYDEST,"DDCAPS_ALIGNBOUNDARYDEST");
1439 checkflag(flag,DDCAPS_ALIGNBOUNDARYSRC,"DDCAPS_ALIGNBOUNDARYSRC");
1440 checkflag(flag,DDCAPS_ALIGNSIZEDEST,"DDCAPS_ALIGNSIZEDEST");
1441 checkflag(flag,DDCAPS_ALIGNSIZESRC,"DDCAPS_ALIGNSIZESRC");
1442 checkflag(flag,DDCAPS_ALIGNSTRIDE,"DDCAPS_ALIGNSTRIDE");
1443 checkflag(flag,DDCAPS_ALPHA,"DDCAPS_ALPHA");
1444 checkflag(flag,DDCAPS_BANKSWITCHED,"DDCAPS_BANKSWITCHED");
1445 checkflag(flag,DDCAPS_BLT,"DDCAPS_BLT");
1446 checkflag(flag,DDCAPS_BLTCOLORFILL,"DDCAPS_BLTCOLORFILL");
1447 checkflag(flag,DDCAPS_BLTDEPTHFILL,"DDCAPS_BLTDEPTHFILL");
1448 checkflag(flag,DDCAPS_BLTFOURCC,"DDCAPS_BLTFOURCC");
1449 checkflag(flag,DDCAPS_BLTQUEUE,"DDCAPS_BLTQUEUE");
1450 checkflag(flag,DDCAPS_BLTSTRETCH,"DDCAPS_BLTSTRETCH");
1451 checkflag(flag,DDCAPS_CANBLTSYSMEM,"DDCAPS_CANBLTSYSMEM");
1452 checkflag(flag,DDCAPS_CANCLIP,"DDCAPS_CANCLIP");
1453 checkflag(flag,DDCAPS_CANCLIPSTRETCHED,"DDCAPS_CANCLIPSTRETCHED");
1454 checkflag(flag,DDCAPS_COLORKEY,"DDCAPS_COLORKEY");
1455 checkflag(flag,DDCAPS_COLORKEYHWASSIST,"DDCAPS_COLORKEYHWASSIST");
1456 checkflag(flag,DDCAPS_GDI,"DDCAPS_GDI");
1457 checkflag(flag,DDCAPS_NOHARDWARE,"DDCAPS_NOHARDWARE");
1458 checkflag(flag,DDCAPS_OVERLAY,"DDCAPS_OVERLAY");
1459 checkflag(flag,DDCAPS_OVERLAYCANTCLIP,"DDCAPS_OVERLAYCANTCLIP");
1460 checkflag(flag,DDCAPS_OVERLAYFOURCC,"DDCAPS_OVERLAYFOURCC");
1461 checkflag(flag,DDCAPS_OVERLAYSTRETCH,"DDCAPS_OVERLAYSTRETCH");
1462 checkflag(flag,DDCAPS_PALETTE,"DDCAPS_PALETTE");
1463 checkflag(flag,DDCAPS_PALETTEVSYNC,"DDCAPS_PALETTEVSYNC");
1464 checkflag(flag,DDCAPS_READSCANLINE,"DDCAPS_READSCANLINE");
1465 checkflag(flag,DDCAPS_STEREOVIEW,"DDCAPS_STEREOVIEW");
1466 checkflag(flag,DDCAPS_VBI,"DDCAPS_VBI");
1467 checkflag(flag,DDCAPS_ZBLTS,"DDCAPS_ZBLTS");
1468 checkflag(flag,DDCAPS_ZOVERLAYS,"DDCAPS_ZOVERLAYS");
1469 endcheckflag(flag,"pHalInfo->ddCaps.dwVSBCaps");
1470
1471 DPRINT1(" pHalInfo->ddCaps.dwVSBCKeyCaps : 0x%08lx\n",pHalInfo->ddCaps.dwVSBCKeyCaps);
1472 DPRINT1(" pHalInfo->ddCaps.dwVSBFXCaps : 0x%08lx\n",pHalInfo->ddCaps.dwVSBFXCaps);
1473 for (t=0;t<DD_ROP_SPACE;t++)
1474 {
1475 DPRINT1(" pHalInfo->ddCaps.dwVSBRops[0x%04x] : 0x%08lx\n",t,pHalInfo->ddCaps.dwVSBRops[t]);
1476 }
1477 DPRINT1(" pHalInfo->ddCaps.dwSSBCaps : 0x%08lx\n",pHalInfo->ddCaps.dwSSBCaps);
1478 DPRINT1(" pHalInfo->ddCaps.dwSSBCKeyCa : 0x%08lx\n",pHalInfo->ddCaps.dwSSBCKeyCaps);
1479 DPRINT1(" pHalInfo->ddCaps.dwSSBFXCaps : 0x%08lx\n",pHalInfo->ddCaps.dwSSBFXCaps);
1480 for (t=0;t<DD_ROP_SPACE;t++)
1481 {
1482 DPRINT1(" pHalInfo->ddCaps.dwSSBRops[0x%04x] : 0x%08lx\n",t,pHalInfo->ddCaps.dwSSBRops[t]);
1483 }
1484
1485 DPRINT1(" pHalInfo->GetDriverInfo : 0x%p\n",pHalInfo->GetDriverInfo);
1486 DPRINT1(" pHalInfo->dwFlags : ");
1487
1488 flag = pHalInfo->dwFlags;
1489 count = 0;
1490 checkflag(flag,DDHALINFO_ISPRIMARYDISPLAY,"DDHALINFO_ISPRIMARYDISPLAY");
1491 checkflag(flag,DDHALINFO_MODEXILLEGAL,"DDHALINFO_MODEXILLEGAL");
1492 checkflag(flag,DDHALINFO_GETDRIVERINFOSET,"DDHALINFO_GETDRIVERINFOSET");
1493 checkflag(flag,DDHALINFO_GETDRIVERINFO2,"DDHALINFO_GETDRIVERINFO2");
1494 endcheckflag(flag,"pHalInfo->dwFlags");
1495
1496 DPRINT1(" pHalInfo->lpD3DGlobalDriverData : 0x%p\n",pHalInfo->lpD3DGlobalDriverData);
1497 DPRINT1(" pHalInfo->lpD3DHALCallbacks : 0x%p\n",pHalInfo->lpD3DHALCallbacks);
1498 DPRINT1(" pHalInfo->lpD3DBufCallbacks : 0x%p\n",pHalInfo->lpD3DBufCallbacks);
1499 }
1500 else
1501 {
1502 if (pHalInfo->dwSize !=0)
1503 {
1504 DPRINT1("unkonwn dwSize DD_HALINFO : the size found is 0x%08lx\n",pHalInfo->dwSize);
1505 }
1506 else
1507 {
1508 DPRINT1("none pHalInfo from the driver 0x%08lx\n",pHalInfo->dwSize);
1509 }
1510 }
1511 }
1512
1513 /* EOF */