diff options
Diffstat (limited to 'src/mesa/pipe/p_state.h')
-rw-r--r-- | src/mesa/pipe/p_state.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/mesa/pipe/p_state.h b/src/mesa/pipe/p_state.h index 1c3b2811a4..daa74ec053 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); }; |