svga: Set the rendered-to flag for dma transfers to surfaces

The rendered-to flag indicates that the HW surface content is more recent
than the content of the mob. That's the case after a SurfaceDMA transfer
to the surface.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
This commit is contained in:
Thomas Hellstrom 2019-05-08 16:26:27 +02:00
parent fb6d09764d
commit a119da3bc9
1 changed files with 4 additions and 0 deletions

View File

@ -753,6 +753,9 @@ svga_texture_transfer_unmap_dma(struct svga_context *svga,
if (st->base.usage & PIPE_TRANSFER_WRITE) {
/* Use DMA to transfer texture data */
SVGA3dSurfaceDMAFlags flags;
struct pipe_resource *texture = st->base.resource;
struct svga_texture *tex = svga_texture(texture);
memset(&flags, 0, sizeof flags);
if (st->base.usage & PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE) {
@ -763,6 +766,7 @@ svga_texture_transfer_unmap_dma(struct svga_context *svga,
}
svga_transfer_dma(svga, st, SVGA3D_WRITE_HOST_VRAM, flags);
svga_set_texture_rendered_to(tex, st->slice, st->base.level);
}
FREE(st->swbuf);