[Mesa-dev] [PATCH] intel: use _mesa_meta_Clear with OpenGL ES 1.1 v2

Tapani Pälli tapani.palli at intel.com
Wed Aug 8 10:46:45 PDT 2012


Patch changes i915 and i965 drivers to use fixed function version of
meta clear when running on ES 1.1. This fixes rendering errors seen with
Google Maps, Angry Birds and Gallery3D on Android platform.

Change 88128516d43be5d25288ff5b64db63cda83c04b3 exposes all extensions
internally to be available independent of GL flavour, therefore check
against ARB_fragment_shader does not work.

Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50333
---
 src/mesa/drivers/dri/i915/intel_clear.c | 6 +++---
 src/mesa/drivers/dri/i965/brw_clear.c   | 7 ++++++-
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/mesa/drivers/dri/i915/intel_clear.c b/src/mesa/drivers/dri/i915/intel_clear.c
index 96d9c8f..ebac0f5 100644
--- a/src/mesa/drivers/dri/i915/intel_clear.c
+++ b/src/mesa/drivers/dri/i915/intel_clear.c
@@ -179,10 +179,10 @@ intelClear(struct gl_context *ctx, GLbitfield mask)
 
    if (tri_mask) {
       debug_mask("tri", tri_mask);
-      if (ctx->Extensions.ARB_fragment_shader)
-	 _mesa_meta_glsl_Clear(&intel->ctx, tri_mask);
-      else
+      if (ctx->API == API_OPENGLES)
 	 _mesa_meta_Clear(&intel->ctx, tri_mask);
+      else
+	 _mesa_meta_glsl_Clear(&intel->ctx, tri_mask);
    }
 }
 
diff --git a/src/mesa/drivers/dri/i965/brw_clear.c b/src/mesa/drivers/dri/i965/brw_clear.c
index 31c2e45..81b7a12 100644
--- a/src/mesa/drivers/dri/i965/brw_clear.c
+++ b/src/mesa/drivers/dri/i965/brw_clear.c
@@ -226,7 +226,12 @@ brw_clear(struct gl_context *ctx, GLbitfield mask)
    if (tri_mask) {
       debug_mask("tri", tri_mask);
       mask &= ~tri_mask;
-      _mesa_meta_glsl_Clear(&intel->ctx, tri_mask);
+
+      if(ctx->API == API_OPENGLES) {
+         _mesa_meta_Clear(&intel->ctx, tri_mask);
+      } else {
+         _mesa_meta_glsl_Clear(&intel->ctx, tri_mask);
+      }
    }
 
    /* Any strange buffers get passed off to swrast */
-- 
1.7.11.2



More information about the mesa-dev mailing list