6866668 glxdri2.c should be built so DRI2 drivers can load
authorNiveditha Rau <Niveditha.Rau@Sun.COM>
Mon, 03 Aug 2009 09:47:05 -0700
changeset 760 7c47c7633a24
parent 759 d8cce37cfa08
child 761 9a43833314f0
6866668 glxdri2.c should be built so DRI2 drivers can load
open-src/lib/mesa/6866668.patch
open-src/lib/mesa/Makefile
open-src/xserver/Makefile.inc
open-src/xserver/xorg/6866668.patch
open-src/xserver/xorg/patch-list
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/mesa/6866668.patch	Mon Aug 03 09:47:05 2009 -0700
@@ -0,0 +1,70 @@
+--- src/mesa/drivers/dri/intel/intel_batchbuffer.h	Mon Jul  6 09:16:30 2009
++++ src/mesa/drivers/dri/intel/intel_batchbuffer.h	Mon Jul  6 09:17:54 2009
+@@ -8,7 +8,8 @@
+ #include "intel_reg.h"
+ 
+ #define BATCH_SZ 16384
+-#define BATCH_RESERVED 16
++#define BATCH_RESERVED16 16
++#define BATCH_RESERVED4k 4096
+ 
+ enum cliprect_mode {
+    /**
+@@ -104,7 +105,10 @@
+ static INLINE GLint
+ intel_batchbuffer_space(struct intel_batchbuffer *batch)
+ {
+-   return (batch->size - BATCH_RESERVED) - (batch->ptr - batch->map);
++    if (batch->intel->intelScreen->deviceID == PCI_CHIP_I865_G)
++	return (batch->size - BATCH_RESERVED16) - (batch->ptr - batch->map);
++    else
++	return (batch->size - BATCH_RESERVED4k) - (batch->ptr - batch->map);
+ }
+ 
+ 
+--- src/glx/x11/glxcurrent.c	Tue Jul 28 12:58:24 2009
++++ src/glx/x11/glxcurrent.c	Tue Jul 28 13:01:07 2009
+@@ -412,7 +412,8 @@
+ 
+ #ifdef GLX_DIRECT_RENDERING
+    if ((dpy != oldGC->currentDpy || (gc && gc->driContext)) &&
+-       !oldGC->isDirect && oldGC != &dummyContext) {
++      !oldGC->isDirect && oldGC != &dummyContext &&
++      oldGC->xid != None) {
+ #else
+    if ((dpy != oldGC->currentDpy) && oldGC != &dummyContext) {
+ #endif
+
+--- include/GL/internal/dri_interface.h	Wed Jul 29 10:00:29 2009
++++ include/GL/internal/dri_interface.h	Wed Jul 29 10:01:03 2009
+@@ -657,6 +657,30 @@
+      *                       into __DRIdri2ExtensionRec::createNewDrawable
+      */
+     void (*flushFrontBuffer)(__DRIdrawable *driDrawable, void *loaderPrivate);
++
++    /**
++     * Get list of buffers from the server
++     *
++     * Gets a list of buffer for the specified set of attachments.  Unlike
++     * \c ::getBuffers, this function takes a list of attachments paired with
++     * opaque \c unsigned \c int value describing the format of the buffer.
++     * It is the responsibility of the caller to know what the service that
++     * allocates the buffers will expect to receive for the format.
++     *
++     * \param driDrawable    Drawable whose buffers are being queried.
++     * \param width          Output where the width of the buffers is stored.
++     * \param height         Output where the height of the buffers is stored.
++     * \param attachments    List of pairs of attachment ID and opaque format
++     *                       requested for the drawable.
++     * \param count          Number of attachment / format pairs stored in
++     *                       \c attachments.
++     * \param loaderPrivate  Loader's private data that was previously passed
++     *                       into __DRIdri2ExtensionRec::createNewDrawable.
++     */
++    __DRIbuffer *(*getBuffersWithFormat)(__DRIdrawable *driDrawable,
++                                         int *width, int *height,
++                                         unsigned int *attachments, int count,
++                                         int *out_count, void *loaderPrivate);
+ };
+ 
+ /**
--- a/open-src/lib/mesa/Makefile	Thu Jul 30 11:43:02 2009 -0700
+++ b/open-src/lib/mesa/Makefile	Mon Aug 03 09:47:05 2009 -0700
@@ -28,7 +28,7 @@
 # or other dealings in this Software without prior written authorization
 # of the copyright holder.
 #
-# @(#)Makefile	1.23	09/07/17
+# @(#)Makefile	1.24	09/07/30
 #
 
 # Package name used in tarballs
@@ -56,7 +56,7 @@
 SOURCE_PATCHES= \
 	install-pc-dir.patch,-p1 \
 	glu-no-mangled-exports.patch \
-	solaris-port.patch
+	solaris-port.patch 6866668.patch
 
 # File created by running configure script
 AUTOCONF_TARGET=$(SOURCE_DIR)/configs/autoconf
--- a/open-src/xserver/Makefile.inc	Thu Jul 30 11:43:02 2009 -0700
+++ b/open-src/xserver/Makefile.inc	Mon Aug 03 09:47:05 2009 -0700
@@ -28,7 +28,7 @@
 # or other dealings in this Software without prior written authorization
 # of the copyright holder.
 #
-# @(#)Makefile.inc	1.14	09/07/14
+# @(#)Makefile.inc	1.15	09/07/30
 #
 
 PWD:sh=pwd
@@ -46,7 +46,7 @@
 XORG_SOURCE_PATCHES:sh=cat -s ../xorg/patch-list ../xorg/closed-src/patch-list | sed '/^\#/ d'
 
 XSERVER_FONTDIR=$(X11_DIR)/lib/X11/fonts
-MESA_SRC_DIR=$(TOP)/lib/mesa/$(BUILD_DIR)/Mesa-7.4.2
+MESA_SRC_DIR=$(TOP)/lib/mesa/$(BUILD_DIR)/Mesa-7.4.4
 
 SERVER_MODULES_DIR='$(X11_SERVERMODS_DIR)$(SERVERMOD_subdir)'
 DRI_MODULES_DIR='$(X11_SERVERMODS_DIR)/dri$(SERVERMOD_subdir)'
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/xserver/xorg/6866668.patch	Mon Aug 03 09:47:05 2009 -0700
@@ -0,0 +1,11 @@
+--- configure.ac	Tue Jul 28 14:52:31 2009
++++ configure.ac	Tue Jul 28 14:52:45 2009
+@@ -908,7 +908,7 @@
+ 
+ if test "x$DRI2" = xyes; then
+ 	save_CFLAGS=$CFLAGS
+-	CFLAGS="$GL_CFLAGS $LIBDRM_CFLAGS -Wall"
++	CFLAGS="$GL_CFLAGS $LIBDRM_CFLAGS"
+ 	AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <GL/gl.h>
+ #include <GL/internal/dri_interface.h>
+ #ifndef __DRI_DRI2
--- a/open-src/xserver/xorg/patch-list	Thu Jul 30 11:43:02 2009 -0700
+++ b/open-src/xserver/xorg/patch-list	Mon Aug 03 09:47:05 2009 -0700
@@ -37,3 +37,4 @@
 xpstubs.patch
 dixmods-deps.patch
 sparc-initvisuals.patch
+6866668.patch