summaryrefslogtreecommitdiff
path: root/src/gallium/include/pipe/p_context.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/include/pipe/p_context.h')
-rw-r--r--src/gallium/include/pipe/p_context.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h
index b74e649219..2c7e1e7799 100644
--- a/src/gallium/include/pipe/p_context.h
+++ b/src/gallium/include/pipe/p_context.h
@@ -565,12 +565,19 @@ struct pipe_context {
* out_transfer will contain the transfer object that must be passed
* to all the other transfer functions. It also contains useful
* information (like texture strides).
+ *
+ * If \p user_stride is non-zero, the driver should attempt to provide
+ * a transfer with stride == user_stride. However, the resulting stride
+ * may be different, e.g. if user_stride is not sufficiently aligned.
+ * The map may also fail if user_stride is insufficiently aligned or too
+ * large, and the behavior is undefined if user_stride is too small.
*/
void *(*transfer_map)(struct pipe_context *,
struct pipe_resource *resource,
unsigned level,
unsigned usage, /* a combination of PIPE_TRANSFER_x */
const struct pipe_box *,
+ unsigned user_stride,
struct pipe_transfer **out_transfer);
/* If transfer was created with WRITE|FLUSH_EXPLICIT, only the