wined3d: Request a pixel format with alpha support in case of P8 render targets.
This commit is contained in:
parent
bbf5dae444
commit
4120188f99
|
@ -237,6 +237,13 @@ WineD3DContext *CreateContext(IWineD3DDeviceImpl *This, IWineD3DSurfaceImpl *tar
|
||||||
PUSH2(WGL_AUX_BUFFERS_ARB, 2);
|
PUSH2(WGL_AUX_BUFFERS_ARB, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* DirectDraw supports 8bit paletted render targets and these are used by old games like Starcraft and C&C.
|
||||||
|
* Most modern hardware doesn't support 8bit natively so we perform some form of 8bit -> 32bit conversion.
|
||||||
|
* The conversion (ab)uses the alpha component for storing the palette index. For this reason we require
|
||||||
|
* a format with 8bit alpha, so request A8R8G8B8. */
|
||||||
|
if(fmt == WINED3DFMT_P8)
|
||||||
|
fmt = WINED3DFMT_A8R8G8B8;
|
||||||
|
|
||||||
if(!getColorBits(fmt, &redBits, &greenBits, &blueBits, &alphaBits, &colorBits)) {
|
if(!getColorBits(fmt, &redBits, &greenBits, &blueBits, &alphaBits, &colorBits)) {
|
||||||
ERR("Unable to get color bits for format %#x!\n", target->resource.format);
|
ERR("Unable to get color bits for format %#x!\n", target->resource.format);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
Loading…
Reference in New Issue