Raphael Junqueira : wined3d: Added support for WINED3DFMT_X4R4G4B4.
Alexandre Julliard
julliard at wine.codeweavers.com
Sat Dec 31 08:20:32 CST 2005
Module: wine
Branch: refs/heads/master
Commit: ee5d72b136fa4fa0ba2d52a6df63e6581a7b63ee
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=ee5d72b136fa4fa0ba2d52a6df63e6581a7b63ee
Author: Raphael Junqueira <fenix at club-internet.fr>
Date: Sat Dec 31 13:13:34 2005 +0100
wined3d: Added support for WINED3DFMT_X4R4G4B4.
---
dlls/wined3d/directx.c | 3 +++
dlls/wined3d/surface.c | 19 +++++++++++++++++++
2 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index a0ae182..b9178a1 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1073,6 +1073,9 @@ static BOOL IWineD3DImpl_IsGLXFBConfigCo
case WINED3DFMT_A1R5G5B5:
if (5 == rb && 5 == gb && 5 == bb && 1 == ab) return TRUE;
break;
+ case WINED3DFMT_X4R4G4B4:
+ if (16 == buf_sz && 4 == rb && 4 == gb && 4 == bb) return TRUE;
+ break;
case WINED3DFMT_R5G6B5:
if (5 == rb && 6 == gb && 5 == bb) return TRUE;
break;
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index e1711e6..793f4e1 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -752,6 +752,25 @@ HRESULT WINAPI IWineD3DSurfaceImpl_Unloc
glRasterPos3i(This->lockedRect.left, This->lockedRect.top, 1);
vcheckGLcall("glRasterPos2f");
switch (This->resource.format) {
+ case WINED3DFMT_X4R4G4B4:
+ {
+ int size;
+ unsigned short *data;
+ data = (unsigned short *)This->resource.allocatedMemory;
+ size = (This->lockedRect.bottom - This->lockedRect.top) * (This->lockedRect.right - This->lockedRect.left);
+ while(size > 0) {
+ *data |= 0xF000;
+ data++;
+ size--;
+ }
+ }
+ case WINED3DFMT_A4R4G4B4:
+ {
+ glDrawPixels(This->lockedRect.right - This->lockedRect.left, (This->lockedRect.bottom - This->lockedRect.top)-1,
+ GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4_REV, This->resource.allocatedMemory);
+ vcheckGLcall("glDrawPixels");
+ }
+ break;
case WINED3DFMT_R5G6B5:
{
glDrawPixels(This->lockedRect.right - This->lockedRect.left, (This->lockedRect.bottom - This->lockedRect.top)-1,
More information about the wine-cvs
mailing list