Mesa (master): svga: Fix banded DMA upload unmap

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Oct 24 13:12:46 UTC 2019


Module: Mesa
Branch: master
Commit: 00db976905b7fcd615ccee0c13dcbf9dfe29f5ec
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=00db976905b7fcd615ccee0c13dcbf9dfe29f5ec

Author: Thomas Hellstrom <thellstrom at vmware.com>
Date:   Thu Oct  3 12:26:39 2019 +0200

svga: Fix banded DMA upload unmap

Even with banded DMA uploads, st->hwbuf is always non-NULL, but when we've
allocated a software buffer to hold the full upload, unmapping of the
hardware buffer has already been done before
svga_texture_transfer_unmap_dma(), and the code was performing an unmap of
an already mapped buffer.

Fix this by testing for software buffer not present.

Fixes: a9c4a861d5d ("svga: refactor svga_texture_transfer_map/unmap functions")
Signed-off-by: Thomas Hellstrom <thellstrom at vmware.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Charmaine Lee <charmainel at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>

---

 src/gallium/drivers/svga/svga_resource_texture.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/svga/svga_resource_texture.c b/src/gallium/drivers/svga/svga_resource_texture.c
index b04542d711a..f1d16563efb 100644
--- a/src/gallium/drivers/svga/svga_resource_texture.c
+++ b/src/gallium/drivers/svga/svga_resource_texture.c
@@ -758,7 +758,7 @@ svga_texture_transfer_unmap_dma(struct svga_context *svga,
 {
    struct svga_winsys_screen *sws = svga_screen(svga->pipe.screen)->sws;
 
-   if (st->hwbuf)
+   if (!st->swbuf)
       sws->buffer_unmap(sws, st->hwbuf);
 
    if (st->base.usage & PIPE_TRANSFER_WRITE) {




More information about the mesa-commit mailing list