rpms/mesa/F-9 mesa-7.1-bag-of-fixes.patch, NONE, 1.1 mesa.spec, 1.188, 1.189 mesa-7.1-f9-intel-and-radeon-fixes.patch, 1.1, NONE mesa-7.1-fix-965-googleearth.patch, 1.1, NONE

Dave Airlie (airlied) fedora-extras-commits at redhat.com
Sat May 10 05:26:32 UTC 2008


Author: airlied

Update of /cvs/pkgs/rpms/mesa/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv7515

Modified Files:
	mesa.spec 
Added Files:
	mesa-7.1-bag-of-fixes.patch 
Removed Files:
	mesa-7.1-f9-intel-and-radeon-fixes.patch 
	mesa-7.1-fix-965-googleearth.patch 
Log Message:
* Sat May 10 2008 Dave Airlie <airlied at redhat.com> 7.1-0.31
- Bring in a bunch of fixes from upstream, missing rs690 pci id,
- DRI2 + modeset + 965 + compiz + alt-tab fixed.


mesa-7.1-bag-of-fixes.patch:

--- NEW FILE mesa-7.1-bag-of-fixes.patch ---
commit 81c4e373bd687983ced6cb632b8c9bd599c1ecd0
Author: Dave Airlie <airlied at panoply-rh.(none)>
Date:   Tue May 6 18:52:47 2008 +1000

    i965: fix googleearth in classic mode.
    
    In classic mode googleearth triggered a case where vbos weren't getting accounted properly.
    (cherry picked from commit 17adf04e5c1da72a51815f3fdb9de2f3a8149c1a)

commit fbb82e911658b29b3961370e497011f9dd4b281f
Author: Dave Airlie <airlied at redhat.com>
Date:   Fri May 9 13:51:37 2008 +1000

    intel: use new mipmap generation hooks in driver.
    (cherry picked from commit 0dbd5c864047ad2ad3d459493c9e82be57427f83)

commit 9436f301bb06dabde75059b7e15d69ae37af2984
Author: Dave Airlie <airlied at linux.ie>
Date:   Fri May 9 13:41:02 2008 +1000

    swrast/dri: switch over users of generate_mipmap to new interface
    (cherry picked from commit 86bd98c6aa0d1a8533699af911c7c40c549b3965)

commit 69fef7f46a3285ca1786ba7e384eae3119dc3753
Author: Brian <brian.paul at tungstengraphics.com>
Date:   Fri Feb 8 14:45:58 2008 -0700

    Remove unused texunit parameter to ctx->Driver.GenerateMipmap()
    (cherry picked from commit c3395f4473c8fdf75d04c0dd72e687bc8d8127a7)
    (cherry picked from commit d4e1d85dba8ec4a37f68a284b5a2be15b4f2987a)

commit b2f4ad6b373b44fed2cfa6e7528480df46af315c
Author: Dave Airlie <airlied at linux.ie>
Date:   Fri May 9 13:33:06 2008 +1000

    Added ctx->Driver.GenerateMipmap() driver hook
    (cherry picked from commit 4c2f3dbca940f289e67248682b84a3516d5a3031)
    
    Conflicts:
    
    	src/mesa/drivers/common/driverfuncs.c
    (cherry picked from commit a638676473bd7bf2d47275ed2fd708e5b9d47e0b)

commit 0fdb3fde63561e95c00482a660604ddd7c3d655d
Author: Kristian Høgsberg <krh at redhat.com>
Date:   Thu May 8 19:48:32 2008 -0400

    Add RS690M PCI ID.
    (cherry picked from commit 990e010394a2685c1daeaef61cf4f7e2a0ba419e)

commit ab134426b1645a536684ffe1294f1029b4954d00
Author: Brian Paul <brian.paul at tungstengraphics.com>
Date:   Thu May 8 10:59:31 2008 -0600

    disable debug printfs
    (cherry picked from commit b4e75d6c41b2561ca86321fb775ca774c8af44eb)

commit 2407499bc013e53d4c0936bed0622bdc758677b3
Author: Brian Paul <brian.paul at tungstengraphics.com>
Date:   Thu May 8 08:39:30 2008 -0600

    disable GL_DEPTH_TEST before glDrawPixels in case window has unrequested depth buffer
    (cherry picked from commit 45668806567c0f31479c8bf9b1a85930cac70c5d)

