virgl: track level cleanliness rather than resource cleanliness
[mesa.git] / src / gallium / drivers / virgl / virgl_buffer.c
index 4d30c6c340e2baa26ad1e4966a5c80f694c3e6ed..3c732c90132ad3cb0d7320096f9a6873821ea26f 100644 (file)
@@ -53,7 +53,7 @@ static void *virgl_buffer_transfer_map(struct pipe_context *ctx,
    trans = virgl_resource_create_transfer(ctx, resource, &vbuf->metadata, level,
                                           usage, box);
 
-   readback = virgl_res_needs_readback(vctx, vbuf, usage);
+   readback = virgl_res_needs_readback(vctx, vbuf, usage, 0);
    if (readback)
       vs->vws->transfer_get(vs->vws, vbuf->hw_res, box, trans->base.stride,
                             trans->l_stride, trans->offset, level);
@@ -120,7 +120,6 @@ static void virgl_buffer_transfer_flush_region(struct pipe_context *ctx,
     * We'll end up flushing 25 --> 70.
     */
    util_range_add(&trans->range, box->x, box->x + box->width);
-   vbuf->clean = FALSE;
 }
 
 static const struct u_resource_vtbl virgl_buffer_vtbl =