If available use Pixman fastpath for texture conversion. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikk...@gmail.com> --- src/mesa/main/texstore.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c index fff92eb..3d95fb6 100644 --- a/src/mesa/main/texstore.c +++ b/src/mesa/main/texstore.c @@ -1223,6 +1223,13 @@ _mesa_texstore_rgb565(TEXSTORE_PARAMS) _mesa_image_address(dims, srcPacking, srcAddr, srcWidth, srcHeight, srcFormat, srcType, 0, 0, 0); GLubyte *dst = dstSlices[0]; +#ifdef HAVE_PIXMAN + pixman_texture_conversion(PIXMAN_r8g8b8, (uint32_t *)src, + srcRowStride, srcWidth, srcHeight, + dstFormat == MESA_FORMAT_R5G6B5_UNORM? + PIXMAN_r5g6b5:PIXMAN_b5g6r5, + (uint32_t *)dst, dstRowStride); +#else GLint row, col; for (row = 0; row < srcHeight; row++) { const GLubyte *srcUB = (const GLubyte *) src; @@ -1243,6 +1250,7 @@ _mesa_texstore_rgb565(TEXSTORE_PARAMS) dst += dstRowStride; src += srcRowStride; } +#endif } else { return store_ubyte_texture(ctx, dims, baseInternalFormat, -- 1.8.1.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev