From: Brian Date: Fri, 19 Oct 2007 18:45:54 +0000 (-0600) Subject: added get/put_tile_raw() methods X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d4a9d4bdefb0670554c2e8ee35129d40c06b64ad;p=mesa.git added get/put_tile_raw() methods --- diff --git a/src/mesa/pipe/p_state.h b/src/mesa/pipe/p_state.h index 1c3b2811a4a..daa74ec0532 100644 --- a/src/mesa/pipe/p_state.h +++ b/src/mesa/pipe/p_state.h @@ -286,13 +286,26 @@ struct pipe_surface unsigned offset; /**< offset from start of region, in bytes */ unsigned refcount; - /** get block/tile of pixels from surface */ + /** + * Get block/tile of pixels from surface as floats + * If color surface, return float[4]. If depth surface, return float[1]. + */ void (*get_tile)(struct pipe_surface *ps, - unsigned x, unsigned y, unsigned w, unsigned h, float *p); + uint x, uint y, uint w, uint h, float *p); - /** put block/tile of pixels into surface */ + /** + * Put block/tile of pixels into surface as floats + * If color surface, data is float[4]. If depth surface, data is float[1]. + */ void (*put_tile)(struct pipe_surface *ps, - unsigned x, unsigned y, unsigned w, unsigned h, const float *p); + uint x, uint y, uint w, uint h, const float *p); + + /** As above, but data is raw pixel data */ + void (*get_tile_raw)(struct pipe_surface *ps, + uint x, uint y, uint w, uint h, void *p); + /** As above, but data is raw pixel data */ + void (*put_tile_raw)(struct pipe_surface *ps, + uint x, uint y, uint w, uint h, const void *p); };