WINED3DFMT_R5G6B5 - is it RGB or BGR

fenix at club-internet.fr fenix at club-internet.fr
Thu Nov 24 04:36:34 CST 2005




----Message d'origine----
>De: Stefan Dösinger <stefandoesinger at gmx.at>
>A: wine-devel at winehq.org
>Date: Thu, 24 Nov 2005 10:14:51 +0100
>Copie à: Oliver Stieber <oliver_stieber at yahoo.co.uk>
>Sujet: WINED3DFMT_R5G6B5 - is it RGB or BGR
>
>Hello,
>While trying to get Moto Racer 2 running(old D3D1 game), I came across a 
>problem with WINED3DFMT_R5G6B5. The game requests a 16 Bit surface, in RGB 
>order. I translate this to WINED3DFMT_R5G6B5.
>
>In some places, this format is translated to an RGB format, like in 
>utils.c::D3DFmt2GLIntFmt, in an other function it is translated to a BRG 
>format( utils.c::D3DFmt2GLFmt). The BRG format causes a failure in 
>glReadPixels with the radeon driver(and broken textures) and swapped blue and 
>red colors with fglrx.
>I modified D3DFmt2GLFmt to return RGB, and now everything works.
>
>Is WINED3DFMT_R5G6B5 supposed to be RGB or BRG?

it should be RGB (as naming suppose) as majority of D3D formats
. But OpenGL usually prefer use of BGR, so initially i use transformed formats.
Note: we must add a check if cg support GL_RGB and/or GL_BGR formats and modify the code to adapt formats

Regards,
Raphael

PS: it's not BRG but BGR :)




More information about the wine-devel mailing list