2008/12/28 Dan Kegel dank@kegel.com:
On Sun, Dec 28, 2008 at 6:24 AM, Henri Verbeet hverbeet@gmail.com 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::CheckDeviceMultiSampleType(), 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.