svga: no dma on multisample surface
authorCharmaine Lee <charmainel@vmware.com>
Mon, 4 Dec 2017 18:03:51 +0000 (10:03 -0800)
committerBrian Paul <brianp@vmware.com>
Mon, 10 Sep 2018 19:07:30 +0000 (13:07 -0600)
Force direct map on multisample surface.

Fixes SVGA Driver Errors running multisample piglit tests on Linux VM

v2: use texture for the check.

Reviewed-by: Neha Bhende <bhenden@vmware.com>
src/gallium/drivers/svga/svga_resource_texture.c

index aaba3ac5f96b01447ae44fae5240ea43743a1968..53cdb93c91480b2536cbc987a3535c5c354755d7 100644 (file)
@@ -600,6 +600,13 @@ svga_texture_transfer_map(struct pipe_context *pipe,
       break;
    }
 
+   /* Force direct map for multisample surface */
+   if (texture->nr_samples > 1) {
+      assert(svga_have_gb_objects(svga));
+      assert(sws->have_sm4_1);
+      use_direct_map = TRUE;
+   }
+
    st->use_direct_map = use_direct_map;
    pipe_resource_reference(&st->base.resource, texture);