Implementing dxdiag as student project?

Henri Verbeet hverbeet at
Sun Dec 28 09:26:47 CST 2008

2008/12/28 Dan Kegel <dank at>:
> On Sun, Dec 28, 2008 at 6:24 AM, Henri Verbeet <hverbeet at> wrote:
>> ... I think the main use of such an application would be
>> dumping information like supported caps, texture formats, etc in case
>> of D3D and supported extensions, pixelformats, various limits, drivers
>> strings, etc. for OpenGL.
> OK.  Can you list the main Win32 API calls you'd like such
> an app to use to retrieve information?
For d3d9 that would probably be IDirect3D9::CheckDeviceFormat(),
IDirect3D9::EnumAdapterModes(), IDirect3D9::GetAdapterIdentifier() and
IDirect3D9::GetDeviceCaps(). Ddraw and d3d8 should have similar
methods, I'm not completely sure about dxgi/d3d10.

For OpenGL there's DescribePixelFormat(), and glGetString() with
various constants like GLRENDERER, GL_VENDOR, GL_VERSION and
GL_EXTENSIONS. Limits are usually retrieved with glGetIntegerv() or
glGetFloatv() and an appropriate constant.

> Also, isn't it annoying that native dxdiag always says
> the graphics card is X Windows?  Why is that, and
> should we change Wine so that the true card's info
> is reported by native dxdiag?
I don't know, but if I were to guess I'd say it probably doesn't get
that information from d3d, but from gdi32 or winex11.drv.

More information about the wine-devel mailing list