commit 9146fffba3e68d642c5712ec0bc414c3ac0e4d5a
Author: Brian Paul <brian.paul at tungstengraphics.com>
Date:   Thu May 8 08:36:49 2008 -0600

    call glutDestroyWindow()
    (cherry picked from commit 6a3fac871104c5cf3cd1c6a7767ba66d10446475)

commit e073db2739497c03674c006f1dab61a64755cb14
Author: Brian Paul <brian.paul at tungstengraphics.com>
Date:   Wed May 7 18:51:44 2008 -0600

    fix refcounting bugs in tnl/tex program caches
    (cherry picked from commit 5b5c9315275752add1215dba0f86d5f5068d856b)

commit 2f56de178297cb08e26b0e1c70d7beb1e0d4f841
Author: Brian <brian.paul at tungstengraphics.com>
Date:   Tue May 6 23:08:51 2008 -0600

    implement full reference counting for vertex/fragment programs
    
    Use _mesa_reference_vert/fragprog() wherever we assign program pointers.
    Fixes a memory corruption bug found with glean/api2 test.
    (cherry picked from commit df43fb661b2030d9b833a42dd47b8d7bf58d73aa)

commit 329f8ccddd4309aade2a53b633b32ac6c5e50f27
Author: Xiang, Haihao <haihao.xiang at intel.com>
Date:   Thu May 8 11:52:57 2008 +0800

    mesa: Call RENDER_FINISH on the zero pixel case.
    (cherry picked from commit 9508293e0186ded3be212a377b1fe39d68070da7)

commit fc35fb99411fc1bac92a7da9d90a16f28602623f
Author: Dave Airlie <airlied at linux.ie>
Date:   Mon May 5 23:49:50 2008 +1000

    r300: fix swtcl texrect path properly.
    
    We really need to update the shader state so the texrect parameters work.
    
    This should fix compiz looking crappy on rs480 and rs690
    (cherry picked from commit 66a5562ce2906fbf5b96d1cee18f9a31a78c4360)
    (cherry picked from commit a7016949f27f7612ffba7a4d0c5e6280cb3e66ba)

commit 5344028569e7c5fa7349685923c9ecc319c86fc6
Author: Dave Airlie <airlied at linux.ie>
Date:   Sat May 3 21:31:22 2008 +1000

    r300: add R300_NO_TCL to allow testing of non-tcl on tcl cards
    (cherry picked from commit 026ef8111a94f6449dfa5e5cc0ae91fca4e68c0c)
    (cherry picked from commit 2f0a75f0040b0de339c78448844a7b18ab995c46)

commit f232d553352fa8ace512564f371f623da4c08485
Author: Markus Amsler <markus.amsler at oribi.org>
Date:   Fri May 2 01:58:18 2008 +0000

    r300: Set correct VAP_CNTL per vertex program.
    (cherry picked from commit acb47dee69a165f242d88f9eac60fc5646e33410)

commit 135c59946a341e93f5e2a8f61a658d8c49ce2395
Author: Brian Paul <brian.paul at tungstengraphics.com>
Date:   Thu May 1 14:59:34 2008 -0600

    fix conversion of GLfloat display list IDs
    
    Use floor() to convert to int (per Mark Kildard and the SI).
    Also, change translate_id() to return a signed integer since we may be
    offsetting from GL_LIST_BASE.
    (cherry picked from commit 6e19f82c37191dabcdd882d0edac98a2ca9c11e4)

commit d8dc7982bc38a1e28a123d5f63736bb8deea134c
Author: Brian Paul <brian.paul at tungstengraphics.com>
Date:   Wed Apr 30 16:05:01 2008 -0600

    Add support for GL_REPLACE_EXT texture env mode.
    
    GL_REPLACE_EXT comes from the ancient GL_EXT_texture extension.  Found an old demo that
    actually uses it.
    The values of the GL_REPLACE and GL_REPLACE_EXT tokens is different, unfortunately.
    (cherry picked from commit 5f0fa82f68e3f4f7086ed6cf5616ef94820e19ee)

commit 736cb42b9f6dc60ad83858bb6e244f5e9a0df3ef
Author: Xiang, Haihao <haihao.xiang at intel.com>
Date:   Wed Apr 30 16:27:52 2008 +0800

    intel: test cpp to ensure mipmap tree matches texture image.
    (cherry picked from commit d12fa3511da23d8285f3ea1a51a1f328cdbb1462)

commit 1bae58ce0dab2bc69b4467cae8cdc8a007c446ac
Author: Brian Paul <brian.paul at tungstengraphics.com>
Date:   Tue Apr 29 15:02:46 2008 -0600

    disable GL_TEXTURE_1D at end of frame to fix failed assertion
    (cherry picked from commit aef4ca647d1d8275b1586a92485ea6c5bc8e950c)

