summaryrefslogtreecommitdiffstats
path: root/meta-emenlow/recipes-graphics/libva/libva-0.31.0/204_check_ATIFGLEXTENSION.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-emenlow/recipes-graphics/libva/libva-0.31.0/204_check_ATIFGLEXTENSION.patch')
-rw-r--r--meta-emenlow/recipes-graphics/libva/libva-0.31.0/204_check_ATIFGLEXTENSION.patch312
1 files changed, 0 insertions, 312 deletions
diff --git a/meta-emenlow/recipes-graphics/libva/libva-0.31.0/204_check_ATIFGLEXTENSION.patch b/meta-emenlow/recipes-graphics/libva/libva-0.31.0/204_check_ATIFGLEXTENSION.patch
deleted file mode 100644
index 02920a8944..0000000000
--- a/meta-emenlow/recipes-graphics/libva/libva-0.31.0/204_check_ATIFGLEXTENSION.patch
+++ /dev/null
@@ -1,312 +0,0 @@
-commit d91645f8b37aa43bafa76da3146dcdc9c17963ff
-Author: Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
-Date: Fri Nov 20 15:51:22 2009 +0000
-
- Fix detection of fglrx.
-
-diff --git a/src/x11/Makefile.am b/src/x11/Makefile.am
-index b6916f2..0b61c33 100644
---- a/src/x11/Makefile.am
-+++ b/src/x11/Makefile.am
-@@ -25,6 +25,23 @@ noinst_LTLIBRARIES = libva_x11.la
- libva_x11includedir = ${includedir}/va
- libva_x11include_HEADERS = va_x11.h va_dri.h va_dri2.h va_dricommon.h
-
--libva_x11_la_SOURCES = va_x11.c va_dri.c va_dri2.c va_dricommon.c dri2_util.c dri1_util.c va_nvctrl.c libdrm_glue.c
-+libva_x11_la_SOURCES = \
-+ dri1_util.c \
-+ dri2_util.c \
-+ libdrm_glue.c \
-+ va_dri.c \
-+ va_dri2.c \
-+ va_dricommon.c \
-+ va_fglext.c \
-+ va_nvctrl.c \
-+ va_x11.c \
-+ $(NULL)
-
--EXTRA_DIST = va_dristr.h va_dri2str.h va_dri2tokens.h va_nvctrl.h libdrm_glue.h
-+EXTRA_DIST = \
-+ libdrm_glue.h \
-+ va_dri2str.h \
-+ va_dri2tokens.h \
-+ va_dristr.h \
-+ va_fglext.h \
-+ va_nvctrl.h \
-+ $(NULL)
-diff --git a/src/x11/va_fglext.c b/src/x11/va_fglext.c
-new file mode 100644
-index 0000000..bc58e8b
---- /dev/null
-+++ b/src/x11/va_fglext.c
-@@ -0,0 +1,175 @@
-+/*
-+ * Copyright (C) 2009 Splitted-Desktop Systems. All Rights Reserved.
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the
-+ * "Software"), to deal in the Software without restriction, including
-+ * without limitation the rights to use, copy, modify, merge, publish,
-+ * distribute, sub license, and/or sell copies of the Software, and to
-+ * permit persons to whom the Software is furnished to do so, subject to
-+ * the following conditions:
-+ *
-+ * The above copyright notice and this permission notice (including the
-+ * next paragraph) shall be included in all copies or substantial portions
-+ * of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-+ * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
-+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-+ */
-+
-+#define _GNU_SOURCE 1
-+#include <string.h>
-+
-+#define NEED_REPLIES
-+#include <stdlib.h>
-+#include <X11/Xlibint.h>
-+#include <X11/Xutil.h>
-+#include <X11/extensions/Xext.h>
-+#include <X11/extensions/extutil.h>
-+#include "va_fglext.h"
-+
-+#define ATIFGL_EXTENSION_NAME "ATIFGLEXTENSION"
-+#define ATIFGL_EXTENSION_EVENTS 0
-+
-+typedef struct _FGLGetDriverData {
-+ CARD8 reqType;
-+ CARD8 fireglReqType;
-+ CARD16 length B16;
-+ CARD32 screen B32;
-+ CARD16 size B16;
-+ CARD16 pad1;
-+} xFGLGetDriverDataReq;
-+#define sz_xFGLGetDriverDataReq sizeof(xFGLGetDriverDataReq)
-+
-+typedef struct {
-+ BYTE type;
-+ BYTE pad1;
-+ CARD16 sequenceNumber B16;
-+ CARD32 length B32;
-+ CARD8 majorVersion;
-+ CARD8 minorVersion;
-+ CARD8 patchlevel B16;
-+ CARD8 BIOSVersionMajor;
-+ CARD8 BIOSVersionMinor;
-+ CARD8 HasSecondary;
-+ CARD16 pad3 B16;
-+ CARD32 pad4 B32;
-+ CARD32 pad5 B32;
-+ CARD32 pad6 B32;
-+ CARD32 pad7 B32;
-+ // ... there are more fields
-+} xFGLGetDriverDataReply;
-+#define sz_xFGLGetDriverDataReply sizeof(xFGLGetDriverDataReply)
-+
-+#define X_FGLGetDriverData 0
-+
-+static XExtensionInfo _fglext_ext_info_data;
-+static XExtensionInfo *fglext_ext_info = &_fglext_ext_info_data;
-+static /* const */ char *fglext_extension_name = ATIFGL_EXTENSION_NAME;
-+
-+#define xFGLCheckExtension(dpy,i,val) \
-+ XextCheckExtension (dpy, i, fglext_extension_name, val)
-+
-+static int close_display();
-+static /* const */ XExtensionHooks fglext_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 */
-+};
-+
-+static XEXT_GENERATE_FIND_DISPLAY (find_display, fglext_ext_info,
-+ fglext_extension_name,
-+ &fglext_extension_hooks,
-+ ATIFGL_EXTENSION_EVENTS, NULL)
-+
-+static XEXT_GENERATE_CLOSE_DISPLAY (close_display, fglext_ext_info)
-+
-+Bool VA_FGLEXTQueryDirectRenderingCapable( Display *dpy, int screen,
-+ Bool *isCapable )
-+{
-+ char **extensions;
-+ int i, n_extensions, has_fglext = 0, has_fglrxdri = 0;
-+
-+ if (isCapable)
-+ *isCapable = False;
-+
-+ extensions = XListExtensions(dpy, &n_extensions);
-+ if (!extensions)
-+ return False;
-+
-+ for (i = 0; i < n_extensions; i++) {
-+ if (strcmp(extensions[i], ATIFGL_EXTENSION_NAME) == 0)
-+ has_fglext = 1;
-+ if (strcmp(extensions[i], "ATIFGLRXDRI") == 0)
-+ has_fglrxdri = 1;
-+ }
-+ XFreeExtensionList(extensions);
-+
-+ if (!has_fglext)
-+ return False;
-+
-+ if (isCapable)
-+ *isCapable = has_fglrxdri;
-+
-+ return True;
-+}
-+
-+Bool VA_FGLEXTGetClientDriverName( Display *dpy, int screen,
-+ int *ddxDriverMajorVersion, int *ddxDriverMinorVersion,
-+ int *ddxDriverPatchVersion, char **clientDriverName )
-+{
-+ XExtDisplayInfo *info = find_display (dpy);
-+ xFGLGetDriverDataReply rep;
-+ xFGLGetDriverDataReq *req;
-+
-+ if (ddxDriverMajorVersion)
-+ *ddxDriverMajorVersion = 0;
-+ if (ddxDriverMinorVersion)
-+ *ddxDriverMinorVersion = 0;
-+ if (ddxDriverPatchVersion)
-+ *ddxDriverPatchVersion = 0;
-+ if (clientDriverName)
-+ *clientDriverName = NULL;
-+
-+ if(!XextHasExtension(info))
-+ return False;
-+
-+ xFGLCheckExtension (dpy, info, False);
-+
-+ LockDisplay (dpy);
-+ GetReq (FGLGetDriverData, req);
-+ req->reqType = info->codes->major_opcode;
-+ req->fireglReqType = X_FGLGetDriverData;
-+ req->screen = screen;
-+ if (!_XReply (dpy, (xReply *) &rep, 0, xTrue)) {
-+ UnlockDisplay (dpy);
-+ SyncHandle ();
-+ return False;
-+ }
-+ UnlockDisplay (dpy);
-+ SyncHandle ();
-+
-+ if (ddxDriverMajorVersion)
-+ *ddxDriverMajorVersion = rep.majorVersion;
-+ if (ddxDriverMinorVersion)
-+ *ddxDriverMinorVersion = rep.minorVersion;
-+ if (ddxDriverPatchVersion)
-+ *ddxDriverPatchVersion = rep.patchlevel;
-+ if (clientDriverName)
-+ *clientDriverName = strdup("fglrx");
-+
-+ return True;
-+}
-diff --git a/src/x11/va_fglext.h b/src/x11/va_fglext.h
-new file mode 100644
-index 0000000..f2d87c3
---- /dev/null
-+++ b/src/x11/va_fglext.h
-@@ -0,0 +1,37 @@
-+/*
-+ * Copyright (C) 2009 Splitted-Desktop Systems. All Rights Reserved.
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the
-+ * "Software"), to deal in the Software without restriction, including
-+ * without limitation the rights to use, copy, modify, merge, publish,
-+ * distribute, sub license, and/or sell copies of the Software, and to
-+ * permit persons to whom the Software is furnished to do so, subject to
-+ * the following conditions:
-+ *
-+ * The above copyright notice and this permission notice (including the
-+ * next paragraph) shall be included in all copies or substantial portions
-+ * of the Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-+ * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
-+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-+ */
-+
-+#ifndef VA_FGLEXTLIB_H
-+#define VA_FGLEXTLIB_H
-+
-+#include <X11/Xlib.h>
-+
-+Bool VA_FGLEXTQueryDirectRenderingCapable( Display *dpy, int screen,
-+ Bool *isCapable );
-+
-+Bool VA_FGLEXTGetClientDriverName( Display *dpy, int screen,
-+ int *ddxDriverMajorVersion, int *ddxDriverMinorVersion,
-+ int *ddxDriverPatchVersion, char **clientDriverName );
-+
-+#endif /* VA_FGLEXTLIB_H */
-diff --git a/src/x11/va_x11.c b/src/x11/va_x11.c
-index 414c261..0510e00 100644
---- a/src/x11/va_x11.c
-+++ b/src/x11/va_x11.c
-@@ -31,6 +31,7 @@
- #include "va_dri2.h"
- #include "va_dricommon.h"
- #include "va_nvctrl.h"
-+#include "va_fglext.h"
- #include "libdrm_glue.h"
- #include <stdio.h>
- #include <stdarg.h>
-@@ -132,6 +133,29 @@ static VAStatus va_NVCTRL_GetDriverName (
- return VA_STATUS_SUCCESS;
- }
-
-+static VAStatus va_FGLEXT_GetDriverName(
-+ VADisplayContextP pDisplayContext,
-+ char **driver_name
-+)
-+{
-+ VADriverContextP ctx = pDisplayContext->pDriverContext;
-+ int direct_capable, driver_major, driver_minor, driver_patch;
-+ Bool result;
-+
-+ result = VA_FGLEXTQueryDirectRenderingCapable(ctx->x11_dpy, ctx->x11_screen,
-+ &direct_capable);
-+ if (!result || !direct_capable)
-+ return VA_STATUS_ERROR_UNKNOWN;
-+
-+ result = VA_FGLEXTGetClientDriverName(ctx->x11_dpy, ctx->x11_screen,
-+ &driver_major, &driver_minor,
-+ &driver_patch, driver_name);
-+ if (!result)
-+ return VA_STATUS_ERROR_UNKNOWN;
-+
-+ return VA_STATUS_SUCCESS;
-+}
-+
- static VAStatus va_DisplayContextGetDriverName (
- VADisplayContextP pDisplayContext,
- char **driver_name
-@@ -156,7 +180,8 @@ static VAStatus va_DisplayContextGetDriverName (
- vaStatus = va_DRIGetDriverName(pDisplayContext, driver_name);
- if (vaStatus != VA_STATUS_SUCCESS)
- vaStatus = va_NVCTRL_GetDriverName(pDisplayContext, driver_name);
--
-+ if (vaStatus != VA_STATUS_SUCCESS)
-+ vaStatus = va_FGLEXT_GetDriverName(pDisplayContext, driver_name);
- return vaStatus;
- }
-