rpms/mesa/devel mesa-7.3-dri-drivers-master.patch, NONE, 1.1 mesa-7.1-nukeglthread-debug.patch, 1.1, 1.2 mesa.spec, 1.223, 1.224 radeon-rewrite.patch, 1.1, 1.2 radeon-dri2-fixes.patch, 1.1, NONE

Dave Airlie airlied at fedoraproject.org
Fri Feb 27 08:24:32 UTC 2009


Author: airlied

Update of /cvs/pkgs/rpms/mesa/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11928

Modified Files:
	mesa-7.1-nukeglthread-debug.patch mesa.spec 
	radeon-rewrite.patch 
Added Files:
	mesa-7.3-dri-drivers-master.patch 
Removed Files:
	radeon-dri2-fixes.patch 
Log Message:
* Fri Feb 27 2009 Dave Airlie <airlied at redhat.com> 7.3-8
- mesa-7.3-dri-drivers-master.patch - pull in DRI drivers from master


mesa-7.3-dri-drivers-master.patch:

--- NEW FILE mesa-7.3-dri-drivers-master.patch ---
diff --git a/src/mesa/drivers/dri/Makefile b/src/mesa/drivers/dri/Makefile
index 9e49fb1..32db097 100644
--- a/src/mesa/drivers/dri/Makefile
+++ b/src/mesa/drivers/dri/Makefile
@@ -6,7 +6,7 @@ include $(TOP)/configs/current
 
 
 
-default: $(TOP)/$(LIB_DIR) subdirs
+default: $(TOP)/$(LIB_DIR) subdirs
 
 
 $(TOP)/$(LIB_DIR):
diff --git a/src/mesa/drivers/dri/Makefile.template b/src/mesa/drivers/dri/Makefile.template
index 2dc3664..2fa36ba 100644
--- a/src/mesa/drivers/dri/Makefile.template
+++ b/src/mesa/drivers/dri/Makefile.template
@@ -69,6 +72,7 @@ $(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME)
 
 
 depend: $(C_SOURCES) $(ASM_SOURCES) $(SYMLINKS)
+	rm -f depend
 	touch depend
 	$(MKDEP) $(MKDEP_OPTIONS) $(DRIVER_DEFINES) $(INCLUDES) $(C_SOURCES) \
 		$(ASM_SOURCES)
diff --git a/src/mesa/drivers/dri/common/dri_util.h b/src/mesa/drivers/dri/common/dri_util.h
index c6781f1..c95a5c8 100644
--- a/src/mesa/drivers/dri/common/dri_util.h
+++ b/src/mesa/drivers/dri/common/dri_util.h
@@ -1,25 +1,3 @@
-/* $XFree86: xc/lib/GL/dri/dri_util.h,v 1.1 2002/02/22 21:32:52 dawes Exp $ */
-/**
- * \file dri_util.h
- * DRI utility functions definitions.
- *
- * This module acts as glue between GLX and the actual hardware driver.  A DRI
- * driver doesn't really \e have to use any of this - it's optional.  But, some
- * useful stuff is done here that otherwise would have to be duplicated in most
- * drivers.
- * 
- * Basically, these utility functions take care of some of the dirty details of
- * screen initialization, context creation, context binding, DRM setup, etc.
- *
- * These functions are compiled into each DRI driver so libGL.so knows nothing
- * about them.
- *
- * \sa dri_util.c.
- * 
- * \author Kevin E. Martin <kevin at precisioninsight.com>
- * \author Brian Paul <brian at precisioninsight.com>
- */
-
 /*
  * Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
  * All Rights Reserved.
@@ -45,6 +23,26 @@
  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
+/**
+ * \file dri_util.h
+ * DRI utility functions definitions.
+ *
+ * This module acts as glue between GLX and the actual hardware driver.  A DRI
+ * driver doesn't really \e have to use any of this - it's optional.  But, some
+ * useful stuff is done here that otherwise would have to be duplicated in most
+ * drivers.
+ * 
+ * Basically, these utility functions take care of some of the dirty details of
+ * screen initialization, context creation, context binding, DRM setup, etc.
+ *
+ * These functions are compiled into each DRI driver so libGL.so knows nothing
+ * about them.
+ *
+ * \sa dri_util.c.
+ * 
+ * \author Kevin E. Martin <kevin at precisioninsight.com>
+ * \author Brian Paul <brian at precisioninsight.com>
+ */
 
 #ifndef _DRI_UTIL_H_
 #define _DRI_UTIL_H_
diff --git a/src/mesa/drivers/dri/common/drirenderbuffer.c b/src/mesa/drivers/dri/common/drirenderbuffer.c
index b99bf20..15af991 100644
--- a/src/mesa/drivers/dri/common/drirenderbuffer.c
+++ b/src/mesa/drivers/dri/common/drirenderbuffer.c
@@ -209,6 +209,8 @@ driUpdateFramebufferSize(GLcontext *ctx, const __DRIdrawablePrivate *dPriv)
    struct gl_framebuffer *fb = (struct gl_framebuffer *) dPriv->driverPrivate;
    if (fb && (dPriv->w != fb->Width || dPriv->h != fb->Height)) {
       ctx->Driver.ResizeBuffers(ctx, fb, dPriv->w, dPriv->h);
+      /* if the driver needs the hw lock for ResizeBuffers, the drawable
+         might have changed again by now */
       assert(fb->Width == dPriv->w);
       assert(fb->Height == dPriv->h);
    }
diff --git a/src/mesa/drivers/dri/common/extension_helper.h b/src/mesa/drivers/dri/common/extension_helper.h
index b977ebf..0d641f2 100644
--- a/src/mesa/drivers/dri/common/extension_helper.h
+++ b/src/mesa/drivers/dri/common/extension_helper.h
@@ -119,9 +119,10 @@ static const char ActiveTextureARB_names[] =
     "";
 #endif
 
-#if defined(need_GL_EXT_framebuffer_blit)
+#if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_blit)
 static const char BlitFramebufferEXT_names[] = 
     "iiiiiiiiii\0" /* Parameter signature */
