From: Thomas Hellstrom Date: Wed, 8 May 2019 14:26:27 +0000 (+0200) Subject: svga: Set the rendered-to flag for dma transfers to surfaces X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a119da3bc9bde850717f9f03a2eeddef520b9416;p=mesa.git 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 Reviewed-by: Brian Paul Reviewed-by: Charmaine Lee --- diff --git a/src/gallium/drivers/svga/svga_resource_texture.c b/src/gallium/drivers/svga/svga_resource_texture.c index e9449e8a1ff..307b5ca4a10 100644 --- a/src/gallium/drivers/svga/svga_resource_texture.c +++ b/src/gallium/drivers/svga/svga_resource_texture.c @@ -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);