summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTapani Pälli <[email protected]>2017-01-05 13:40:35 +0200
committerTapani Pälli <[email protected]>2017-01-09 07:44:53 +0200
commit8b43f4201129a5d11ebf314f9ae612289fd0994e (patch)
treea0ab46083ae6143ffe015d8e7e8e878dade43e2f
parent953e4e4417a7deb1a5bf880dda30adb09378473d (diff)
i965: call intel_prepare_render always when reading pixels
Currently we do this only in the fallback code (when tiled memcpy version failed) but it needs to be done always so that we have correct read and write buffer in place. No regressions seen in CI. Fixes: dEQP-EGL.functional.buffer_age.* Signed-off-by: Tapani Pälli <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98330 Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Chad Versace <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/intel_pixel_read.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_pixel_read.c b/src/mesa/drivers/dri/i965/intel_pixel_read.c
index c15f891de3f..2563897b23f 100644
--- a/src/mesa/drivers/dri/i965/intel_pixel_read.c
+++ b/src/mesa/drivers/dri/i965/intel_pixel_read.c
@@ -242,17 +242,17 @@ intelReadPixels(struct gl_context * ctx,
perf_debug("%s: fallback to CPU mapping in PBO case\n", __func__);
}
- ok = intel_readpixels_tiled_memcpy(ctx, x, y, width, height,
- format, type, pixels, pack);
- if(ok)
- return;
-
- /* glReadPixels() wont dirty the front buffer, so reset the dirty
+ /* Reading pixels wont dirty the front buffer, so reset the dirty
* flag after calling intel_prepare_render(). */
dirty = brw->front_buffer_dirty;
intel_prepare_render(brw);
brw->front_buffer_dirty = dirty;
+ ok = intel_readpixels_tiled_memcpy(ctx, x, y, width, height,
+ format, type, pixels, pack);
+ if(ok)
+ return;
+
/* Update Mesa state before calling _mesa_readpixels().
* XXX this may not be needed since ReadPixels no longer uses the
* span code.