From: Chad Versace Date: Thu, 9 Aug 2012 16:24:29 +0000 (-0700) Subject: intel: Fix rendering to a multisample front buffer X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1938501fbfb5052b1de7d78dc7ca8a8738f814e2;p=mesa.git intel: Fix rendering to a multisample front buffer We need to downsample before flushing BUFFER_FAKE_FRONT_LEFT to BUFFER_FRONT_LEFT in intel_flush_front. Reviewed-by: Eric Anholt Signed-off-by: Chad Versace --- diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index acd59174c70..a9064c7ee9a 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -283,6 +283,16 @@ intel_flush_front(struct gl_context *ctx) if (screen->dri2.loader->flushFrontBuffer != NULL && driDrawable && driDrawable->loaderPrivate) { + + /* Downsample before flushing FAKE_FRONT_LEFT to FRONT_LEFT. + * + * This potentially downsamples both front and back buffer. It + * is unnecessary to downsample the back, but harms nothing except + * performance. And no one cares about front-buffer render + * performance. + */ + intel_downsample_for_dri2_flush(intel, driDrawable); + screen->dri2.loader->flushFrontBuffer(driDrawable, driDrawable->loaderPrivate);