intel: Use the GLSL-based meta clear when available.
authorEric Anholt <eric@anholt.net>
Sun, 17 Jul 2011 21:55:10 +0000 (14:55 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 20 Jul 2011 18:03:26 +0000 (11:03 -0700)
Improves firefox-talos-gfx performance under GL when 3D clears are
enabled:
[  0]       gl-before     firefox-talos-gfx   20.193   20.251   0.27%    3/3
[  0]       gl-after      firefox-talos-gfx   18.013   18.040   0.19%    3/3

src/mesa/drivers/dri/intel/intel_clear.c

index 5ab98734cfc4054c722339b502d13e33ce93d457..81c062fba538dfc7aceaa18a0a8f56d7bb708494 100644 (file)
@@ -188,7 +188,10 @@ intelClear(struct gl_context *ctx, GLbitfield mask)
 
    if (tri_mask) {
       debug_mask("tri", tri_mask);
-      _mesa_meta_Clear(&intel->ctx, tri_mask);
+      if (ctx->Extensions.ARB_fragment_shader)
+        _mesa_meta_glsl_Clear(&intel->ctx, tri_mask);
+      else
+        _mesa_meta_Clear(&intel->ctx, tri_mask);
    }
 }