diff options
author | Michel Dänzer <[email protected]> | 2009-04-04 19:01:51 +0200 |
---|---|---|
committer | Michel Dänzer <[email protected]> | 2009-04-04 19:01:51 +0200 |
commit | eb168e26aa63f11a47d70c4555cae30691a2cd57 (patch) | |
tree | 8dcde608f562fc781027b4e0e21263f9f295e70e /src/gallium/include | |
parent | ba14b043bc1ab87e8e5e46e6e909a8def9535028 (diff) |
gallium: Clean up driver clear() interface.
Only allows clearing currently bound buffers, but colour and depth/stencil in
a single call.
Diffstat (limited to 'src/gallium/include')
-rw-r--r-- | src/gallium/include/pipe/p_context.h | 16 | ||||
-rw-r--r-- | src/gallium/include/pipe/p_defines.h | 9 |
2 files changed, 21 insertions, 4 deletions
diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h index 2452bf3522b..29095dcdc3b 100644 --- a/src/gallium/include/pipe/p_context.h +++ b/src/gallium/include/pipe/p_context.h @@ -205,12 +205,20 @@ struct pipe_context { unsigned dstx, unsigned dsty, unsigned width, unsigned height, unsigned value); - - void (*clear)(struct pipe_context *pipe, - struct pipe_surface *ps, - unsigned clearValue); /*@}*/ + /** + * Clear the specified set of currently bound buffers to specified values. + * + * buffers is a bitfield of PIPE_CLEAR_* values. + * + * rgba is a pointer to an array of one float for each of r, g, b, a. + */ + void (*clear)(struct pipe_context *pipe, + unsigned buffers, + const float *rgba, + double depth, + unsigned stencil); /** Flush rendering (flags = bitmask of PIPE_FLUSH_x tokens) */ void (*flush)( struct pipe_context *pipe, diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 8e4f253359a..81defa445bf 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -186,6 +186,15 @@ enum pipe_texture_target { /** + * Clear buffer bits + */ +/** All color buffers currently bound */ +#define PIPE_CLEAR_COLOR (1 << 0) +/** Depth/stencil combined */ +#define PIPE_CLEAR_DEPTHSTENCIL (1 << 1) + + +/** * Transfer object usage flags */ enum pipe_transfer_usage { |