diff options
-rw-r--r-- | src/gallium/drivers/virgl/virgl_buffer.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/virgl/virgl_buffer.c b/src/gallium/drivers/virgl/virgl_buffer.c index 3288bb20bd1..88a22b56f9a 100644 --- a/src/gallium/drivers/virgl/virgl_buffer.c +++ b/src/gallium/drivers/virgl/virgl_buffer.c @@ -164,7 +164,8 @@ struct pipe_resource *virgl_buffer_create(struct virgl_screen *vs, vbind = pipe_to_virgl_bind(template->bind); size = template->width0; - if (vbind == VIRGL_BIND_SHADER_BUFFER) + /* SSBOs and texture buffers can written to by host compute shaders. */ + if (vbind == VIRGL_BIND_SHADER_BUFFER || vbind == VIRGL_BIND_SAMPLER_VIEW) buf->base.clean = FALSE; buf->base.hw_res = vs->vws->resource_create(vs->vws, template->target, template->format, vbind, template->width0, 1, 1, 1, 0, 0, size); |