+    "glBlitFramebuffer\0"
     "glBlitFramebufferEXT\0"
     "";
 #endif
@@ -433,17 +434,18 @@ static const char Color4ubVertex3fvSUN_names[] =
     "";
 #endif
 
-#if defined(need_GL_EXT_texture_array)
+#if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_texture_array)
 static const char FramebufferTextureLayerEXT_names[] = 
     "iiiii\0" /* Parameter signature */
+    "glFramebufferTextureLayer\0"
     "glFramebufferTextureLayerEXT\0"
     "";
 #endif
 
 #if defined(need_GL_SGIX_list_priority)
-static const char GetListParameterivSGIX_names[] = 
+static const char GetListParameterfvSGIX_names[] = 
     "iip\0" /* Parameter signature */
-    "glGetListParameterivSGIX\0"
+    "glGetListParameterfvSGIX\0"
     "";
 #endif
 
@@ -777,6 +779,13 @@ static const char VertexAttribs4fvNV_names[] =
     "";
 #endif
 
+#if defined(need_GL_NV_vertex_array_range)
+static const char VertexArrayRangeNV_names[] = 
+    "ip\0" /* Parameter signature */
+    "glVertexArrayRangeNV\0"
+    "";
+#endif
+
 #if defined(need_GL_SGIX_fragment_lighting)
 static const char FragmentLightiSGIX_names[] = 
     "iii\0" /* Parameter signature */
@@ -946,9 +955,10 @@ static const char VertexAttribs3fvNV_names[] =
     "";
 #endif
 
-#if defined(need_GL_EXT_framebuffer_object)
+#if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object)
 static const char GenerateMipmapEXT_names[] = 
     "i\0" /* Parameter signature */
+    "glGenerateMipmap\0"
     "glGenerateMipmapEXT\0"
     "";
 #endif
@@ -1077,13 +1087,6 @@ static const char AreTexturesResident_names[] =
     "";
 #endif
 
-#if defined(need_GL_EXT_framebuffer_object)
-static const char IsRenderbufferEXT_names[] = 
-    "i\0" /* Parameter signature */
-    "glIsRenderbufferEXT\0"
-    "";
-#endif
-
 #if defined(need_GL_VERSION_2_0) || defined(need_GL_ATI_separate_stencil)
 static const char StencilOpSeparate_names[] = 
     "iiii\0" /* Parameter signature */
@@ -1171,9 +1174,10 @@ static const char TexCoord2fNormal3fVertex3fSUN_names[] =
     "";
 #endif
 
-#if defined(need_GL_EXT_framebuffer_object)
+#if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object)
 static const char RenderbufferStorageEXT_names[] = 
     "iiii\0" /* Parameter signature */
+    "glRenderbufferStorage\0"
     "glRenderbufferStorageEXT\0"
     "";
 #endif
@@ -1364,9 +1368,10 @@ static const char SpriteParameterfvSGIX_names[] =
     "";
 #endif
 
-#if defined(need_GL_EXT_framebuffer_object)
+#if defined(need_GL_ARB_framebuffer_object) || defined(need_GL_EXT_framebuffer_object)
 static const char CheckFramebufferStatusEXT_names[] = 
     "i\0" /* Parameter signature */
+    "glCheckFramebufferStatus\0"
     "glCheckFramebufferStatusEXT\0"
     "";
 #endif
@@ -1554,13 +1559,6 @@ static const char FragmentLightivSGIX_names[] =
     "";
[...12219 lines suppressed...]
 /* #define need_GL_NV_vertex_program */
 #include "extension_helper.h"
