Why complain about X1R5G5B5?

Francois Gouget fgouget at codeweavers.com
Thu Feb 21 10:24:28 CST 2013

If I run Wine's conformance tests in a QEmu VM using Spice's QXL driver 
I get the following errors:

device.c:1004: Test failed: Unexpected display mode returned for mode 0: 0x18

device.c:1366: Test failed: EnumAdapterModes(D3DFMT_X1R5G5B5) did not return D3DERR_INVALIDCALL (got 00000000)!

In essence our tests say that the driver must not support X1R5G5B5. Why?

Further notes:
 * If I then call Direct3D9::CheckDeviceType() for this format I get 
   NOTAVAILABLE which is inconsistent. But then that's exactly what 
   Microsoft's Standard VGA driver does for the R5G6B5 and X8R8G8B8 

 * See the exact list of formats returned by IDirect3D8::EnumAdapterModes()
   Test executable and source:

 * See the list of formats that IDirect3D8::EnumAdapterModes() claims 
   are supported, and how CheckDeviceType() refuses them.
   Test executable and source:

 * I think it's important to get Spice's QXL driver and Wine's 
   conformance tests to play nice together. First they are both 
   open-source so if one is wrong we should work to resolve that. But 
   also the new WineTestBot is uses QEmu and the QXL driver looks like 
   it will be _the_ paravirtualized(*) graphics driver there.
   (*) I.e. high performance and most used driver.

 * See also QXL bug 61227:

Francois Gouget <fgouget at codeweavers.com>

More information about the wine-devel mailing list