Module: Mesa Branch: master Commit: ea414e331802e49d59eb2ddd2466d58a383bc931 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea414e331802e49d59eb2ddd2466d58a383bc931
Author: Brian Paul <[email protected]> Date: Thu Oct 29 11:04:11 2009 -0600 intel: check for single memcpy() in memcpy_get_tex_image() --- src/mesa/drivers/dri/intel/intel_tex_image.c | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c b/src/mesa/drivers/dri/intel/intel_tex_image.c index c861fc5..6301444 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_image.c +++ b/src/mesa/drivers/dri/intel/intel_tex_image.c @@ -696,11 +696,16 @@ memcpy_get_tex_image(GLcontext *ctx, GLenum target, GLint level, const GLint srcRowStride = texImage->RowStride * bpp; GLuint row; - for (row = 0; row < texImage->Height; row++) { - memcpy(dst, src, bytesPerRow); - dst += dstRowStride; - src += srcRowStride; - } + if (bytesPerRow == dstRowStride && bytesPerRow == dstRowStride) { + memcpy(dst, src, bytesPerRow * texImage->Height); + } + else { + for (row = 0; row < texImage->Height; row++) { + memcpy(dst, src, bytesPerRow); + dst += dstRowStride; + src += srcRowStride; + } + } } if (_mesa_is_bufferobj(pack->BufferObj)) { _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
