Stefan Dösinger : wined3d: Unify bpp to format conversion.
Alexandre Julliard
julliard at winehq.org
Mon Dec 3 09:17:50 CST 2007
Module: wine
Branch: master
Commit: 8804a972d9acd918a7e384ebcac41776aab0564c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8804a972d9acd918a7e384ebcac41776aab0564c
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Fri Nov 30 16:29:49 2007 +0100
wined3d: Unify bpp to format conversion.
---
dlls/wined3d/directx.c | 28 +++-------------------------
dlls/wined3d/utils.c | 4 ++--
2 files changed, 5 insertions(+), 27 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 7b4ab8f..efe69eb 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1410,23 +1410,8 @@ static HRESULT WINAPI IWineD3DImpl_EnumAdapterModes(IWineD3D *iface, UINT Adapte
if (DevModeW.dmFields & DM_DISPLAYFREQUENCY)
pMode->RefreshRate = DevModeW.dmDisplayFrequency;
- if (Format == WINED3DFMT_UNKNOWN)
- {
- switch (DevModeW.dmBitsPerPel)
- {
- case 8:
- pMode->Format = WINED3DFMT_P8;
- break;
- case 16:
- pMode->Format = WINED3DFMT_R5G6B5;
- break;
- case 32:
- pMode->Format = WINED3DFMT_X8R8G8B8;
- break;
- default:
- pMode->Format = WINED3DFMT_UNKNOWN;
- ERR("Unhandled bit depth (%u) in mode list!\n", DevModeW.dmBitsPerPel);
- }
+ if (Format == WINED3DFMT_UNKNOWN) {
+ pMode->Format = pixelformat_for_depth(DevModeW.dmBitsPerPel);
} else {
pMode->Format = Format;
}
@@ -1479,14 +1464,7 @@ static HRESULT WINAPI IWineD3DImpl_GetAdapterDisplayMode(IWineD3D *iface, UINT A
pMode->RefreshRate = DevModeW.dmDisplayFrequency;
}
- switch (bpp) {
- case 8: pMode->Format = WINED3DFMT_R3G3B2; break;
- case 16: pMode->Format = WINED3DFMT_R5G6B5; break;
- case 24: pMode->Format = WINED3DFMT_X8R8G8B8; break; /* Robots needs 24bit to be X8R8G8B8 */
- case 32: pMode->Format = WINED3DFMT_X8R8G8B8; break; /* EVE online and the Fur demo need 32bit AdapterDisplatMode to return X8R8G8B8 */
- default: pMode->Format = WINED3DFMT_UNKNOWN;
- }
-
+ pMode->Format = pixelformat_for_depth(bpp);
} else {
FIXME_(d3d_caps)("Adapter not primary display\n");
}
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 15b37ea..2b7aa40 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -2697,8 +2697,8 @@ WINED3DFORMAT pixelformat_for_depth(DWORD depth) {
case 8: return WINED3DFMT_P8;
case 15: return WINED3DFMT_X1R5G5B5;
case 16: return WINED3DFMT_R5G6B5;
- case 24: return WINED3DFMT_R8G8B8;
- case 32: return WINED3DFMT_X8R8G8B8;
+ case 24: return WINED3DFMT_X8R8G8B8; /* Robots needs 24bit to be X8R8G8B8 */
+ case 32: return WINED3DFMT_X8R8G8B8; /* EVE online and the Fur demo need 32bit AdapterDisplatMode to return X8R8G8B8 */
default: return WINED3DFMT_UNKNOWN;
}
}
More information about the wine-cvs
mailing list