[PATCH 4/4] ddraw: Test if P8 primaries can be converted to RGB.

Stefan Dösinger stefandoesinger at gmail.com
Mon Jul 7 08:26:05 CDT 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 2014-07-07 14:53, schrieb Henri Verbeet:
> I don't think this fix is quite correct either. The drawable format
> is a wined3d internal thing, ddraw shouldn't have to know about it.
> In principle it wouldn't necessarily need to be
> WINED3DFMT_B8G8R8X8_UNORM either, for example if we ever get around
> to supporting 10 bpc display modes.
The drawable format is a winex11.drv / winemac.drv internal thing.
wined3d calls ChangeDisplaySettingsEx to set an 8 bpp mode, but
winex11 never really complies with that request. Wined3d depends on
that non-compliance though. I guess wined3d P8 support currently fails
on Windows.

In practice WINED3DFMT_B8G8R8X8_UNORM (or any other non-indexed RGB
format) gives us the right answer. Ideally we'd make the emulated P8
mode explicit, but then we have to take care that applications that
query the display mode with user32 don't break.

> So I think the fix for this would need to be in 
> wined3d_check_device_format(), or its utility functions.
I don't think so. Wined3d_check_device_format doesn't know what ddraw
is going to do with the source surface. What if e.g. the application
tries to create a YUY2 offscreen surface in P8 mode?

I'm open to the argument that blits between converted surfaces with
the same format should be reported as supposed. But in that case we'd
get the right answer for the wrong reason.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJTup/tAAoJEN0/YqbEcdMwvS8P+wTD77w6V4o8BvYeil5V5LWp
sS3iXWW4GqXx5rMXv84O4qNkXcfQtTfdAOwtOz3bngFdlF3UEHEd8P7XIJzWJpH6
LgV2CCCz37LBnNWEaU8Nrd13o7jlDuoGS10c2hyBSwJCPC/84jbnJfVwiaCwizyH
N3F1q+GxXW5vMM7FeEZk0hkrDSPaL4dQ/6qIVR5CKMwNe/+86voXb3VvVwzlUraw
pexRhte+/uebPbwo16PUXhTaH8E6UGuPpVH3ANxNJweK4aLbbJmEhayMgDGmgFgo
S52sIGOjAEV2zIZqstild7n90Pdp9e9rfCrhQ4lTLnyseveyUHoEjqHaDjovzcoN
W1c77gLIhPKgB8reHI6HZAofyuYC5osobK6cikHJNF4ixsiAA87f+mizxrSCql3q
uYlcYWqoWHy9GcChkkNFFayMdOa7+dhLlkfp+GYrk0oQkOyU6zs8fN2Jej9GLf/b
NN4vAd9jhyPvxLuUztrlx3LCzZ4Dt/iJ7O1nGCusU+Jq/m/61XZOXj+luF3wGREA
u0DftXL6kEu/ucx+/VD6KwYCuNpdy9/5OgnLd9NIqzFB91xegoAzEqLsubnik2Iq
8hYvTOcju7mgTUF+ZnGnqy4U88F2CqLAyK10PTt4qLFDMls/pQbv5R58A0z27021
CcTfiLPJLJC5+HF138YP
=4KW+
-----END PGP SIGNATURE-----



More information about the wine-devel mailing list