summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/intel_pixel.c
diff options
context:
space:
mode:
authorAlexander Monakov <amonakov@gmail.com>2013-11-04 01:34:32 +0400
committerKenneth Graunke <kenneth@whitecape.org>2013-11-13 12:20:59 -0800
commit279e8d264109303f0e8248ab4c3703c71f65983f (patch)
treee0eefc1ffe9d4bf73ae30ccabe5e7c69e4e494e5 /src/mesa/drivers/dri/i965/intel_pixel.c
parent19c2f406498f0a683fe475967f285e1572172a0a (diff)
downloadexternal_mesa3d-279e8d264109303f0e8248ab4c3703c71f65983f.zip
external_mesa3d-279e8d264109303f0e8248ab4c3703c71f65983f.tar.gz
external_mesa3d-279e8d264109303f0e8248ab4c3703c71f65983f.tar.bz2
i965: implement blit path for PBO glDrawPixels
This patch implements accelerated path for glDrawPixels from a PBO in i965. The code follows what intel_pixel_read, intel_pixel_copy, intel_pixel_bitmap and intel_tex_image are doing. Piglit quick.tests show no regressions. In my testing on IVB, performance improvement is huge (about 30x, didn't measure exactly) since generic path goes via _mesa_unpack_color_span_float, memcpy, extract_float_rgba. Signed-off-by: Alexander Monakov <amonakov@ispras.ru> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/drivers/dri/i965/intel_pixel.c')
-rw-r--r--src/mesa/drivers/dri/i965/intel_pixel.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_pixel.c b/src/mesa/drivers/dri/i965/intel_pixel.c
index 623f4f4..fc70381 100644
--- a/src/mesa/drivers/dri/i965/intel_pixel.c
+++ b/src/mesa/drivers/dri/i965/intel_pixel.c
@@ -115,6 +115,11 @@ intel_check_blit_fragment_ops(struct gl_context * ctx, bool src_alpha_is_one)
return false;
}
+ if (ctx->Pixel.ZoomX != 1.0F || ctx->Pixel.ZoomY != 1.0F) {
+ DBG("fallback due to pixel zoom\n");
+ return false;
+ }
+
if (ctx->RenderMode != GL_RENDER) {
DBG("fallback due to render mode\n");
return false;