wined3d: Prefer aux buffer matches over alpha matches.

Half Life 2 uses D3DFMT_X8R8G8B8 for the back buffer, but macos
supports aux buffers only on D3DFMT_A8R8G8B8. I think having aux
buffers is more important right now than having a precise alpha
match.
This commit is contained in:
Stefan Dösinger 2008-08-14 16:47:19 -05:00 committed by Alexandre Julliard
parent 08f4b87f96
commit 77204574d1
1 changed files with 7 additions and 5 deletions

View File

@ -129,17 +129,19 @@ static int WineD3D_ChoosePixelFormat(IWineD3DDeviceImpl *This, HDC hdc, WINED3DF
BOOL exact_alpha;
BOOL exact_color;
} matches[] = {
/* First, try without aux buffers - this is the most common cause
* for not finding a pixel format. Also some drivers(the open source ones)
/* First, try without alpha match buffers. MacOS supports aux buffers only
* on A8R8G8B8, and we prefer better offscreen rendering over an alpha match.
* Then try without aux buffers - this is the most common cause for not
* finding a pixel format. Also some drivers(the open source ones)
* only offer 32 bit ARB pixel formats. First try without an exact alpha
* match, then try without an exact alpha and color match.
*/
{ TRUE, TRUE, TRUE },
{ FALSE, TRUE, TRUE },
{ TRUE, FALSE, TRUE },
{ TRUE, FALSE, FALSE },
{ TRUE, TRUE, TRUE },
{ FALSE, FALSE, TRUE },
{ FALSE, FALSE, FALSE },
{ TRUE, FALSE, TRUE },
{ TRUE, FALSE, FALSE },
};
int i = 0;