From 1938501fbfb5052b1de7d78dc7ca8a8738f814e2 Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Thu, 9 Aug 2012 09:24:29 -0700 Subject: [PATCH] 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 --- src/mesa/drivers/dri/intel/intel_context.c | 10 ++++++++++ 1 file changed, 10 insertions(+) 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); -- 2.30.2