summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mesa/pipe/p_state.h21
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);
};