gallium: add interface to clear buffers

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Ilia Mirkin
2014-03-25 17:10:54 -04:00
parent 4c035706dc
commit 24b86cb304
2 changed files with 16 additions and 0 deletions

View File

@@ -218,6 +218,11 @@ is is also possible to only clear one or the other part). While it is only
possible to clear one surface at a time (which can include several layers),
this surface need not be bound to the framebuffer.
``clear_buffer`` clears a PIPE_BUFFER resource with the specified clear value
(which may be multiple bytes in length). Logically this is a memset with a
multi-byte element value starting at offset bytes from resource start, going
for size bytes. It is guaranteed that size % clear_value_size == 0.
Drawing
^^^^^^^

View File

@@ -332,6 +332,17 @@ struct pipe_context {
unsigned dstx, unsigned dsty,
unsigned width, unsigned height);
/**
* Clear a buffer. Runs a memset over the specified region with the element
* value passed in through clear_value of size clear_value_size.
*/
void (*clear_buffer)(struct pipe_context *pipe,
struct pipe_resource *res,
unsigned offset,
unsigned size,
const void *clear_value,
int clear_value_size);
/** Flush draw commands
*
* \param flags bitfield of enum pipe_flush_flags values.