summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTapani Pälli <[email protected]>2012-08-08 20:46:45 +0300
committerKenneth Graunke <[email protected]>2012-08-08 17:15:21 -0700
commit94f22fbe787214580a1a13a774114d2650c166cb (patch)
tree2b9c160525b2dad3e9da388c38bfb29a91be5b95
parent5deb1d1a1f9e3354597569032af9bdf27d629cca (diff)
intel: use _mesa_meta_Clear with OpenGL ES 1.1 v2
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 <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i915/intel_clear.c6
-rw-r--r--src/mesa/drivers/dri/i965/brw_clear.c7
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 96d9c8fe682..ebac0f57cde 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 31c2e45bd0c..05dd68b650e 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 */