summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChad Versace <[email protected]>2012-08-09 09:24:29 -0700
committerChad Versace <[email protected]>2012-08-14 16:19:25 -0700
commit1938501fbfb5052b1de7d78dc7ca8a8738f814e2 (patch)
treeabccc2beca3b8c0dfc9b38f3ccbcde2927c48286 /src
parenta43599d1d1a583b25c0a63c28c0a5001387fa518 (diff)
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 <[email protected]> Signed-off-by: Chad Versace <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/intel/intel_context.c10
1 files changed, 10 insertions, 0 deletions
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);