@@ -82,20 +77,16 @@
  */
 const struct dri_extension card_extensions[] =
 {
-    { "GL_ARB_multisample",                GL_ARB_multisample_functions },
     { "GL_ARB_occlusion_query",            GL_ARB_occlusion_query_functions },
     { "GL_ARB_texture_mirrored_repeat",    NULL },
-    { "GL_ARB_vertex_buffer_object",       GL_ARB_vertex_buffer_object_functions },
 
     { "GL_EXT_blend_func_separate",        GL_EXT_blend_func_separate_functions },
     { "GL_EXT_fog_coord",                  GL_EXT_fog_coord_functions },
-    { "GL_EXT_multi_draw_arrays",          GL_EXT_multi_draw_arrays_functions },
     { "GL_EXT_paletted_texture",           GL_EXT_paletted_texture_functions },
     { "GL_EXT_shared_texture_palette",     NULL },
     { "GL_EXT_stencil_wrap",               NULL },
     { "GL_EXT_texture_env_add",            NULL },
     { "GL_EXT_texture_lod_bias",           NULL },
-    { "GL_IBM_multimode_draw_arrays",      GL_IBM_multimode_draw_arrays_functions },
 
 #ifdef need_GL_ARB_point_parameters
     { "GL_ARB_point_parameters",           GL_ARB_point_parameters_functions },
@@ -122,7 +113,6 @@ const struct dri_extension card_extensions[] =
  */
 const struct dri_extension napalm_extensions[] =
 {
-    { "GL_ARB_texture_compression",        GL_ARB_texture_compression_functions },
     { "GL_ARB_texture_env_combine",        NULL },
     { "GL_EXT_blend_equation_separate",    GL_EXT_blend_equation_separate_functions },
     { "GL_EXT_blend_subtract",             GL_EXT_blend_minmax_functions },
@@ -319,6 +309,8 @@ GLboolean tdfxCreateContext( const __GLcontextModes *mesaVis,
    ctx->Const.MaxLineWidthAA = 1.0;
    ctx->Const.LineWidthGranularity = 1.0;
 
+   ctx->Const.MaxDrawBuffers = 1;
+
    /* Initialize the software rasterizer and helper modules.
     */
    _swrast_CreateContext( ctx );
diff --git a/src/mesa/drivers/dri/tdfx/tdfx_dd.c b/src/mesa/drivers/dri/tdfx/tdfx_dd.c
index 2cef079..8472df6 100644
--- a/src/mesa/drivers/dri/tdfx/tdfx_dd.c
+++ b/src/mesa/drivers/dri/tdfx/tdfx_dd.c
@@ -110,13 +110,13 @@ static const GLubyte *tdfxDDGetString( GLcontext *ctx, GLenum name )
 
 
 static void
-tdfxBeginQuery(GLcontext *ctx, GLenum target, struct gl_query_object *q)
+tdfxBeginQuery(GLcontext *ctx, struct gl_query_object *q)
 {
    tdfxContextPtr fxMesa = TDFX_CONTEXT(ctx);
 
    (void) q;
 
-   if (target == GL_SAMPLES_PASSED_ARB) {
+   if (q->Target == GL_SAMPLES_PASSED_ARB) {
       LOCK_HARDWARE(fxMesa);
       fxMesa->Glide.grFinish();
       fxMesa->Glide.grReset(GR_STATS_PIXELS);
@@ -126,14 +126,14 @@ tdfxBeginQuery(GLcontext *ctx, GLenum target, struct gl_query_object *q)
 
 
 static void
-tdfxEndQuery(GLcontext *ctx, GLenum target, struct gl_query_object *q)
+tdfxEndQuery(GLcontext *ctx, struct gl_query_object *q)
 {
    tdfxContextPtr fxMesa = TDFX_CONTEXT(ctx);
    FxI32 total_pixels;
    FxI32 z_fail_pixels;
 
 
-   if (target == GL_SAMPLES_PASSED_ARB) {
+   if (q->Target == GL_SAMPLES_PASSED_ARB) {
       LOCK_HARDWARE(fxMesa);
       fxMesa->Glide.grFinish();
 
diff --git a/src/mesa/drivers/dri/tdfx/tdfx_screen.c b/src/mesa/drivers/dri/tdfx/tdfx_screen.c
index cd22b84..5f2f5cf 100644
--- a/src/mesa/drivers/dri/tdfx/tdfx_screen.c
+++ b/src/mesa/drivers/dri/tdfx/tdfx_screen.c
@@ -361,6 +361,7 @@ tdfxFillInModes(__DRIscreenPrivate *psp,
 	static const GLenum db_modes[2] = { GLX_NONE, GLX_SWAP_UNDEFINED_OML };
 	uint8_t depth_bits_array[4];
 	uint8_t stencil_bits_array[4];
+        uint8_t msaa_samples_array[1];
 	if(deep) {
 		depth_bits_array[0] = 0;
 		depth_bits_array[1] = 24;
@@ -377,13 +378,17 @@ tdfxFillInModes(__DRIscreenPrivate *psp,
 		stencil_bits_array[3] = 8;
 	}
 
-	return driCreateConfigs(
-		deep ? GL_RGBA : GL_RGB,
-		deep ? GL_UNSIGNED_INT_8_8_8_8 : GL_UNSIGNED_SHORT_5_6_5,
-		depth_bits_array,
-		stencil_bits_array,
-		deep ? 2 : 4,
-		db_modes, 2);
+	msaa_samples_array[0] = 0;
+
+	return (const __DRIconfig **)
+	   driCreateConfigs(deep ? GL_RGBA : GL_RGB,
+			    deep ? GL_UNSIGNED_INT_8_8_8_8 :
+				   GL_UNSIGNED_SHORT_5_6_5,
+			    depth_bits_array,
+			    stencil_bits_array,
+			    deep ? 2 : 4,
+			    db_modes, 2,
+			    msaa_samples_array, 1);
 }
 
 /**
diff --git a/src/mesa/drivers/dri/trident/trident_context.c b/src/mesa/drivers/dri/trident/trident_context.c
index e134cfc..aefd8a2 100644
--- a/src/mesa/drivers/dri/trident/trident_context.c
+++ b/src/mesa/drivers/dri/trident/trident_context.c
@@ -128,6 +128,8 @@ tridentCreateContext( const __GLcontextModes *glVisual,
    ctx->Const.MaxPointSizeAA = 16.0; 
    ctx->Const.PointSizeGranularity = 0.25;
 
+   ctx->Const.MaxDrawBuffers = 1;
+
 #if 0
    tmesa->texHeap = mmInit( 0, tmesa->tridentScreen->textureSize );
 
diff --git a/src/mesa/drivers/dri/trident/trident_vb.c b/src/mesa/drivers/dri/trident/trident_vb.c
index b231f5e..055a914 100644
--- a/src/mesa/drivers/dri/trident/trident_vb.c
+++ b/src/mesa/drivers/dri/trident/trident_vb.c
@@ -402,7 +402,7 @@ void tridentInitVB( GLcontext *ctx )
    tridentContextPtr tmesa = TRIDENT_CONTEXT(ctx);
    GLuint size = TNL_CONTEXT(ctx)->vb.Size;
 
-   tmesa->verts = (char *)ALIGN_MALLOC( size * 16 * 4, 32 );
+   tmesa->verts = (GLubyte *)ALIGN_MALLOC( size * 16 * 4, 32 );
 
    {
       static int firsttime = 1;
diff --git a/src/mesa/drivers/dri/unichrome/via_context.c b/src/mesa/drivers/dri/unichrome/via_context.c
index f5bdb65..6eb19ac 100644
--- a/src/mesa/drivers/dri/unichrome/via_context.c
+++ b/src/mesa/drivers/dri/unichrome/via_context.c
@@ -62,9 +62,7 @@
 #include "main/macros.h"
 #include "drirenderbuffer.h"
 
-#define need_GL_ARB_multisample
 #define need_GL_ARB_point_parameters
-#define need_GL_ARB_vertex_buffer_object
 #define need_GL_EXT_fog_coord
 #define need_GL_EXT_secondary_color
 #include "extension_helper.h"
@@ -366,14 +364,12 @@ void viaReAllocateBuffers(GLcontext *ctx, GLframebuffer *drawbuffer,
  */
 const struct dri_extension card_extensions[] =
 {
-    { "GL_ARB_multisample",                GL_ARB_multisample_functions },
     { "GL_ARB_multitexture",               NULL },
     { "GL_ARB_point_parameters",           GL_ARB_point_parameters_functions },
     { "GL_ARB_texture_env_add",            NULL },
     { "GL_ARB_texture_env_combine",        NULL },
 /*    { "GL_ARB_texture_env_dot3",           NULL }, */
     { "GL_ARB_texture_mirrored_repeat",    NULL },
-    { "GL_ARB_vertex_buffer_object",       GL_ARB_vertex_buffer_object_functions },
     { "GL_EXT_fog_coord",                  GL_EXT_fog_coord_functions },
     { "GL_EXT_secondary_color",            GL_EXT_secondary_color_functions },
     { "GL_EXT_stencil_wrap",               NULL },
@@ -577,6 +573,8 @@ viaCreateContext(const __GLcontextModes *visual,
     ctx->Const.MaxPointSizeAA = 1.0;
     ctx->Const.PointSizeGranularity = 1.0;
 
+    ctx->Const.MaxDrawBuffers = 1;
+
     ctx->Driver.GetString = viaGetString;
 
     ctx->DriverCtx = (void *)vmesa;
diff --git a/src/mesa/drivers/dri/unichrome/via_screen.c b/src/mesa/drivers/dri/unichrome/via_screen.c
index 988f993..e9f5661 100644
--- a/src/mesa/drivers/dri/unichrome/via_screen.c
+++ b/src/mesa/drivers/dri/unichrome/via_screen.c
@@ -342,6 +342,7 @@ viaFillInModes( __DRIscreenPrivate *psp,
      */
     static const uint8_t depth_bits_array[4]   = { 0, 16, 24, 32 };
     static const uint8_t stencil_bits_array[4] = { 0,  0,  8,  0 };
+    uint8_t msaa_samples_array[1] = { 0 };
     const unsigned depth_buffer_factor = 3;
 
     if ( pixel_bits == 16 ) {
@@ -356,7 +357,8 @@ viaFillInModes( __DRIscreenPrivate *psp,
     configs = driCreateConfigs(fb_format, fb_type,
 			       depth_bits_array, stencil_bits_array,
 			       depth_buffer_factor, back_buffer_modes,
-			       back_buffer_factor);
+			       back_buffer_factor,
+                               msaa_samples_array, 1);
     if (configs == NULL) {
 	fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__,
 		__LINE__);

mesa-7.1-nukeglthread-debug.patch:

Index: mesa-7.1-nukeglthread-debug.patch
===================================================================
RCS file: /cvs/pkgs/rpms/mesa/devel/mesa-7.1-nukeglthread-debug.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mesa-7.1-nukeglthread-debug.patch	5 Sep 2008 05:48:02 -0000	1.1
+++ mesa-7.1-nukeglthread-debug.patch	27 Feb 2009 08:24:31 -0000	1.2
@@ -1,7 +1,8 @@
-diff -up Mesa-7.1/src/mesa/drivers/dri/intel/intel_fbo.c.intel-glthread Mesa-7.1/src/mesa/drivers/dri/intel/intel_fbo.c
---- Mesa-7.1/src/mesa/drivers/dri/intel/intel_fbo.c.intel-glthread	2008-08-25 10:49:40.000000000 -0400
-+++ Mesa-7.1/src/mesa/drivers/dri/intel/intel_fbo.c	2008-08-28 14:26:17.000000000 -0400
-@@ -633,11 +633,6 @@ intel_render_texture(GLcontext * ctx,
+diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c
+index 787c290..be81b65 100644
+--- a/src/mesa/drivers/dri/intel/intel_fbo.c
++++ b/src/mesa/drivers/dri/intel/intel_fbo.c
+@@ -573,11 +573,6 @@ intel_render_texture(GLcontext * ctx,
         return;
     }
  
@@ -13,12 +14,3 @@
     /* point the renderbufer's region to the texture image region */
     intel_image = intel_texture_image(newImage);
     if (irb->region != intel_image->mt->region) {
-@@ -674,8 +669,6 @@ intel_finish_render_texture(GLcontext * 
- {
-    struct intel_renderbuffer *irb = intel_renderbuffer(att->Renderbuffer);
- 
--   DBG("End render texture (tid %x) tex %u\n", _glthread_GetID(), att->Texture->Name);
--
-    if (irb) {
-       /* just release the region */
-       intel_region_release(&irb->region);


Index: mesa.spec
===================================================================
RCS file: /cvs/pkgs/rpms/mesa/devel/mesa.spec,v
retrieving revision 1.223
retrieving revision 1.224
diff -u -r1.223 -r1.224
--- mesa.spec	27 Feb 2009 04:26:19 -0000	1.223
+++ mesa.spec	27 Feb 2009 08:24:32 -0000	1.224
@@ -20,7 +20,7 @@
 Summary: Mesa graphics libraries
 Name: mesa
 Version: 7.3
-Release: 7%{?dist}
+Release: 8%{?dist}
 License: MIT
 Group: System Environment/Libraries
 URL: http://www.mesa3d.org
@@ -37,17 +37,16 @@
 Source5: http://www.x.org/pub/individual/app/%{xdriinfo}.tar.bz2
 
 Patch0: mesa-7.1-osmesa-version.patch
+Patch1: mesa-7.3-dri-drivers-master.patch
 Patch2: mesa-7.1-nukeglthread-debug.patch
 Patch3: mesa-no-mach64.patch
 
 Patch5: radeon-rewrite.patch
-Patch6: radeon-dri2-fixes.patch
 
 Patch7: mesa-7.1-link-shared.patch
 Patch9: intel-revert-vbl.patch
 
 Patch12: mesa-7.1-disable-intel-classic-warn.patch
-Patch13: mesa-7.3-965-texture-size.patch
 
 BuildRequires: pkgconfig autoconf automake
 %if %{with_dri}
@@ -169,14 +168,13 @@
 %setup -q -n Mesa-%{version}%{?snapshot} -b0 -b1 -b2 -b5
 #%setup -q -n mesa-%{gitdate} -b2 -b5
 %patch0 -p1 -b .osmesa
+%patch1 -p1 -b .mesa-dri-master
 %patch2 -p1 -b .intel-glthread
 %patch3 -p0 -b .no-mach64
 %patch5 -p1 -b .radeon-rewrite
-%patch6 -p1 -b .radeon-dri2
 %patch7 -p1 -b .dricore
 %patch9 -p1 -b .intel-vbl
 %patch12 -p1 -b .intel-nowarn
-%patch13 -p1 -b .965-texture
 
 # Hack the demos to use installed data files
 sed -i 's,../images,%{_libdir}/mesa-demos-data,' progs/demos/*.c
@@ -425,6 +423,9 @@
 %{_libdir}/mesa-demos-data
 
 %changelog
+* Fri Feb 27 2009 Dave Airlie <airlied at redhat.com> 7.3-8
+- mesa-7.3-dri-drivers-master.patch - pull in DRI drivers from master
+
 * Fri Feb 27 2009 Dave Airlie <airlied at redhat.com> 7.3-7
 - radeon-dri2-fixes.patch: add some fixes to radeon code
 

radeon-rewrite.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.1 -r 1.2 radeon-rewrite.patch
Index: radeon-rewrite.patch
===================================================================
RCS file: /cvs/pkgs/rpms/mesa/devel/radeon-rewrite.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- radeon-rewrite.patch	23 Feb 2009 04:59:49 -0000	1.1
+++ radeon-rewrite.patch	27 Feb 2009 08:24:32 -0000	1.2
@@ -1,5 +1,5 @@
 diff --git a/configs/autoconf.in b/configs/autoconf.in
-index b352974..d786029 100644
+index e034431..98e39bb 100644
 --- a/configs/autoconf.in
 +++ b/configs/autoconf.in
 @@ -20,6 +20,8 @@ CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ \
@@ -12,10 +12,20 @@
  # Assembler
  MESA_ASM_SOURCES = @MESA_ASM_SOURCES@
 diff --git a/configure.ac b/configure.ac
-index a9a8d5a..ea2992d 100644
+index 2f3f0be..3554982 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -573,6 +575,13 @@ dri)
+@@ -410,6 +410,9 @@ AC_SUBST([GLU_DIRS])
+ AC_SUBST([DRIVER_DIRS])
+ AC_SUBST([WINDOW_SYSTEM])
+ 
++AC_SUBST([RADEON_CFLAGS])
++AC_SUBST([RADEON_LDFLAGS])
++
+ dnl
+ dnl User supplied program configuration
+ dnl
+@@ -583,6 +585,13 @@ dri)
      GL_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED dri2proto >= $DRI2PROTO_REQUIRED"
      DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
  
@@ -29,15 +39,6 @@
      # find the DRI deps for libGL
      if test "$x11_pkgconfig" = yes; then
          # add xcb modules if necessary
-@@ -578,6 +585,8 @@ AC_SUBST([GL_PC_REQ_PRIV])
- AC_SUBST([GL_PC_LIB_PRIV])
- AC_SUBST([GL_PC_CFLAGS])
- AC_SUBST([DRI_PC_REQ_PRIV])
-+AC_SUBST([RADEON_CFLAGS])
-+AC_SUBST([RADEON_LDFLAGS])
- 
- dnl
- dnl More X11 setup
 diff --git a/src/mesa/drivers/dri/r200/Makefile b/src/mesa/drivers/dri/r200/Makefile
 index e9144ac..e593ed9 100644
 --- a/src/mesa/drivers/dri/r200/Makefile
@@ -738,17 +739,23 @@
 index c067515..a744469 100644
 --- a/src/mesa/drivers/dri/r200/r200_context.c
 +++ b/src/mesa/drivers/dri/r200/r200_context.c
-@@ -52,9 +52,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DE
- #include "drivers/common/driverfuncs.h"
- 
+@@ -54,7 +54,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  #include "r200_context.h"
-+#include "radeon_span.h"
  #include "r200_ioctl.h"
  #include "r200_state.h"
 -#include "r200_span.h"
  #include "r200_pixel.h"
  #include "r200_tex.h"
  #include "r200_swtcl.h"
+@@ -62,6 +61,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #include "r200_maos.h"
+ #include "r200_vertprog.h"
+ 
++#include "radeon_span.h"
++
+ #define need_GL_ARB_vertex_program
+ #define need_GL_ATI_fragment_shader
+ #define need_GL_EXT_blend_minmax
 @@ -78,9 +79,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  #include "vblank.h"
  #include "utils.h"
@@ -4955,7 +4962,7 @@
  
  extern void r200LightingSpaceChange( GLcontext *ctx );
 diff --git a/src/mesa/drivers/dri/r200/r200_state_init.c b/src/mesa/drivers/dri/r200/r200_state_init.c
-index 9e4677e..013064d 100644
+index 9e4677e..b40690e 100644
 --- a/src/mesa/drivers/dri/r200/r200_state_init.c
 +++ b/src/mesa/drivers/dri/r200/r200_state_init.c
 @@ -43,6 +43,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -5120,7 +5127,7 @@
     return h.i;
  }
  
-@@ -127,71 +243,353 @@ static int cmdscl2( int offset, int stride, int count )
+@@ -127,96 +243,388 @@ static int cmdscl2( int offset, int stride, int count )
  }
  
  #define CHECK( NM, FLAG )				\
@@ -5247,6 +5254,7 @@
 +   BATCH_LOCALS(&r200->radeon);
 +   uint32_t dwords = atom->cmd_size;
 +
++   dwords += 6;
 +   BEGIN_BATCH_NO_AUTOSTATE(dwords);
 +   OUT_VEC(atom->cmd[MTL_CMD_0], (atom->cmd+1));
 +   OUT_SCL2(atom->cmd[MTL_CMD_1], (atom->cmd + 18));
@@ -5259,6 +5267,7 @@
 +   BATCH_LOCALS(&r200->radeon);
 +   uint32_t dwords = atom->cmd_size;
 +
++   dwords += 8;
 +   BEGIN_BATCH_NO_AUTOSTATE(dwords);
 +   OUT_VEC(atom->cmd[LIT_CMD_0], atom->cmd+1);
 +   OUT_VEC(atom->cmd[LIT_CMD_1], atom->cmd+LIT_CMD_1+1);
@@ -5271,6 +5280,7 @@
 +   BATCH_LOCALS(&r200->radeon);
 +   uint32_t dwords = atom->cmd_size;
 +
++   dwords += 8;
 +   BEGIN_BATCH_NO_AUTOSTATE(dwords);
 +   OUT_VEC(atom->cmd[PTP_CMD_0], atom->cmd+1);
 +   OUT_VEC(atom->cmd[PTP_CMD_1], atom->cmd+PTP_CMD_1+1);
@@ -5283,6 +5293,7 @@
 +   BATCH_LOCALS(&r200->radeon);
 +   uint32_t dwords = atom->cmd_size;
 +
++   dwords += 4;
 +   BEGIN_BATCH_NO_AUTOSTATE(dwords);
 +   OUT_VECLINEAR(atom->cmd[0], atom->cmd+1);
 +   END_BATCH();
@@ -5294,6 +5305,7 @@
 +   BATCH_LOCALS(&r200->radeon);
 +   uint32_t dwords = atom->cmd_size;
 +
++   dwords += 2;
 +   BEGIN_BATCH_NO_AUTOSTATE(dwords);
 +   OUT_SCL(atom->cmd[0], atom->cmd+1);
 +   END_BATCH();
@@ -5306,6 +5318,7 @@
 +   BATCH_LOCALS(&r200->radeon);
 +   uint32_t dwords = atom->cmd_size;
 +
++   dwords += 4;
 +   BEGIN_BATCH_NO_AUTOSTATE(dwords);
 +   OUT_VEC(atom->cmd[0], atom->cmd+1);
 +   END_BATCH();
@@ -5317,36 +5330,47 @@
 +   BATCH_LOCALS(&r200->radeon);
 +   struct radeon_renderbuffer *rrb;
 +   uint32_t cbpitch;
-+   uint32_t zbpitch;
++   uint32_t zbpitch, depth_fmt;
 +   uint32_t dwords = atom->cmd_size;
-+   GLframebuffer *fb = r200->radeon.dri.drawable->driverPrivate;
 +
 +   /* output the first 7 bytes of context */
 +   BEGIN_BATCH_NO_AUTOSTATE(dwords+2+2);
 +   OUT_BATCH_TABLE(atom->cmd, 5);
 +
-+   rrb = r200->radeon.state.depth.rrb;
++   rrb = radeon_get_depthbuffer(&r200->radeon);
 +   if (!rrb) {
 +     OUT_BATCH(0);
 +     OUT_BATCH(0);
 +   } else {
 +     zbpitch = (rrb->pitch / rrb->cpp);
++     if (r200->using_hyperz)
++       zbpitch |= RADEON_DEPTH_HYPERZ;
 +     OUT_BATCH_RELOC(0, rrb->bo, 0, 0, RADEON_GEM_DOMAIN_VRAM, 0);
 +     OUT_BATCH(zbpitch);
++     if (rrb->cpp == 4) 
++       depth_fmt = RADEON_DEPTH_FORMAT_24BIT_INT_Z; 
++     else 
++       depth_fmt = RADEON_DEPTH_FORMAT_16BIT_INT_Z; 
++     atom->cmd[CTX_RB3D_ZSTENCILCNTL] &= ~RADEON_DEPTH_FORMAT_MASK; 
++     atom->cmd[CTX_RB3D_ZSTENCILCNTL] |= depth_fmt; 
 +   }
 +     
 +   OUT_BATCH(atom->cmd[CTX_RB3D_ZSTENCILCNTL]);
 +   OUT_BATCH(atom->cmd[CTX_CMD_1]);
 +   OUT_BATCH(atom->cmd[CTX_PP_CNTL]);
-+   OUT_BATCH(atom->cmd[CTX_RB3D_CNTL]);
 +
-+   rrb = r200->radeon.state.color.rrb;
-+   if (r200->radeon.radeonScreen->driScreen->dri2.enabled) {
-+      rrb = (struct radeon_renderbuffer *)fb->Attachment[BUFFER_BACK_LEFT].Renderbuffer;
-+   }
++   rrb = radeon_get_colorbuffer(&r200->radeon);
 +   if (!rrb || !rrb->bo) {
++     OUT_BATCH(atom->cmd[CTX_RB3D_CNTL]);
 +     OUT_BATCH(atom->cmd[CTX_RB3D_COLOROFFSET]);
 +   } else {
++     atom->cmd[CTX_RB3D_CNTL] &= ~(0xf << 10); 
++     if (rrb->cpp == 4) 
++       atom->cmd[CTX_RB3D_CNTL] |= RADEON_COLOR_FORMAT_ARGB8888; 
++     else 
++       atom->cmd[CTX_RB3D_CNTL] |= RADEON_COLOR_FORMAT_RGB565; 
++ 
[...2632 lines suppressed...]
        fprintf( stderr, "Error: Unsupported depth %d... exiting\n",
-@@ -190,37 +534,44 @@ void radeonInitState( radeonContextPtr rmesa )
+@@ -190,37 +555,37 @@ void radeonInitState( radeonContextPtr rmesa )
     }
  
     /* Only have hw stencil when depth buffer is 24 bits deep */
@@ -30423,15 +30628,10 @@
 -   if ( ctx->Visual.doubleBufferMode && rmesa->sarea->pfCurrentPage == 0 ) {
 -      drawOffset = rmesa->radeonScreen->backOffset;
 -      drawPitch  = rmesa->radeonScreen->backPitch;
-+   if ( ctx->Visual.doubleBufferMode && rmesa->radeon.sarea->pfCurrentPage == 0 ) {
-+      drawOffset = rmesa->radeon.radeonScreen->backOffset;
-+      drawPitch  = rmesa->radeon.radeonScreen->backPitch;
-    } else {
+-   } else {
 -      drawOffset = rmesa->radeonScreen->frontOffset;
 -      drawPitch  = rmesa->radeonScreen->frontPitch;
-+      drawOffset = rmesa->radeon.radeonScreen->frontOffset;
-+      drawPitch  = rmesa->radeon.radeonScreen->frontPitch;
-    }
+-   }
  
 -   rmesa->hw.max_state_size = 0;
 +   rmesa->radeon.hw.max_state_size = 0;
@@ -30470,7 +30670,7 @@
     ALLOC_STATE( lin, always, LIN_STATE_SIZE, "LIN/line", 0 );
     ALLOC_STATE( msk, always, MSK_STATE_SIZE, "MSK/mask", 0 );
     ALLOC_STATE( vpt, always, VPT_STATE_SIZE, "VPT/viewport", 0 );
-@@ -233,20 +584,25 @@ void radeonInitState( radeonContextPtr rmesa )
+@@ -233,20 +598,25 @@ void radeonInitState( radeonContextPtr rmesa )
     ALLOC_STATE( fog, fog, FOG_STATE_SIZE, "FOG/fog", 1 );
     ALLOC_STATE( glt, tcl_lighting, GLT_STATE_SIZE, "GLT/light-global", 1 );
     ALLOC_STATE( eye, tcl_lighting, EYE_STATE_SIZE, "EYE/eye-vector", 1 );
@@ -30506,7 +30706,7 @@
     }
     ALLOC_STATE( mat[0], tcl, MAT_STATE_SIZE, "MAT/modelproject", 1 );
     ALLOC_STATE( mat[1], tcl_eyespace_or_fog, MAT_STATE_SIZE, "MAT/modelview", 1 );
-@@ -268,43 +624,43 @@ void radeonInitState( radeonContextPtr rmesa )
+@@ -268,43 +638,43 @@ void radeonInitState( radeonContextPtr rmesa )
     ALLOC_STATE( lit[5], tcl_lit5, LIT_STATE_SIZE, "LIT/light-5", 1 );
     ALLOC_STATE( lit[6], tcl_lit6, LIT_STATE_SIZE, "LIT/light-6", 1 );
     ALLOC_STATE( lit[7], tcl_lit7, LIT_STATE_SIZE, "LIT/light-7", 1 );
@@ -30581,20 +30781,51 @@
     rmesa->hw.grd.cmd[GRD_CMD_0] = 
        cmdscl( RADEON_SS_VERT_GUARD_CLIP_ADJ_ADDR, 1, 4 );
     rmesa->hw.fog.cmd[FOG_CMD_0] = 
-@@ -353,10 +709,10 @@ void radeonInitState( radeonContextPtr rmesa )
+@@ -331,6 +701,22 @@ void radeonInitState( radeonContextPtr rmesa )
+ 	 cmdvec( RADEON_VS_UCP_ADDR + i, 1, 4 );
+    }
+ 
++   if (rmesa->radeon.radeonScreen->kernel_mm) {
++      rmesa->hw.grd.emit = scl_emit;
++      rmesa->hw.fog.emit = vec_emit;
++      rmesa->hw.glt.emit = vec_emit;
++      rmesa->hw.eye.emit = vec_emit;
++      
++      for (i = 0; i <= 6; i++)
++	 rmesa->hw.mat[i].emit = vec_emit;
++
++      for (i = 0; i < 8; i++)
++	 rmesa->hw.lit[i].emit = lit_emit;
++
++      for (i = 0; i < 6; i++)
++	 rmesa->hw.ucp[i].emit = vec_emit;
++   }
++
+    rmesa->last_ReallyEnabled = -1;
+ 
+    /* Initial Harware state:
+@@ -352,19 +738,7 @@ void radeonInitState( radeonContextPtr rmesa )
+ 					    RADEON_SRC_BLEND_GL_ONE |
  					    RADEON_DST_BLEND_GL_ZERO );
  
-    rmesa->hw.ctx.cmd[CTX_RB3D_DEPTHOFFSET] =
+-   rmesa->hw.ctx.cmd[CTX_RB3D_DEPTHOFFSET] =
 -      rmesa->radeonScreen->depthOffset + rmesa->radeonScreen->fbLocation;
-+      rmesa->radeon.radeonScreen->depthOffset + rmesa->radeon.radeonScreen->fbLocation;
- 
-    rmesa->hw.ctx.cmd[CTX_RB3D_DEPTHPITCH] = 
+-
+-   rmesa->hw.ctx.cmd[CTX_RB3D_DEPTHPITCH] = 
 -      ((rmesa->radeonScreen->depthPitch &
-+      ((rmesa->radeon.radeonScreen->depthPitch &
- 	RADEON_DEPTHPITCH_MASK) |
-        RADEON_DEPTH_ENDIAN_NO_SWAP);
-        
-@@ -374,7 +730,7 @@ void radeonInitState( radeonContextPtr rmesa )
+-	RADEON_DEPTHPITCH_MASK) |
+-       RADEON_DEPTH_ENDIAN_NO_SWAP);
+-       
+-   if (rmesa->using_hyperz)
+-       rmesa->hw.ctx.cmd[CTX_RB3D_DEPTHPITCH] |= RADEON_DEPTH_HYPERZ;
+-
+-   rmesa->hw.ctx.cmd[CTX_RB3D_ZSTENCILCNTL] = (depth_fmt |
+-					       RADEON_Z_TEST_LESS |
++   rmesa->hw.ctx.cmd[CTX_RB3D_ZSTENCILCNTL] = (RADEON_Z_TEST_LESS |
+ 					       RADEON_STENCIL_TEST_ALWAYS |
+ 					       RADEON_STENCIL_FAIL_KEEP |
+ 					       RADEON_STENCIL_ZPASS_KEEP |
+@@ -374,7 +748,7 @@ void radeonInitState( radeonContextPtr rmesa )
     if (rmesa->using_hyperz) {
         rmesa->hw.ctx.cmd[CTX_RB3D_ZSTENCILCNTL] |= RADEON_Z_COMPRESSION_ENABLE |
  						   RADEON_Z_DECOMPRESSION_ENABLE;
@@ -30603,8 +30834,11 @@
  	 /* works for q3, but slight rendering errors with glxgears ? */
  /*	 rmesa->hw.ctx.cmd[CTX_RB3D_ZSTENCILCNTL] |= RADEON_Z_HIERARCHY_ENABLE;*/
  	 /* need this otherwise get lots of lockups with q3 ??? */
-@@ -389,7 +745,7 @@ void radeonInitState( radeonContextPtr rmesa )
- 				       color_fmt |
+@@ -386,10 +760,9 @@ void radeonInitState( radeonContextPtr rmesa )
+ 				     RADEON_ANTI_ALIAS_NONE);
+ 
+    rmesa->hw.ctx.cmd[CTX_RB3D_CNTL] = (RADEON_PLANE_MASK_ENABLE |
+-				       color_fmt |
  				       RADEON_ZBLOCK16);
  
 -   switch ( driQueryOptioni( &rmesa->optionCache, "dither_mode" ) ) {
@@ -30612,7 +30846,7 @@
     case DRI_CONF_DITHER_XERRORDIFFRESET:
        rmesa->hw.ctx.cmd[CTX_RB3D_CNTL] |= RADEON_DITHER_INIT;
        break;
-@@ -397,19 +753,19 @@ void radeonInitState( radeonContextPtr rmesa )
+@@ -397,30 +770,17 @@ void radeonInitState( radeonContextPtr rmesa )
        rmesa->hw.ctx.cmd[CTX_RB3D_CNTL] |= RADEON_SCALE_DITHER_ENABLE;
        break;
     }
@@ -30632,22 +30866,23 @@
 -      rmesa->hw.ctx.cmd[CTX_RB3D_CNTL] |= rmesa->state.color.roundEnable;
 +      rmesa->hw.ctx.cmd[CTX_RB3D_CNTL] |= rmesa->radeon.state.color.roundEnable;
  
-    rmesa->hw.ctx.cmd[CTX_RB3D_COLOROFFSET] = ((drawOffset +
+-   rmesa->hw.ctx.cmd[CTX_RB3D_COLOROFFSET] = ((drawOffset +
 -					       rmesa->radeonScreen->fbLocation)
-+					       rmesa->radeon.radeonScreen->fbLocation)
- 					      & RADEON_COLOROFFSET_MASK);
- 
-    rmesa->hw.ctx.cmd[CTX_RB3D_COLORPITCH] = ((drawPitch &
-@@ -418,7 +774,7 @@ void radeonInitState( radeonContextPtr rmesa )
- 
- 
-    /* (fixed size) sarea is initialized to zero afaics so can omit version check. Phew! */
+-					      & RADEON_COLOROFFSET_MASK);
+-
+-   rmesa->hw.ctx.cmd[CTX_RB3D_COLORPITCH] = ((drawPitch &
+-					      RADEON_COLORPITCH_MASK) |
+-					     RADEON_COLOR_ENDIAN_NO_SWAP);
+-
+-
+-   /* (fixed size) sarea is initialized to zero afaics so can omit version check. Phew! */
 -   if (rmesa->sarea->tiling_enabled) {
-+   if (rmesa->radeon.sarea->tiling_enabled) {
-       rmesa->hw.ctx.cmd[CTX_RB3D_COLORPITCH] |= RADEON_COLOR_TILE_ENABLE;
-    }
+-      rmesa->hw.ctx.cmd[CTX_RB3D_COLORPITCH] |= RADEON_COLOR_TILE_ENABLE;
+-   }
  
-@@ -444,7 +800,7 @@ void radeonInitState( radeonContextPtr rmesa )
+    rmesa->hw.set.cmd[SET_SE_CNTL] = (RADEON_FFACE_CULL_CCW |
+ 				     RADEON_BFACE_SOLID |
+@@ -444,7 +804,7 @@ void radeonInitState( radeonContextPtr rmesa )
    					    RADEON_VC_NO_SWAP;
  #endif
  
@@ -30656,7 +30891,7 @@
       rmesa->hw.set.cmd[SET_SE_CNTL_STATUS] |= RADEON_TCL_BYPASS;
     }
  
-@@ -491,8 +847,8 @@ void radeonInitState( radeonContextPtr rmesa )
+@@ -491,8 +851,8 @@ void radeonInitState( radeonContextPtr rmesa )
  	   (2 << RADEON_TXFORMAT_HEIGHT_SHIFT));
  
        /* Initialize the texture offset to the start of the card texture heap */
@@ -30667,7 +30902,7 @@
  
        rmesa->hw.tex[i].cmd[TEX_PP_BORDER_COLOR] = 0;
        rmesa->hw.tex[i].cmd[TEX_PP_TXCBLEND] =  
-@@ -513,15 +869,15 @@ void radeonInitState( radeonContextPtr rmesa )
+@@ -513,15 +873,15 @@ void radeonInitState( radeonContextPtr rmesa )
  
        rmesa->hw.cube[i].cmd[CUBE_PP_CUBIC_FACES] = 0;
        rmesa->hw.cube[i].cmd[CUBE_PP_CUBIC_OFFSET_0] =
@@ -30688,7 +30923,7 @@
     }
  
     /* Can only add ST1 at the time of doing some multitex but can keep
-@@ -613,5 +969,7 @@ void radeonInitState( radeonContextPtr rmesa )
+@@ -613,5 +973,7 @@ void radeonInitState( radeonContextPtr rmesa )
     rmesa->hw.eye.cmd[EYE_Z] = IEEE_ONE;
     rmesa->hw.eye.cmd[EYE_RESCALE_FACTOR] = IEEE_ONE;
     
@@ -32423,7 +32658,7 @@
 -   return 0;
 -}
 diff --git a/src/mesa/drivers/dri/radeon/radeon_texstate.c b/src/mesa/drivers/dri/radeon/radeon_texstate.c
-index 1e2f654..6a34f1e 100644
+index b165205..2b0ebbc 100644
 --- a/src/mesa/drivers/dri/radeon/radeon_texstate.c
 +++ b/src/mesa/drivers/dri/radeon/radeon_texstate.c
 @@ -43,6 +43,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


--- radeon-dri2-fixes.patch DELETED ---




More information about the fedora-extras-commits mailing list