summaryrefslogtreecommitdiff
path: root/src/xvmc/xf86dri.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xvmc/xf86dri.c')
-rw-r--r--src/xvmc/xf86dri.c351
1 files changed, 179 insertions, 172 deletions
diff --git a/src/xvmc/xf86dri.c b/src/xvmc/xf86dri.c
index dd1d1e0..1feb232 100644
--- a/src/xvmc/xf86dri.c
+++ b/src/xvmc/xf86dri.c
@@ -41,7 +41,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <X11/Xlibint.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>
-/* #include "glheader.h" */
#include "xf86dristr.h"
static XExtensionInfo _xf86dri_info_data;
@@ -57,82 +56,78 @@ static char xf86dri_extension_name[] = XF86DRINAME;
* *
*****************************************************************************/
-static int close_display(Display *dpy, XExtCodes *extCodes);
+static int close_display(Display * dpy, XExtCodes * extCodes);
static /* const */ XExtensionHooks xf86dri_extension_hooks = {
- NULL, /* create_gc */
- NULL, /* copy_gc */
- NULL, /* flush_gc */
- NULL, /* free_gc */
- NULL, /* create_font */
- NULL, /* free_font */
- close_display, /* close_display */
- NULL, /* wire_to_event */
- NULL, /* event_to_wire */
- NULL, /* error */
- NULL, /* error_string */
+ NULL, /* create_gc */
+ NULL, /* copy_gc */
+ NULL, /* flush_gc */
+ NULL, /* free_gc */
+ NULL, /* create_font */
+ NULL, /* free_font */
+ close_display, /* close_display */
+ NULL, /* wire_to_event */
+ NULL, /* event_to_wire */
+ NULL, /* error */
+ NULL, /* error_string */
};
-static XEXT_GENERATE_FIND_DISPLAY (find_display, xf86dri_info,
- xf86dri_extension_name,
- &xf86dri_extension_hooks,
- 0, NULL)
-
-static XEXT_GENERATE_CLOSE_DISPLAY (close_display, xf86dri_info)
+static
+XEXT_GENERATE_FIND_DISPLAY(find_display, xf86dri_info,
+ xf86dri_extension_name, &xf86dri_extension_hooks, 0, NULL)
+ static XEXT_GENERATE_CLOSE_DISPLAY(close_display, xf86dri_info)
/*****************************************************************************
* *
* public XFree86-DRI Extension routines *
* *
*****************************************************************************/
-
#if 0
#include <stdio.h>
#define TRACE(msg) fprintf(stderr,"uniDRI%s\n", msg);
#else
#define TRACE(msg)
#endif
-
-
- Bool uniDRIQueryExtension (dpy, event_basep, error_basep)
+ Bool uniDRIQueryExtension(dpy, event_basep, error_basep)
Display *dpy;
int *event_basep, *error_basep;
{
- XExtDisplayInfo *info = find_display (dpy);
+ XExtDisplayInfo *info = find_display(dpy);
TRACE("QueryExtension...");
if (XextHasExtension(info)) {
*event_basep = info->codes->first_event;
*error_basep = info->codes->first_error;
- TRACE("QueryExtension... return True");
+ TRACE("QueryExtension... return True");
return True;
} else {
- TRACE("QueryExtension... return False");
+ TRACE("QueryExtension... return False");
return False;
}
}
- Bool uniDRIQueryVersion(dpy, majorVersion, minorVersion, patchVersion)
- Display* dpy;
- int* majorVersion;
- int* minorVersion;
- int* patchVersion;
+Bool
+uniDRIQueryVersion(dpy, majorVersion, minorVersion, patchVersion)
+ Display *dpy;
+ int *majorVersion;
+ int *minorVersion;
+ int *patchVersion;
{
- XExtDisplayInfo *info = find_display (dpy);
+ XExtDisplayInfo *info = find_display(dpy);
xXF86DRIQueryVersionReply rep;
xXF86DRIQueryVersionReq *req;
TRACE("QueryVersion...");
- uniDRICheckExtension (dpy, info, False);
+ uniDRICheckExtension(dpy, info, False);
LockDisplay(dpy);
GetReq(XF86DRIQueryVersion, req);
req->reqType = info->codes->major_opcode;
req->driReqType = X_XF86DRIQueryVersion;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
+ if (!_XReply(dpy, (xReply *) & rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
- TRACE("QueryVersion... return False");
+ TRACE("QueryVersion... return False");
return False;
}
*majorVersion = rep.majorVersion;
@@ -144,27 +139,28 @@ static XEXT_GENERATE_CLOSE_DISPLAY (close_display, xf86dri_info)
return True;
}
- Bool uniDRIQueryDirectRenderingCapable(dpy, screen, isCapable)
- Display* dpy;
+Bool
+uniDRIQueryDirectRenderingCapable(dpy, screen, isCapable)
+ Display *dpy;
int screen;
- Bool* isCapable;
+ Bool *isCapable;
{
- XExtDisplayInfo *info = find_display (dpy);
+ XExtDisplayInfo *info = find_display(dpy);
xXF86DRIQueryDirectRenderingCapableReply rep;
xXF86DRIQueryDirectRenderingCapableReq *req;
TRACE("QueryDirectRenderingCapable...");
- uniDRICheckExtension (dpy, info, False);
+ uniDRICheckExtension(dpy, info, False);
LockDisplay(dpy);
GetReq(XF86DRIQueryDirectRenderingCapable, req);
req->reqType = info->codes->major_opcode;
req->driReqType = X_XF86DRIQueryDirectRenderingCapable;
req->screen = screen;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
+ if (!_XReply(dpy, (xReply *) & rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
- TRACE("QueryDirectRenderingCapable... return False");
+ TRACE("QueryDirectRenderingCapable... return False");
return False;
}
*isCapable = rep.isCapable;
@@ -174,47 +170,49 @@ static XEXT_GENERATE_CLOSE_DISPLAY (close_display, xf86dri_info)
return True;
}
- Bool uniDRIOpenConnection(dpy, screen, hSAREA, busIdString)
- Display* dpy;
+Bool
+uniDRIOpenConnection(dpy, screen, hSAREA, busIdString)
+ Display *dpy;
int screen;
- drm_handle_t * hSAREA;
+ drm_handle_t *hSAREA;
char **busIdString;
{
- XExtDisplayInfo *info = find_display (dpy);
+ XExtDisplayInfo *info = find_display(dpy);
xXF86DRIOpenConnectionReply rep;
xXF86DRIOpenConnectionReq *req;
TRACE("OpenConnection...");
- uniDRICheckExtension (dpy, info, False);
+ uniDRICheckExtension(dpy, info, False);
LockDisplay(dpy);
GetReq(XF86DRIOpenConnection, req);
req->reqType = info->codes->major_opcode;
req->driReqType = X_XF86DRIOpenConnection;
req->screen = screen;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
+ if (!_XReply(dpy, (xReply *) & rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
- TRACE("OpenConnection... return False");
+ TRACE("OpenConnection... return False");
return False;
}
*hSAREA = rep.hSAREALow;
#ifdef LONG64
- *hSAREA |= ((drm_handle_t)rep.hSAREAHigh) << 32;
+ if (sizeof(drm_handle_t) == 8) {
+ *hSAREA |= ((unsigned long)rep.hSAREAHigh) << 32;
+ }
#endif
-
if (rep.length) {
- if (!(*busIdString = (char *)Xcalloc(rep.busIdStringLength + 1, 1))) {
- _XEatData(dpy, ((rep.busIdStringLength+3) & ~3));
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("OpenConnection... return False");
- return False;
- }
+ if (!(*busIdString = (char *)Xcalloc(rep.busIdStringLength + 1, 1))) {
+ _XEatData(dpy, ((rep.busIdStringLength + 3) & ~3));
+ UnlockDisplay(dpy);
+ SyncHandle();
+ TRACE("OpenConnection... return False");
+ return False;
+ }
_XReadPad(dpy, *busIdString, rep.busIdStringLength);
} else {
- *busIdString = NULL;
+ *busIdString = NULL;
}
UnlockDisplay(dpy);
SyncHandle();
@@ -222,17 +220,18 @@ static XEXT_GENERATE_CLOSE_DISPLAY (close_display, xf86dri_info)
return True;
}
- Bool uniDRIAuthConnection(dpy, screen, magic)
- Display* dpy;
+Bool
+uniDRIAuthConnection(dpy, screen, magic)
+ Display *dpy;
int screen;
drm_magic_t magic;
{
- XExtDisplayInfo *info = find_display (dpy);
+ XExtDisplayInfo *info = find_display(dpy);
xXF86DRIAuthConnectionReq *req;
xXF86DRIAuthConnectionReply rep;
TRACE("AuthConnection...");
- uniDRICheckExtension (dpy, info, False);
+ uniDRICheckExtension(dpy, info, False);
LockDisplay(dpy);
GetReq(XF86DRIAuthConnection, req);
@@ -241,10 +240,10 @@ static XEXT_GENERATE_CLOSE_DISPLAY (close_display, xf86dri_info)
req->screen = screen;
req->magic = magic;
rep.authenticated = 0;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse) || !rep.authenticated) {
+ if (!_XReply(dpy, (xReply *) & rep, 0, xFalse) || !rep.authenticated) {
UnlockDisplay(dpy);
SyncHandle();
- TRACE("AuthConnection... return False");
+ TRACE("AuthConnection... return False");
return False;
}
UnlockDisplay(dpy);
@@ -253,16 +252,17 @@ static XEXT_GENERATE_CLOSE_DISPLAY (close_display, xf86dri_info)
return True;
}
- Bool uniDRICloseConnection(dpy, screen)
- Display* dpy;
+Bool
+uniDRICloseConnection(dpy, screen)
+ Display *dpy;
int screen;
{
- XExtDisplayInfo *info = find_display (dpy);
+ XExtDisplayInfo *info = find_display(dpy);
xXF86DRICloseConnectionReq *req;
TRACE("CloseConnection...");
- uniDRICheckExtension (dpy, info, False);
+ uniDRICheckExtension(dpy, info, False);
LockDisplay(dpy);
GetReq(XF86DRICloseConnection, req);
@@ -275,31 +275,32 @@ static XEXT_GENERATE_CLOSE_DISPLAY (close_display, xf86dri_info)
return True;
}
- Bool uniDRIGetClientDriverName(dpy, screen, ddxDriverMajorVersion,
- ddxDriverMinorVersion, ddxDriverPatchVersion, clientDriverName)
- Display* dpy;
+Bool
+uniDRIGetClientDriverName(dpy, screen, ddxDriverMajorVersion,
+ ddxDriverMinorVersion, ddxDriverPatchVersion, clientDriverName)
+ Display *dpy;
int screen;
- int* ddxDriverMajorVersion;
- int* ddxDriverMinorVersion;
- int* ddxDriverPatchVersion;
- char** clientDriverName;
+ int *ddxDriverMajorVersion;
+ int *ddxDriverMinorVersion;
+ int *ddxDriverPatchVersion;
+ char **clientDriverName;
{
- XExtDisplayInfo *info = find_display (dpy);
+ XExtDisplayInfo *info = find_display(dpy);
xXF86DRIGetClientDriverNameReply rep;
xXF86DRIGetClientDriverNameReq *req;
TRACE("GetClientDriverName...");
- uniDRICheckExtension (dpy, info, False);
+ uniDRICheckExtension(dpy, info, False);
LockDisplay(dpy);
GetReq(XF86DRIGetClientDriverName, req);
req->reqType = info->codes->major_opcode;
req->driReqType = X_XF86DRIGetClientDriverName;
req->screen = screen;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
+ if (!_XReply(dpy, (xReply *) & rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
- TRACE("GetClientDriverName... return False");
+ TRACE("GetClientDriverName... return False");
return False;
}
@@ -308,16 +309,17 @@ static XEXT_GENERATE_CLOSE_DISPLAY (close_display, xf86dri_info)
*ddxDriverPatchVersion = rep.ddxDriverPatchVersion;
if (rep.length) {
- if (!(*clientDriverName = (char *)Xcalloc(rep.clientDriverNameLength + 1, 1))) {
- _XEatData(dpy, ((rep.clientDriverNameLength+3) & ~3));
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("GetClientDriverName... return False");
- return False;
- }
+ if (!(*clientDriverName =
+ (char *)Xcalloc(rep.clientDriverNameLength + 1, 1))) {
+ _XEatData(dpy, ((rep.clientDriverNameLength + 3) & ~3));
+ UnlockDisplay(dpy);
+ SyncHandle();
+ TRACE("GetClientDriverName... return False");
+ return False;
+ }
_XReadPad(dpy, *clientDriverName, rep.clientDriverNameLength);
} else {
- *clientDriverName = NULL;
+ *clientDriverName = NULL;
}
UnlockDisplay(dpy);
SyncHandle();
@@ -325,20 +327,20 @@ static XEXT_GENERATE_CLOSE_DISPLAY (close_display, xf86dri_info)
return True;
}
- Bool uniDRICreateContextWithConfig(dpy, screen, configID, context,
- hHWContext)
- Display* dpy;
+Bool
+uniDRICreateContextWithConfig(dpy, screen, configID, context, hHWContext)
+ Display *dpy;
int screen;
int configID;
- XID* context;
- drm_context_t * hHWContext;
+ XID *context;
+ drm_context_t *hHWContext;
{
- XExtDisplayInfo *info = find_display (dpy);
+ XExtDisplayInfo *info = find_display(dpy);
xXF86DRICreateContextReply rep;
xXF86DRICreateContextReq *req;
TRACE("CreateContext...");
- uniDRICheckExtension (dpy, info, False);
+ uniDRICheckExtension(dpy, info, False);
LockDisplay(dpy);
GetReq(XF86DRICreateContext, req);
@@ -348,10 +350,10 @@ static XEXT_GENERATE_CLOSE_DISPLAY (close_display, xf86dri_info)
req->screen = screen;
*context = XAllocID(dpy);
req->context = *context;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
+ if (!_XReply(dpy, (xReply *) & rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
- TRACE("CreateContext... return False");
+ TRACE("CreateContext... return False");
return False;
}
*hHWContext = rep.hHWContext;
@@ -361,26 +363,27 @@ static XEXT_GENERATE_CLOSE_DISPLAY (close_display, xf86dri_info)
return True;
}
- Bool uniDRICreateContext(dpy, screen, visual, context, hHWContext)
- Display* dpy;
+Bool
+uniDRICreateContext(dpy, screen, visual, context, hHWContext)
+ Display *dpy;
int screen;
- Visual* visual;
- XID* context;
- drm_context_t * hHWContext;
+ Visual *visual;
+ XID *context;
+ drm_context_t *hHWContext;
{
- return uniDRICreateContextWithConfig( dpy, screen, visual->visualid,
- context, hHWContext );
+ return uniDRICreateContextWithConfig(dpy, screen, visual->visualid,
+ context, hHWContext);
}
- Bool uniDRIDestroyContext( Display * ndpy, int screen,
- XID context )
+Bool
+uniDRIDestroyContext(Display * ndpy, int screen, XID context)
{
- Display * const dpy = (Display *) ndpy;
- XExtDisplayInfo *info = find_display (dpy);
+ Display *const dpy = (Display *) ndpy;
+ XExtDisplayInfo *info = find_display(dpy);
xXF86DRIDestroyContextReq *req;
TRACE("DestroyContext...");
- uniDRICheckExtension (dpy, info, False);
+ uniDRICheckExtension(dpy, info, False);
LockDisplay(dpy);
GetReq(XF86DRIDestroyContext, req);
@@ -394,16 +397,17 @@ static XEXT_GENERATE_CLOSE_DISPLAY (close_display, xf86dri_info)
return True;
}
-Bool uniDRICreateDrawable( Display * ndpy, int screen,
- Drawable drawable, drm_drawable_t * hHWDrawable )
+Bool
+uniDRICreateDrawable(Display * ndpy, int screen,
+ Drawable drawable, drm_drawable_t * hHWDrawable)
{
- Display * const dpy = (Display *) ndpy;
- XExtDisplayInfo *info = find_display (dpy);
+ Display *const dpy = (Display *) ndpy;
+ XExtDisplayInfo *info = find_display(dpy);
xXF86DRICreateDrawableReply rep;
xXF86DRICreateDrawableReq *req;
TRACE("CreateDrawable...");
- uniDRICheckExtension (dpy, info, False);
+ uniDRICheckExtension(dpy, info, False);
LockDisplay(dpy);
GetReq(XF86DRICreateDrawable, req);
@@ -411,10 +415,10 @@ Bool uniDRICreateDrawable( Display * ndpy, int screen,
req->driReqType = X_XF86DRICreateDrawable;
req->screen = screen;
req->drawable = drawable;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
+ if (!_XReply(dpy, (xReply *) & rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
- TRACE("CreateDrawable... return False");
+ TRACE("CreateDrawable... return False");
return False;
}
*hHWDrawable = rep.hHWDrawable;
@@ -424,15 +428,15 @@ Bool uniDRICreateDrawable( Display * ndpy, int screen,
return True;
}
-Bool uniDRIDestroyDrawable( Display * ndpy, int screen,
- Drawable drawable )
+Bool
+uniDRIDestroyDrawable(Display * ndpy, int screen, Drawable drawable)
{
- Display * const dpy = (Display *) ndpy;
- XExtDisplayInfo *info = find_display (dpy);
+ Display *const dpy = (Display *) ndpy;
+ XExtDisplayInfo *info = find_display(dpy);
xXF86DRIDestroyDrawableReq *req;
TRACE("DestroyDrawable...");
- uniDRICheckExtension (dpy, info, False);
+ uniDRICheckExtension(dpy, info, False);
LockDisplay(dpy);
GetReq(XF86DRIDestroyDrawable, req);
@@ -446,20 +450,21 @@ Bool uniDRIDestroyDrawable( Display * ndpy, int screen,
return True;
}
- Bool uniDRIGetDrawableInfo(Display* dpy, int screen, Drawable drawable,
- unsigned int* index, unsigned int* stamp,
- int* X, int* Y, int* W, int* H,
- int* numClipRects, drm_clip_rect_t ** pClipRects,
- int* backX, int* backY,
- int* numBackClipRects, drm_clip_rect_t ** pBackClipRects )
+Bool
+uniDRIGetDrawableInfo(Display * dpy, int screen, Drawable drawable,
+ unsigned int *index, unsigned int *stamp,
+ int *X, int *Y, int *W, int *H,
+ int *numClipRects, drm_clip_rect_t ** pClipRects,
+ int *backX, int *backY,
+ int *numBackClipRects, drm_clip_rect_t ** pBackClipRects)
{
- XExtDisplayInfo *info = find_display (dpy);
+ XExtDisplayInfo *info = find_display(dpy);
xXF86DRIGetDrawableInfoReply rep;
xXF86DRIGetDrawableInfoReq *req;
int total_rects;
TRACE("GetDrawableInfo...");
- uniDRICheckExtension (dpy, info, False);
+ uniDRICheckExtension(dpy, info, False);
LockDisplay(dpy);
GetReq(XF86DRIGetDrawableInfo, req);
@@ -468,11 +473,10 @@ Bool uniDRIDestroyDrawable( Display * ndpy, int screen,
req->screen = screen;
req->drawable = drawable;
- if (!_XReply(dpy, (xReply *)&rep, 1, xFalse))
- {
+ if (!_XReply(dpy, (xReply *) & rep, 1, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
- TRACE("GetDrawableInfo... return False");
+ TRACE("GetDrawableInfo... return False");
return False;
}
*index = rep.drawableTableIndex;
@@ -494,35 +498,36 @@ Bool uniDRIDestroyDrawable( Display * ndpy, int screen,
* backwards compatibility (Because of the >> 2 shift) but the fix
* enables multi-threaded apps to work.
*/
- if (rep.length != ((((SIZEOF(xXF86DRIGetDrawableInfoReply) -
- SIZEOF(xGenericReply) +
- total_rects * sizeof(drm_clip_rect_t)) + 3) & ~3) >> 2)) {
- _XEatData(dpy, rep.length);
+ if (rep.length != ((((SIZEOF(xXF86DRIGetDrawableInfoReply) -
+ SIZEOF(xGenericReply) +
+ total_rects * sizeof(drm_clip_rect_t)) +
+ 3) & ~3) >> 2)) {
+ _XEatData(dpy, rep.length);
UnlockDisplay(dpy);
SyncHandle();
- TRACE("GetDrawableInfo... return False");
- return False;
+ TRACE("GetDrawableInfo... return False");
+ return False;
}
#endif
if (*numClipRects) {
- int len = sizeof(drm_clip_rect_t) * (*numClipRects);
+ int len = sizeof(drm_clip_rect_t) * (*numClipRects);
- *pClipRects = (drm_clip_rect_t *)Xcalloc(len, 1);
- if (*pClipRects)
- _XRead(dpy, (char*)*pClipRects, len);
+ *pClipRects = (drm_clip_rect_t *) Xcalloc(len, 1);
+ if (*pClipRects)
+ _XRead(dpy, (char *)*pClipRects, len);
} else {
- *pClipRects = NULL;
+ *pClipRects = NULL;
}
if (*numBackClipRects) {
- int len = sizeof(drm_clip_rect_t) * (*numBackClipRects);
+ int len = sizeof(drm_clip_rect_t) * (*numBackClipRects);
- *pBackClipRects = (drm_clip_rect_t *)Xcalloc(len, 1);
- if (*pBackClipRects)
- _XRead(dpy, (char*)*pBackClipRects, len);
+ *pBackClipRects = (drm_clip_rect_t *) Xcalloc(len, 1);
+ if (*pBackClipRects)
+ _XRead(dpy, (char *)*pBackClipRects, len);
} else {
- *pBackClipRects = NULL;
+ *pBackClipRects = NULL;
}
UnlockDisplay(dpy);
@@ -531,39 +536,42 @@ Bool uniDRIDestroyDrawable( Display * ndpy, int screen,
return True;
}
- Bool uniDRIGetDeviceInfo(dpy, screen, hFrameBuffer,
- fbOrigin, fbSize, fbStride, devPrivateSize, pDevPrivate)
- Display* dpy;
+Bool
+uniDRIGetDeviceInfo(dpy, screen, hFrameBuffer,
+ fbOrigin, fbSize, fbStride, devPrivateSize, pDevPrivate)
+ Display *dpy;
int screen;
- drm_handle_t * hFrameBuffer;
- int* fbOrigin;
- int* fbSize;
- int* fbStride;
- int* devPrivateSize;
- void** pDevPrivate;
+ drm_handle_t *hFrameBuffer;
+ int *fbOrigin;
+ int *fbSize;
+ int *fbStride;
+ int *devPrivateSize;
+ void **pDevPrivate;
{
- XExtDisplayInfo *info = find_display (dpy);
+ XExtDisplayInfo *info = find_display(dpy);
xXF86DRIGetDeviceInfoReply rep;
xXF86DRIGetDeviceInfoReq *req;
TRACE("GetDeviceInfo...");
- uniDRICheckExtension (dpy, info, False);
+ uniDRICheckExtension(dpy, info, False);
LockDisplay(dpy);
GetReq(XF86DRIGetDeviceInfo, req);
req->reqType = info->codes->major_opcode;
req->driReqType = X_XF86DRIGetDeviceInfo;
req->screen = screen;
- if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
+ if (!_XReply(dpy, (xReply *) & rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
- TRACE("GetDeviceInfo... return False");
+ TRACE("GetDeviceInfo... return False");
return False;
}
*hFrameBuffer = rep.hFrameBufferLow;
#ifdef LONG64
- *hFrameBuffer |= ((drm_handle_t)rep.hFrameBufferHigh) << 32;
+ if (sizeof(drm_handle_t) == 8) {
+ *hFrameBuffer |= ((unsigned long)rep.hFrameBufferHigh) << 32;
+ }
#endif
*fbOrigin = rep.framebufferOrigin;
@@ -572,16 +580,16 @@ Bool uniDRIDestroyDrawable( Display * ndpy, int screen,
*devPrivateSize = rep.devPrivateSize;
if (rep.length) {
- if (!(*pDevPrivate = (void *)Xcalloc(rep.devPrivateSize, 1))) {
- _XEatData(dpy, ((rep.devPrivateSize+3) & ~3));
- UnlockDisplay(dpy);
- SyncHandle();
- TRACE("GetDeviceInfo... return False");
- return False;
- }
- _XRead(dpy, (char*)*pDevPrivate, rep.devPrivateSize);
+ if (!(*pDevPrivate = (void *)Xcalloc(rep.devPrivateSize, 1))) {
+ _XEatData(dpy, ((rep.devPrivateSize + 3) & ~3));
+ UnlockDisplay(dpy);
+ SyncHandle();
+ TRACE("GetDeviceInfo... return False");
+ return False;
+ }
+ _XRead(dpy, (char *)*pDevPrivate, rep.devPrivateSize);
} else {
- *pDevPrivate = NULL;
+ *pDevPrivate = NULL;
}
UnlockDisplay(dpy);
@@ -589,4 +597,3 @@ Bool uniDRIDestroyDrawable( Display * ndpy, int screen,
TRACE("GetDeviceInfo... return True");
return True;
}
-