From 6bac86cd85bf85dd03df7e788232059dc63b9f65 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Fri, 18 Jul 2014 18:23:30 -0700 Subject: i965: Accelerate uploads of RGBA and BGRA GL_UNSIGNED_INT_8_8_8_8_REV textures Since intel is always going to be little-endian, GL_UNSIGNED_INT_8_8_8_8_REV is the same as GL_UNSIGNED_BYTE for RGBA and BGRA textures, so the same acceleration code will work. We might as well use it. Signed-off-by: Jason Ekstrand Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/intel_tex_subimage.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/mesa/drivers/dri/i965/intel_tex_subimage.c') diff --git a/src/mesa/drivers/dri/i965/intel_tex_subimage.c b/src/mesa/drivers/dri/i965/intel_tex_subimage.c index c73cf10..875190f 100644 --- a/src/mesa/drivers/dri/i965/intel_tex_subimage.c +++ b/src/mesa/drivers/dri/i965/intel_tex_subimage.c @@ -560,7 +560,7 @@ intel_texsubimage_tiled_memcpy(struct gl_context * ctx, * we need tests. */ if (!brw->has_llc || - type != GL_UNSIGNED_BYTE || + !(type == GL_UNSIGNED_BYTE || type == GL_UNSIGNED_INT_8_8_8_8_REV) || texImage->TexObject->Target != GL_TEXTURE_2D || pixels == NULL || _mesa_is_bufferobj(packing->BufferObj) || @@ -573,6 +573,10 @@ intel_texsubimage_tiled_memcpy(struct gl_context * ctx, packing->Invert) return false; + if (type == GL_UNSIGNED_INT_8_8_8_8_REV && + !(format == GL_RGBA || format == GL_BGRA)) + return false; /* Invalid type/format combination */ + if ((texImage->TexFormat == MESA_FORMAT_L_UNORM8 && format == GL_LUMINANCE) || (texImage->TexFormat == MESA_FORMAT_A_UNORM8 && format == GL_ALPHA)) { cpp = 1; -- cgit v1.1