[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mesa: Changes to 'upstream-unstable'



 src/mesa/drivers/dri/i965/brw_clip.c            |    3 ++-
 src/mesa/drivers/dri/intel/intel_pixel_bitmap.c |    6 ++++++
 src/mesa/drivers/dri/radeon/radeon_screen.c     |    4 ++--
 3 files changed, 10 insertions(+), 3 deletions(-)

New commits:
commit a6b314150c141f4c73e408b114181e57237540d9
Author: Eric Anholt <eric@anholt.net>
Date:   Thu Jul 2 19:21:22 2009 -0700

    intel: Fall back on glBitmap with fog enabled.
    
    We would have to build the program with the appropriate fog mode, and
    also supply the fog coordinate if appropriate.
    
    Bug #19413.
    (cherry picked from commit 8ae02a3919bf31bd33f86208472e100eedb58497)

diff --git a/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c b/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c
index a2ccae1..d137aef 100644
--- a/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c
+++ b/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c
@@ -409,6 +409,12 @@ intel_texture_bitmap(GLcontext * ctx,
       return GL_FALSE;
    }
 
+   if (ctx->Fog.Enabled) {
+      if (INTEL_DEBUG & DEBUG_FALLBACKS)
+	 fprintf(stderr, "glBitmap() fallback: fog\n");
+      return GL_FALSE;
+   }
+
    /* Check that we can load in a texture this big. */
    if (width > (1 << (ctx->Const.MaxTextureLevels - 1)) ||
        height > (1 << (ctx->Const.MaxTextureLevels - 1))) {

commit 1b445f96737cf5a1a28e81ff94a2e07b2cac3a96
Author: Eric Anholt <eric@anholt.net>
Date:   Mon Jul 20 17:58:12 2009 -0700

    i965: Don't clip everything if FRONT_AND_BACK culling while culling disabled.
    
    Fixes everything-black with meta_clear_tris on quake4-mpdemo and doom3-demo.
    
    Bug #18844, 22077.
    (cherry picked from commit 81d555068408d4343d7627c8bedda5675f09bd21)

diff --git a/src/mesa/drivers/dri/i965/brw_clip.c b/src/mesa/drivers/dri/i965/brw_clip.c
index 5cffceb..8fc9f89 100644
--- a/src/mesa/drivers/dri/i965/brw_clip.c
+++ b/src/mesa/drivers/dri/i965/brw_clip.c
@@ -152,7 +152,8 @@ static void upload_clip_prog(struct brw_context *brw)
 
    /* _NEW_POLYGON */
    if (key.primitive == GL_TRIANGLES) {
-      if (ctx->Polygon.CullFaceMode == GL_FRONT_AND_BACK) 
+      if (ctx->Polygon.CullFlag &&
+	  ctx->Polygon.CullFaceMode == GL_FRONT_AND_BACK)
 	 key.clip_mode = BRW_CLIPMODE_REJECT_ALL;
       else {
 	 GLuint fill_front = CLIP_CULL;

commit 5ed440400573631f540701f3efd479d8c1592007
Author: Michel Dänzer <daenzer@vmware.com>
Date:   Mon Jul 20 20:26:28 2009 +0200

    radeon: With DRI1, if we have HW stencil, only expose fbconfigs with stencil.
    
    Otherwise simple apps like glxgears pick up a DirectColor visual since the X
    server mixes the depth 32 visual in with the other GLX visuals, and this seems
    to result in a (mostly) black screen due to a bad ColorMap for a lot of people.
    
    The bad ColorMap may be a bug in the apps, the X server or X driver, and
    regardless of that I think the X server should ideally make the depth 32 GLX
    visual separate from the rest again, but in the meantime this makes us cope.
    
    (depth_bits is either 16 or 24, never 0)

diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c
index 791f598..a977bed 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -283,12 +283,12 @@ radeonFillInModes( __DRIscreenPrivate *psp,
      * with a stencil buffer.  It will be a sw fallback, but some apps won't
      * care about that.
      */
-    stencil_bits_array[0] = 0;
+    stencil_bits_array[0] = stencil_bits;
     stencil_bits_array[1] = (stencil_bits == 0) ? 8 : stencil_bits;
 
     msaa_samples_array[0] = 0;
 
-    depth_buffer_factor = ((depth_bits != 0) || (stencil_bits != 0)) ? 2 : 1;
+    depth_buffer_factor = (stencil_bits == 0) ? 2 : 1;
     back_buffer_factor  = (have_back_buffer) ? 2 : 1;
 
     if (pixel_bits == 16) {


Reply to: