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:
@@ -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),
|
possible to clear one surface at a time (which can include several layers),
|
||||||
this surface need not be bound to the framebuffer.
|
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
|
Drawing
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
@@ -332,6 +332,17 @@ struct pipe_context {
|
|||||||
unsigned dstx, unsigned dsty,
|
unsigned dstx, unsigned dsty,
|
||||||
unsigned width, unsigned height);
|
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
|
/** Flush draw commands
|
||||||
*
|
*
|
||||||
* \param flags bitfield of enum pipe_flush_flags values.
|
* \param flags bitfield of enum pipe_flush_flags values.
|
||||||
|
Reference in New Issue
Block a user