Date: Sun, 20 Jul 2008 22:34:37 +0200

From: Couriersud
Subject: Updated DirectFB driver for SDL1.3

please find attached a patch for an updated directfb driver for SDL1.3.
It does now
- properly supported the new input api.
- send unicode text events
- support directfb windows
- support multiple screens
- support hardware YUV scaling for the first YUV texture created.
- support hardware scaling for textures.
- properly interpret streaming access
- support software opengl if one manages to install the mesa directfb
driver (broken/not broken in mesa svn)

Within bugzilla (http://bugzilla.libsdl.org/show_bug.cgi?id=603) there
is another patch which fixes a crash due to GL context creation.

Kind regards,

couriersud

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403172
This commit is contained in:
Sam Lantinga 2008-08-26 02:32:45 +00:00
parent a1b6c39a96
commit 1127f31992
6 changed files with 420 additions and 228 deletions

View file

@ -114,8 +114,11 @@ struct _DFB_DisplayData
{
IDirectFBDisplayLayer *layer;
DFBSurfacePixelFormat pixelformat;
//FIXME: support for multiple layer ...
DFBDisplayLayerID vidID;
int vidIDinuse;
int cw;
int ch;
@ -139,9 +142,9 @@ struct _DFB_WindowData
IDirectFBGL *gl_context;
IDirectFBEventBuffer *eventbuffer;
DFBWindowID windowID;
int id; // SDL window id
int id; /* SDL window id */
DFB_WindowData *next;
u8 opacity;
Uint8 opacity;
};
typedef struct _DFB_DeviceData DFB_DeviceData;
@ -152,6 +155,7 @@ struct _DFB_DeviceData
IDirectFB *dfb;
int mouse;
int keyboard;
int kbdgeneric;
DFB_WindowData *firstwin;
int numscreens;
@ -159,10 +163,9 @@ struct _DFB_DeviceData
DFBDisplayLayerID gralayer[DFB_MAX_SCREENS];
DFBDisplayLayerID vidlayer[DFB_MAX_SCREENS];
// auxiliary integer for callbacks
int aux;
int aux; /* auxiliary integer for callbacks */
// OpenGL
/* OpenGL */
void (*glFinish) (void);
void (*glFlush) (void);
};