intel: use _mesa_meta_Clear with OpenGL ES 1.1 v2
authorTapani Pälli <tapani.palli@intel.com>
Wed, 8 Aug 2012 17:46:45 +0000 (20:46 +0300)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 9 Aug 2012 00:15:21 +0000 (17:15 -0700)
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.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50333
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i915/intel_clear.c
src/mesa/drivers/dri/i965/brw_clear.c

index 96d9c8fe68284ab95c14cb86ff7d4b9affa2e8d1..ebac0f57cdec0516300f4a7a079d77f553aefa85 100644 (file)
@@ -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);
    }
 }
 
index 31c2e45bd0caef07e3eceece5515005e743aa9cd..05dd68b650eaec3489c2f49dce006e4318bf0517 100644 (file)
@@ -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 */