allow blit path for read pixels if pack->alignment isn't 1.
pack->alignment doesn't matter usually if the image is sufficiently aligned anyway. Speeds up some tests/readrate cases by a factor of 100 (since the pack->alignment default which noone ever bothers to change is 4).
This commit is contained in:
@@ -203,17 +203,18 @@ do_blit_readpixels(GLcontext * ctx,
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
if (pack->Alignment != 1 || pack->SwapBytes || pack->LsbFirst) {
|
||||
if (INTEL_DEBUG & DEBUG_PIXEL)
|
||||
_mesa_printf("%s: bad packing params\n", __FUNCTION__);
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
if (pack->RowLength > 0)
|
||||
rowLength = pack->RowLength;
|
||||
else
|
||||
rowLength = width;
|
||||
|
||||
if (((rowLength * src->cpp) % pack->Alignment) ||
|
||||
pack->SwapBytes || pack->LsbFirst) {
|
||||
if (INTEL_DEBUG & DEBUG_PIXEL)
|
||||
_mesa_printf("%s: bad packing params\n", __FUNCTION__);
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
if (pack->Invert) {
|
||||
if (INTEL_DEBUG & DEBUG_PIXEL)
|
||||
_mesa_printf("%s: MESA_PACK_INVERT not done yet\n", __FUNCTION__);
|
||||
|
||||
Reference in New Issue
Block a user