r600g: use async DMA with a non-zero src offset
authorMarek Olšák <maraeo@gmail.com>
Thu, 21 Feb 2013 15:54:46 +0000 (16:54 +0100)
committerMarek Olšák <maraeo@gmail.com>
Fri, 1 Mar 2013 12:46:32 +0000 (13:46 +0100)
probably a typo

Tested-by: Andreas Boll <andreas.boll.dev@gmail.com>
NOTE: This is a candidate for the 9.1 branch.

src/gallium/drivers/r600/r600_buffer.c

index 6df0d91a56cacbaefee1d09acd86702aaafccba4..89740359be097474f043dbe3650f25fcf099909b 100644 (file)
@@ -189,7 +189,7 @@ static void r600_buffer_transfer_unmap(struct pipe_context *pipe,
                doffset = transfer->box.x;
                soffset = rtransfer->offset + transfer->box.x % R600_MAP_BUFFER_ALIGNMENT;
                /* Copy the staging buffer into the original one. */
-               if (rctx->rings.dma.cs && !(size % 4) && !(doffset % 4) && !(soffset)) {
+               if (rctx->rings.dma.cs && !(size % 4) && !(doffset % 4) && !(soffset % 4)) {
                        if (rctx->screen->chip_class >= EVERGREEN) {
                                evergreen_dma_copy(rctx, dst, src, doffset, soffset, size);
                        } else {