commit 2ec4728f9175e2184a2af009d7d2be1f191d35d9
Author: Brian Paul <brian.paul at tungstengraphics.com>
Date:   Fri Apr 25 09:46:43 2008 -0600

    mesa: adjust glBitmap coords by a small epsilon
    
    Fixes problem with bitmaps jumping around by one pixel depending on window
    size.  The rasterpos is often X.9999 instead of X+1.
    Run progs/redbook/drawf and resize window to check.
    
    Cherry picked from gallium-0.1 branch
    (cherry picked from commit 4e0e02ae684c0286599309ae166cfc716db940d7)

commit 28b887a05543e67d0e40eb17502fcf590145022a
Author: Ove Kaaven <ovek at arcticnet.no>
Date:   Tue Apr 29 22:14:05 2008 +0200

    r200: fix state submission issue causing bogus textures (bug 15730)
    (cherry picked from commit 4f474c7d1e1e6807af0f3db55f641fbd66be2e90)

commit 52a964a87f5155bad582b2b48ff8ba8ca9669a69
Author: Michel Dänzer <michel at tungstengraphics.com>
Date:   Tue Apr 29 18:43:28 2008 +0200

    Change default of driconf "allow_large_textures" to announce hardware limits.
    
    The previous default these days served mostly to cause artifical problems with
    GLX compositing managers like compiz (see e.g.
    http://bugs.freedesktop.org/show_bug.cgi?id=10501).
    (cherry picked from commit acba9c1771d653126fd6f604cb80c050b9e8ffb3)

commit 98b53ad38218a4392f0dc070fd425f9cc61fdfa7
Author: Keith Packard <keithp at keithp.com>
Date:   Fri Apr 25 16:07:12 2008 -0700

    [i965] short immediate values must be replicated to both halves of the dword
    
    The 32-bit immediate value in the i965 instruction word must contain two
    copies of any 16-bit constants. brw_imm_uw and brw_imm_w just needed to
    copy the value into both halves of the immediate value instruction field.
    (cherry picked from commit ca73488f48e3ee278f0185bb7dcc03d7bdedb62d)
[...1655 lines suppressed...]
       _mesa_free_parameter_list(shProg->FragmentProgram->Base.Parameters);
       shProg->FragmentProgram->Base.Parameters = shProg->Uniforms;
+      assert(shProg->Uniforms);
    }
 
    if (shProg->VertexProgram) {
diff --git a/src/mesa/swrast/s_drawpix.c b/src/mesa/swrast/s_drawpix.c
index 81f5caa..730798c 100644
--- a/src/mesa/swrast/s_drawpix.c
+++ b/src/mesa/swrast/s_drawpix.c
@@ -840,8 +840,10 @@ _swrast_DrawPixels( GLcontext *ctx,
       _swrast_validate_derived( ctx );
 
     pixels = _mesa_map_drawpix_pbo(ctx, unpack, pixels);
-    if (!pixels)
+    if (!pixels) {
+       RENDER_FINISH(swrast,ctx);
        return;
+    }
 
    switch (format) {
    case GL_STENCIL_INDEX:
diff --git a/src/mesa/swrast/s_texstore.c b/src/mesa/swrast/s_texstore.c
index 3f49b40..547d5b9 100644
--- a/src/mesa/swrast/s_texstore.c
+++ b/src/mesa/swrast/s_texstore.c
@@ -305,7 +305,7 @@ _swrast_copy_teximage1d( GLcontext *ctx, GLenum target, GLint level,
 
    /* GL_SGIS_generate_mipmap */
    if (level == texObj->BaseLevel && texObj->GenerateMipmap) {
-      _mesa_generate_mipmap(ctx, target, texUnit, texObj);
+      ctx->Driver.GenerateMipmap(ctx, target, texObj);
    }
 }
 
@@ -381,7 +381,7 @@ _swrast_copy_teximage2d( GLcontext *ctx, GLenum target, GLint level,
 
    /* GL_SGIS_generate_mipmap */
    if (level == texObj->BaseLevel && texObj->GenerateMipmap) {
-      _mesa_generate_mipmap(ctx, target, texUnit, texObj);
+      ctx->Driver.GenerateMipmap(ctx, target, texObj);
    }
 }
 
@@ -450,7 +450,7 @@ _swrast_copy_texsubimage1d( GLcontext *ctx, GLenum target, GLint level,
 
    /* GL_SGIS_generate_mipmap */
    if (level == texObj->BaseLevel && texObj->GenerateMipmap) {
-      _mesa_generate_mipmap(ctx, target, texUnit, texObj);
+      ctx->Driver.GenerateMipmap(ctx, target, texObj);
    }
 }
 
@@ -526,7 +526,7 @@ _swrast_copy_texsubimage2d( GLcontext *ctx,
 
    /* GL_SGIS_generate_mipmap */
    if (level == texObj->BaseLevel && texObj->GenerateMipmap) {
-      _mesa_generate_mipmap(ctx, target, texUnit, texObj);
+      ctx->Driver.GenerateMipmap(ctx, target, texObj);
    }
 }
 
@@ -599,6 +599,6 @@ _swrast_copy_texsubimage3d( GLcontext *ctx,
 
    /* GL_SGIS_generate_mipmap */
    if (level == texObj->BaseLevel && texObj->GenerateMipmap) {
-      _mesa_generate_mipmap(ctx, target, texUnit, texObj);
+      ctx->Driver.GenerateMipmap(ctx, target, texObj);
    }
 }
diff --git a/src/mesa/tnl/t_context.h b/src/mesa/tnl/t_context.h
index baf283e..1ac508f 100644
--- a/src/mesa/tnl/t_context.h
+++ b/src/mesa/tnl/t_context.h
@@ -388,7 +388,7 @@ struct tnl_clipspace
 struct tnl_cache_item {
    GLuint hash;
    void *key;
-   void *data;
+   struct gl_vertex_program *prog;
    struct tnl_cache_item *next;
 };
 
diff --git a/src/mesa/tnl/t_vp_build.c b/src/mesa/tnl/t_vp_build.c
index a7fd815..2b1eefe 100644
--- a/src/mesa/tnl/t_vp_build.c
+++ b/src/mesa/tnl/t_vp_build.c
@@ -1464,21 +1464,22 @@ create_new_program( const struct state_key *key,
    build_tnl_program( &p );
 }
 
-static void *search_cache( struct tnl_cache *cache,
-			   GLuint hash,
-			   const void *key,
-			   GLuint keysize)
+
+static struct gl_vertex_program *
+search_cache(struct tnl_cache *cache, GLuint hash,
+             const void *key, GLuint keysize)
 {
    struct tnl_cache_item *c;
 
    for (c = cache->items[hash % cache->size]; c; c = c->next) {
       if (c->hash == hash && _mesa_memcmp(c->key, key, keysize) == 0)
-	 return c->data;
+	 return c->prog;
    }
 
    return NULL;
 }
 
+
 static void rehash( struct tnl_cache *cache )
 {
    struct tnl_cache_item **items;
@@ -1501,15 +1502,16 @@ static void rehash( struct tnl_cache *cache )
    cache->size = size;
 }
 
-static void cache_item( struct tnl_cache *cache,
+static void cache_item( GLcontext *ctx,
+                        struct tnl_cache *cache,
 			GLuint hash,
 			void *key,
-			void *data )
+			struct gl_vertex_program *prog )
 {
-   struct tnl_cache_item *c = (struct tnl_cache_item*) _mesa_malloc(sizeof(*c));
+   struct tnl_cache_item *c = CALLOC_STRUCT(tnl_cache_item);
    c->hash = hash;
    c->key = key;
-   c->data = data;
+   _mesa_reference_vertprog(ctx, &c->prog, prog);
 
    if (++cache->n_items > cache->size * 1.5)
       rehash(cache);
@@ -1540,6 +1542,8 @@ void _tnl_UpdateFixedFunctionProgram( GLcontext *ctx )
 
    if (!ctx->VertexProgram._Current ||
        ctx->VertexProgram._Current == ctx->VertexProgram._TnlProgram) {
+      struct gl_vertex_program *newProg;
+
       /* Grab all the relevent state and put it in a single structure:
        */
       key = make_state_key(ctx);
@@ -1547,33 +1551,31 @@ void _tnl_UpdateFixedFunctionProgram( GLcontext *ctx )
 
       /* Look for an already-prepared program for this state:
        */
-      ctx->VertexProgram._TnlProgram = (struct gl_vertex_program *)
-	 search_cache( tnl->vp_cache, hash, key, sizeof(*key) );
+      newProg = search_cache( tnl->vp_cache, hash, key, sizeof(*key));
    
       /* OK, we'll have to build a new one:
        */
-      if (!ctx->VertexProgram._TnlProgram) {
+      if (!newProg) {
+
 	 if (0)
 	    _mesa_printf("Build new TNL program\n");
 	 
-	 ctx->VertexProgram._TnlProgram = (struct gl_vertex_program *)
+	 newProg = (struct gl_vertex_program *)
 	    ctx->Driver.NewProgram(ctx, GL_VERTEX_PROGRAM_ARB, 0); 
 
-	 create_new_program( key, ctx->VertexProgram._TnlProgram, 
-			     ctx->Const.VertexProgram.MaxTemps );
+	 create_new_program( key, newProg, ctx->Const.VertexProgram.MaxTemps );
 
 	 if (ctx->Driver.ProgramStringNotify)
 	    ctx->Driver.ProgramStringNotify( ctx, GL_VERTEX_PROGRAM_ARB, 
-                                       &ctx->VertexProgram._TnlProgram->Base );
+                                             &newProg->Base );
 
-	 cache_item(tnl->vp_cache, hash, key, ctx->VertexProgram._TnlProgram );
-      }
-      else {
-	 FREE(key);
-	 if (0) 
-	    _mesa_printf("Found existing TNL program for key %x\n", hash);
+	 cache_item(ctx, tnl->vp_cache, hash, key, newProg);
+
+         _mesa_reference_vertprog(ctx, &ctx->VertexProgram._TnlProgram, newProg);
       }
-      ctx->VertexProgram._Current = ctx->VertexProgram._TnlProgram;
+
+      _mesa_reference_vertprog(ctx, &ctx->VertexProgram._TnlProgram, newProg);
+      _mesa_reference_vertprog(ctx, &ctx->VertexProgram._Current, newProg);
    }
 
    /* Tell the driver about the change.  Could define a new target for
@@ -1606,7 +1608,7 @@ void _tnl_ProgramCacheDestroy( GLcontext *ctx )
       for (c = tnl->vp_cache->items[i]; c; c = next) {
 	 next = c->next;
 	 FREE(c->key);
-	 FREE(c->data);
+	 _mesa_reference_vertprog(ctx, &c->prog, NULL);
 	 FREE(c);
       }
 


Index: mesa.spec
===================================================================
RCS file: /cvs/pkgs/rpms/mesa/F-9/mesa.spec,v
retrieving revision 1.188
retrieving revision 1.189
diff -u -r1.188 -r1.189
--- mesa.spec	7 May 2008 00:21:10 -0000	1.188
+++ mesa.spec	10 May 2008 05:25:47 -0000	1.189
@@ -15,7 +15,7 @@
 Summary: Mesa graphics libraries
 Name: mesa
 Version: 7.1
-Release: 0.30%{?dist}
+Release: 0.31%{?dist}
 License: MIT
 Group: System Environment/Libraries
 URL: http://www.mesa3d.org
@@ -38,8 +38,7 @@
 # lets only build drivers on sparc that are remotely useful
 Patch8: mesa-7.1-sparc.patch
 
-Patch10: mesa-7.1-f9-intel-and-radeon-fixes.patch
-Patch11: mesa-7.1-fix-965-googleearth.patch
+Patch10: mesa-7.1-bag-of-fixes.patch
 Patch12: mesa-7.1-disable-intel-classic-warn.patch
 
 BuildRequires: pkgconfig autoconf automake
@@ -170,7 +169,6 @@
 %patch7 -p1 -b .dricore
 %patch8 -p1
 %patch10 -p1 -b .misc-fixes
-%patch11 -p1 -b .965-googleearth
 %patch12 -p1 -b .intel-nowarn
 
 # WARNING: The following files are copyright "Mark J. Kilgard" under the GLUT
@@ -420,6 +418,10 @@
 %{_libdir}/mesa-demos-data
 
 %changelog
+* Sat May 10 2008 Dave Airlie <airlied at redhat.com> 7.1-0.31
+- Bring in a bunch of fixes from upstream, missing rs690 pci id,
+- DRI2 + modeset + 965 + compiz + alt-tab fixed.
+
 * Wed May 07 2008 Dave Airlie <airlied at redhat.com> 7.1-0.30
 - fix googleearth on Intel 965 (#443930)
 - disable classic warning to avoid people reporting it.


--- mesa-7.1-f9-intel-and-radeon-fixes.patch DELETED ---


--- mesa-7.1-fix-965-googleearth.patch DELETED ---




More information about the scm-commits mailing list