# HG changeset patch # User Daniel Zhu # Date 1184286630 25200 # Node ID 722ed220347e951fca73343f3524a6ee3c8dab29 # Parent b0fbde156bb3c8f62f291e20d2ec6ed1842f55f3 6569508 Mesa 3D driver for Intel 965 6577118 Xorg drops its gid from 0 to login user's gid 6577124 Xorg gets killed when a non-root user runs 3D apps 6579084 Increasing multi-texture upper limit in Mesa diff -r b0fbde156bb3 -r 722ed220347e open-src/lib/mesa/Makefile --- a/open-src/lib/mesa/Makefile Thu Jul 12 11:14:27 2007 -0700 +++ b/open-src/lib/mesa/Makefile Thu Jul 12 17:30:30 2007 -0700 @@ -28,7 +28,7 @@ # or other dealings in this Software without prior written authorization # of the copyright holder. # -# @(#)Makefile 1.8 07/06/01 +# @(#)Makefile 1.9 07/07/11 # PWD:sh=pwd @@ -53,9 +53,11 @@ solaris-paths.patch \ mklib.patch \ solaris-dri-port.patch \ - glext.h.patch \ - 6538497.patch \ - 6559710.patch + glext.h.patch \ + 6538497.patch \ + 6559710.patch \ + mesa965.patch \ + maxtexunit.patch # Directory created by unpacking source SOURCE_DIR=$(BUILD_DIR)/Mesa-$(MESA_VERS) diff -r b0fbde156bb3 -r 722ed220347e open-src/lib/mesa/maxtexunit.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/open-src/lib/mesa/maxtexunit.patch Thu Jul 12 17:30:30 2007 -0700 @@ -0,0 +1,16 @@ +--- src/mesa/main/texenvprogram.c Fri Nov 17 05:31:59 2006 ++++ src/mesa/main/texenvprogram.c Tue Jun 26 10:09:24 2007 +@@ -34,10 +34,10 @@ + #include "shader/program_instruction.h" + + /** +- * According to Glean's texCombine test, no more than 21 instructions +- * are needed. Allow a few extra just in case. ++ * Intel 965 allows maximum 8 textures, so 24 instructions are needed now. ++ * Allow a few extra just in case. + */ +-#define MAX_INSTRUCTIONS 24 ++#define MAX_INSTRUCTIONS 27 + + #define DISASSEM (MESA_VERBOSE & VERBOSE_DISASSEM) + diff -r b0fbde156bb3 -r 722ed220347e open-src/lib/mesa/mesa965.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/open-src/lib/mesa/mesa965.patch Thu Jul 12 17:30:30 2007 -0700 @@ -0,0 +1,83 @@ +--- src/mesa/drivers/dri/i965/server/i830_common.h Fri Sep 29 00:42:14 2006 ++++ src/mesa/drivers/dri/i965/server/i830_common.h Wed Apr 4 09:59:55 2007 +@@ -89,6 +89,7 @@ + int pf_current_page; /* which buffer is being displayed? */ + int perf_boxes; /* performance boxes to be displayed */ + int width, height; /* screen size in pixels */ ++ int pad0; + + drm_handle_t front_handle; + int front_offset; + +--- src/mesa/drivers/dri/i965/server/i830_dri.h Wed Jun 13 14:55:59 2007 ++++ src/mesa/drivers/dri/i965/server/i830_dri.h Wed Jun 13 14:55:09 2007 +@@ -19,19 +19,23 @@ + drmSize regsSize; + + drmSize unused1; /* backbufferSize */ ++ drmSize pad0; + drm_handle_t unused2; /* backbuffer */ + + drmSize unused3; /* depthbufferSize */ + drm_handle_t unused4; /* depthbuffer */ + +- drmSize unused5; /* rotatedSize /*/ ++ drmSize unused5; /* rotatedSize */ ++ drmSize pad1; + drm_handle_t unused6; /* rotatedbuffer */ + + drm_handle_t unused7; /* textures */ + int unused8; /* textureSize */ ++ drmSize pad2; + + drm_handle_t unused9; /* agp_buffers */ + drmSize unused10; /* agp_buf_size */ ++ drmSize pad3; + + int deviceID; + int width; +--- src/mesa/drivers/dri/i965/brw_draw_upload.c 2006-11-21 23:03:46.000000000 +0800 ++++ src/mesa/drivers/dri/i965/brw_draw_upload.c 2007-06-20 16:24:44.984501652 +0800 +@@ -26,6 +26,7 @@ + **************************************************************************/ + + #include ++#include + + #include "glheader.h" + #include "context.h" +@@ -187,6 +188,23 @@ + BRW_SURFACEFORMAT_R8G8B8A8_SSCALED + }; + ++#if defined (sun) ++/* Solaris does not have ffsll in libc */ ++#define NBITS_INT (CHAR_BIT * sizeof (int)) ++static int ffsll(long long i) ++{ ++ int i1; ++ int ret; ++ ++ i1 = i & UINT_MAX; ++ ret = ffs(i1); ++ if (ret == 0) { ++ i1 = (i & 0xffffffff00000000) >> NBITS_INT; ++ ret = ffs(i1) + NBITS_INT; ++ } ++ return ret; ++} ++#endif + + static GLuint get_surface_type( GLenum type, GLuint size, GLboolean normalized ) + { +--- src/mesa/drivers/dri/i965/brw_aub.c Mon Jun 11 09:57:08 2007 ++++ src/mesa/drivers/dri/i965/brw_aub.c Mon Jun 11 09:57:23 2007 +@@ -34,7 +34,7 @@ + #include "intel_regions.h" + #include + +-extern char *__progname; ++char *__progname = "testaub"; + + + /* Registers to control page table diff -r b0fbde156bb3 -r 722ed220347e open-src/lib/mesa/sun-src/configs/solaris-x86-gcc-dri --- a/open-src/lib/mesa/sun-src/configs/solaris-x86-gcc-dri Thu Jul 12 11:14:27 2007 -0700 +++ b/open-src/lib/mesa/sun-src/configs/solaris-x86-gcc-dri Thu Jul 12 17:30:30 2007 -0700 @@ -14,7 +14,7 @@ X11_INCLUDES = -I /usr/X11/include DEFINES = -DUSE_XSHM -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \ - -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DGLX_INDIRECT_RENDERING + -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DGLX_INDIRECT_RENDERING -Dsun # -DGLX_USE_TLS CFLAGS = $(PASSED_CFLAGS) $(X11_INCLUDES) \ @@ -37,7 +37,7 @@ DRM_SOURCE_PATH=$(TOP)/../drm -DRI_DIRS = i915 +DRI_DIRS = i915 i965 #ASM_FLAGS = -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM #ASM_SOURCES = $(X86_SOURCES) diff -r b0fbde156bb3 -r 722ed220347e open-src/xserver/xorg/6577124.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/open-src/xserver/xorg/6577124.patch Thu Jul 12 17:30:30 2007 -0700 @@ -0,0 +1,28 @@ +--- GL/glx/glxdri.c Tue Jan 23 13:39:15 2007 ++++ GL/glx/glxdri.c Thu Jul 5 09:18:56 2007 +@@ -231,9 +231,12 @@ + { + __GLXDRIcontext *context = (__GLXDRIcontext *) baseContext; + +- context->driContext.destroyContext(NULL, +- context->base.pScreen->myNum, +- context->driContext.private); ++ ++ if (context->driContext.destroyContext != NULL) { ++ context->driContext.destroyContext(NULL, ++ context->base.pScreen->myNum, ++ context->driContext.private); ++ } + __glXContextDestroy(&context->base); + xfree(context); + } +@@ -243,6 +246,9 @@ + { + __GLXDRIcontext *context = (__GLXDRIcontext *) baseContext; + ++ if (context->driContext.bindContext == NULL) ++ return GL_FALSE; ++ + return (*context->driContext.bindContext)(NULL, + context->base.pScreen->myNum, + baseContext->drawPriv->drawId, diff -r b0fbde156bb3 -r 722ed220347e open-src/xserver/xorg/Makefile --- a/open-src/xserver/xorg/Makefile Thu Jul 12 11:14:27 2007 -0700 +++ b/open-src/xserver/xorg/Makefile Thu Jul 12 17:30:30 2007 -0700 @@ -30,7 +30,7 @@ # or other dealings in this Software without prior written authorization # of the copyright holder. # -# @(#)Makefile 1.48 07/07/12 +# @(#)Makefile 1.49 07/07/13 # PWD:sh=pwd @@ -101,7 +101,8 @@ signal-handler.patch \ kbd-driver.patch \ 6559710.patch \ - 6561019.patch + 6561019.patch \ + 6577124.patch # Directory created by unpacking source SOURCE_DIR=$(BUILD_DIR)/$(MODULE_NAME)-$(XORGSERVER_VERS) diff -r b0fbde156bb3 -r 722ed220347e open-src/xserver/xorg/sun-src/IA/interactive.c --- a/open-src/xserver/xorg/sun-src/IA/interactive.c Thu Jul 12 11:14:27 2007 -0700 +++ b/open-src/xserver/xorg/sun-src/IA/interactive.c Thu Jul 12 17:30:30 2007 -0700 @@ -27,7 +27,7 @@ * of the copyright holder. */ -#pragma ident "@(#)interactive.c 35.16 07/01/24 SMI" +#pragma ident "@(#)interactive.c 35.17 07/07/11 SMI" /************************************************************ Basic boilerplate extension. @@ -287,11 +287,11 @@ REQUEST(xIASetProcessInfoReq); register int length; - static uid_t ServerUid = -1; + static uid_t ServerUid = (uid_t)-1; REQUEST_AT_LEAST_SIZE(xIASetProcessInfoReq); - if (ServerUid < 0) + if (ServerUid == (uid_t)-1) ServerUid=getuid(); if ((stuff->flags & INTERACTIVE_INFO) && diff -r b0fbde156bb3 -r 722ed220347e packages/SUNWxorg-mesa/prototype --- a/packages/SUNWxorg-mesa/prototype Thu Jul 12 11:14:27 2007 -0700 +++ b/packages/SUNWxorg-mesa/prototype Thu Jul 12 17:30:30 2007 -0700 @@ -29,7 +29,7 @@ # ########################################################################## # -# ident "@(#)prototype 1.17 07/01/31 SMI" +# ident "@(#)prototype 1.18 07/07/11 SMI" # # Mesa - OpenGL Workalike for Solaris @@ -151,6 +151,7 @@ d none X11/lib/modules/dri 0755 root bin !search $HOME/lib/modules/dri f none X11/lib/modules/dri/i915_dri.so 0755 root bin +f none X11/lib/modules/dri/i965_dri.so 0755 root bin !search $HOME/lib/X11/xserver d none X11/lib/X11 0755 root bin d none X11/lib/X11/xserver 0755 root bin @@ -170,6 +171,7 @@ d none X11/lib/modules/dri/amd64 0755 root bin !search $HOME/lib/modules/dri/amd64 f none X11/lib/modules/dri/amd64/i915_dri.so 0755 root bin +f none X11/lib/modules/dri/amd64/i965_dri.so 0755 root bin !search $HOME/lib/X11/xserver/amd64 d none X11/lib/X11/xserver/amd64 0755 root bin f none X11/lib/X11/xserver/amd64/libdrm.so.2 0755 root bin