gallium/util: don't modify usage in pipe_buffer_write
All drivers were already doing it except virgl. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
1ffe77e7bb
commit
8e3e9d2839
|
@ -339,15 +339,8 @@ pipe_buffer_write(struct pipe_context *pipe,
|
|||
unsigned size,
|
||||
const void *data)
|
||||
{
|
||||
unsigned access = PIPE_TRANSFER_WRITE;
|
||||
|
||||
if (offset == 0 && size == buf->width0) {
|
||||
access |= PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE;
|
||||
} else {
|
||||
access |= PIPE_TRANSFER_DISCARD_RANGE;
|
||||
}
|
||||
|
||||
pipe->buffer_subdata(pipe, buf, access, offset, size, data);
|
||||
/* Don't set any other usage bits. Drivers should derive them. */
|
||||
pipe->buffer_subdata(pipe, buf, PIPE_TRANSFER_WRITE, offset, size, data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -89,6 +89,11 @@ static void virgl_buffer_subdata(struct pipe_context *pipe,
|
|||
{
|
||||
struct pipe_box box;
|
||||
|
||||
if (offset == 0 && size == resource->width0)
|
||||
usage |= PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE;
|
||||
else
|
||||
usage |= PIPE_TRANSFER_DISCARD_RANGE;
|
||||
|
||||
u_box_1d(offset, size, &box);
|
||||
virgl_transfer_inline_write(pipe, resource, 0, usage, &box, data, 0, 0);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue