[D3D 74] Some texturing enumeration fixes.
Lionel Ulmer
lionel.ulmer at free.fr
Thu Jan 2 15:35:40 CST 2003
Changelog:
Fix order of texture enumeration to fix yet another set of dumb games.
--
Lionel Ulmer - http://www.bbrox.org/
-------------- next part --------------
--- /home/ulmer/Wine/wine_base//dlls/ddraw/d3ddevice/mesa.c 2003-01-02 18:01:42.000000000 +0100
+++ /home/ulmer/Wine/wine_work//dlls/ddraw/d3ddevice/mesa.c 2003-01-02 18:01:28.000000000 +0100
@@ -403,16 +403,8 @@
if (cb_1) if (cb_1(&sdesc , context) == 0) return DD_OK;
if (cb_2) if (cb_2(pformat, context) == 0) return DD_OK;
- TRACE("Enumerating GL_RGBA packed GL_UNSIGNED_SHORT_5_5_5_1 (16)\n");
- pformat->dwFlags = DDPF_RGB | DDPF_ALPHAPIXELS;
- pformat->u1.dwRGBBitCount = 16;
- pformat->u2.dwRBitMask = 0x0000F800;
- pformat->u3.dwGBitMask = 0x000007C0;
- pformat->u4.dwBBitMask = 0x0000003E;
- pformat->u5.dwRGBAlphaBitMask = 0x00000001;
- if (cb_1) if (cb_1(&sdesc , context) == 0) return DD_OK;
- if (cb_2) if (cb_2(pformat, context) == 0) return DD_OK;
-
+ /* Note : even if this is an 'emulated' texture format, it needs to be first
+ as some dumb applications seem to rely on that. */
TRACE("Enumerating GL_RGBA packed GL_UNSIGNED_SHORT_1_5_5_5 (ARGB) (16)\n");
pformat->dwFlags = DDPF_RGB | DDPF_ALPHAPIXELS;
pformat->u1.dwRGBBitCount = 16;
@@ -423,13 +415,13 @@
if (cb_1) if (cb_1(&sdesc , context) == 0) return DD_OK;
if (cb_2) if (cb_2(pformat, context) == 0) return DD_OK;
- TRACE("Enumerating GL_RGBA packed GL_UNSIGNED_SHORT_4_4_4_4 (16)\n");
+ TRACE("Enumerating GL_RGBA packed GL_UNSIGNED_SHORT_5_5_5_1 (16)\n");
pformat->dwFlags = DDPF_RGB | DDPF_ALPHAPIXELS;
pformat->u1.dwRGBBitCount = 16;
- pformat->u2.dwRBitMask = 0x0000F000;
- pformat->u3.dwGBitMask = 0x00000F00;
- pformat->u4.dwBBitMask = 0x000000F0;
- pformat->u5.dwRGBAlphaBitMask = 0x0000000F;
+ pformat->u2.dwRBitMask = 0x0000F800;
+ pformat->u3.dwGBitMask = 0x000007C0;
+ pformat->u4.dwBBitMask = 0x0000003E;
+ pformat->u5.dwRGBAlphaBitMask = 0x00000001;
if (cb_1) if (cb_1(&sdesc , context) == 0) return DD_OK;
if (cb_2) if (cb_2(pformat, context) == 0) return DD_OK;
@@ -443,6 +435,16 @@
if (cb_1) if (cb_1(&sdesc , context) == 0) return DD_OK;
if (cb_2) if (cb_2(pformat, context) == 0) return DD_OK;
+ TRACE("Enumerating GL_RGBA packed GL_UNSIGNED_SHORT_4_4_4_4 (16)\n");
+ pformat->dwFlags = DDPF_RGB | DDPF_ALPHAPIXELS;
+ pformat->u1.dwRGBBitCount = 16;
+ pformat->u2.dwRBitMask = 0x0000F000;
+ pformat->u3.dwGBitMask = 0x00000F00;
+ pformat->u4.dwBBitMask = 0x000000F0;
+ pformat->u5.dwRGBAlphaBitMask = 0x0000000F;
+ if (cb_1) if (cb_1(&sdesc , context) == 0) return DD_OK;
+ if (cb_2) if (cb_2(pformat, context) == 0) return DD_OK;
+
TRACE("Enumerating GL_RGB packed GL_UNSIGNED_BYTE_3_3_2 (8)\n");
pformat->dwFlags = DDPF_RGB;
pformat->u1.dwRGBBitCount = 8;
More information about the wine-patches
mailing list