- added function DirectDrawEnumerateEx
- added (or corrected) check for the return value of the enumeration functions
This commit is contained in:
parent
5c08570489
commit
4d4b5a9a2f
|
@ -129,14 +129,59 @@ DDRAW_DGA_Available(void)
|
|||
|
||||
HRESULT WINAPI
|
||||
DirectDrawEnumerateA(LPDDENUMCALLBACKA ddenumproc,LPVOID data) {
|
||||
TRACE(ddraw, "(%p,%p)\n", ddenumproc, data);
|
||||
|
||||
if (DDRAW_DGA_Available()) {
|
||||
TRACE(ddraw, "Enumerating DGA interface\n");
|
||||
ddenumproc(&DGA_DirectDraw_GUID,"WINE with XFree86 DGA","display",data);
|
||||
if (!ddenumproc(&DGA_DirectDraw_GUID,"WINE with XFree86 DGA","display",data))
|
||||
return DD_OK;
|
||||
}
|
||||
|
||||
TRACE(ddraw, "Enumerating Xlib interface\n");
|
||||
ddenumproc(&XLIB_DirectDraw_GUID,"WINE with Xlib","display",data);
|
||||
if (!ddenumproc(&XLIB_DirectDraw_GUID,"WINE with Xlib","display",data))
|
||||
return DD_OK;
|
||||
|
||||
TRACE(ddraw, "Enumerating Default interface\n");
|
||||
ddenumproc(NULL,"WINE (default)","display",data);
|
||||
if (!ddenumproc(NULL,"WINE (default)","display",data))
|
||||
return DD_OK;
|
||||
|
||||
return DD_OK;
|
||||
}
|
||||
|
||||
HRESULT WINAPI
|
||||
DirectDrawEnumerateExA(LPDDENUMCALLBACKEXA ddenumproc,LPVOID data, DWORD dwFlags) {
|
||||
TRACE(ddraw, "(%p,%p, %08lx)\n", ddenumproc, data, dwFlags);
|
||||
|
||||
if (TRACE_ON(ddraw)) {
|
||||
DUMP(" Flags : ");
|
||||
if (dwFlags & DDENUM_ATTACHEDSECONDARYDEVICES)
|
||||
DUMP("DDENUM_ATTACHEDSECONDARYDEVICES ");
|
||||
if (dwFlags & DDENUM_DETACHEDSECONDARYDEVICES)
|
||||
DUMP("DDENUM_DETACHEDSECONDARYDEVICES ");
|
||||
if (dwFlags & DDENUM_NONDISPLAYDEVICES)
|
||||
DUMP("DDENUM_NONDISPLAYDEVICES ");
|
||||
DUMP("\n");
|
||||
}
|
||||
|
||||
if (dwFlags & DDENUM_NONDISPLAYDEVICES) {
|
||||
/* For the moment, Wine does not support any 3D only accelerators */
|
||||
return DD_OK;
|
||||
}
|
||||
|
||||
if (DDRAW_DGA_Available()) {
|
||||
TRACE(ddraw, "Enumerating DGA interface\n");
|
||||
if (!ddenumproc(&DGA_DirectDraw_GUID,"WINE with XFree86 DGA","display",data, NULL))
|
||||
return DD_OK;
|
||||
}
|
||||
|
||||
TRACE(ddraw, "Enumerating Xlib interface\n");
|
||||
if (!ddenumproc(&XLIB_DirectDraw_GUID,"WINE with Xlib","display",data, NULL))
|
||||
return DD_OK;
|
||||
|
||||
TRACE(ddraw, "Enumerating Default interface\n");
|
||||
if (!ddenumproc(NULL,"WINE (default)","display",data, NULL))
|
||||
return DD_OK;
|
||||
|
||||
return DD_OK;
|
||||
}
|
||||
|
||||
|
@ -1983,7 +2028,7 @@ static HRESULT WINAPI IDirect3D_EnumDevices(LPDIRECT3D this,
|
|||
FIXME(ddraw,"(%p)->(%p,%p),stub!\n",this,cb,context);
|
||||
|
||||
/* Call functions defined in d3ddevices.c */
|
||||
if (d3d_OpenGL_dx3(cb, context))
|
||||
if (!d3d_OpenGL_dx3(cb, context))
|
||||
return DD_OK;
|
||||
|
||||
return DD_OK;
|
||||
|
@ -2080,7 +2125,7 @@ static HRESULT WINAPI IDirect3D2_EnumDevices(
|
|||
FIXME(ddraw,"(%p)->(%p,%p),stub!\n",this,cb,context);
|
||||
|
||||
/* Call functions defined in d3ddevices.c */
|
||||
if (d3d_OpenGL(cb, context))
|
||||
if (!d3d_OpenGL(cb, context))
|
||||
return DD_OK;
|
||||
|
||||
return DD_OK;
|
||||
|
|
|
@ -10,19 +10,21 @@ type win32
|
|||
7 stdcall DirectDrawCreateClipper(long ptr ptr) DirectDrawCreateClipper
|
||||
8 stdcall DirectDrawEnumerateA(ptr ptr) DirectDrawEnumerateA
|
||||
9 stub DirectDrawEnumerateW
|
||||
10 stub DllCanUnloadNow
|
||||
11 stub DllGetClassObject
|
||||
12 stub GetNextMipMap
|
||||
13 stub GetSurfaceFromDC
|
||||
14 stub HeapVidMemAllocAligned
|
||||
15 stub InternalLock
|
||||
16 stub InternalUnlock
|
||||
17 stub LateAllocateSurfaceMem
|
||||
18 stub VidMemAlloc
|
||||
19 stub VidMemAmountFree
|
||||
20 stub VidMemFini
|
||||
21 stub VidMemFree
|
||||
22 stub VidMemInit
|
||||
23 stub VidMemLargestFree
|
||||
24 stub thk1632_ThunkData32
|
||||
25 stub thk3216_ThunkData32
|
||||
10 stdcall DirectDrawEnumerateExA(ptr ptr long) DirectDrawEnumerateExA
|
||||
11 stub DirectDrawEnumerateExW
|
||||
12 stub DllCanUnloadNow
|
||||
13 stub DllGetClassObject
|
||||
14 stub GetNextMipMap
|
||||
15 stub GetSurfaceFromDC
|
||||
16 stub HeapVidMemAllocAligned
|
||||
17 stub InternalLock
|
||||
18 stub InternalUnlock
|
||||
19 stub LateAllocateSurfaceMem
|
||||
20 stub VidMemAlloc
|
||||
21 stub VidMemAmountFree
|
||||
22 stub VidMemFini
|
||||
23 stub VidMemFree
|
||||
24 stub VidMemInit
|
||||
25 stub VidMemLargestFree
|
||||
26 stub thk1632_ThunkData32
|
||||
27 stub thk3216_ThunkData32
|
||||
|
|
Loading…
Reference in New Issue