From: Michel Dänzer Date: Fri, 2 Oct 2009 16:13:26 +0000 (+0200) Subject: gallium: Add PIPE_TRANSFER_MAP_DIRECTLY usage flag. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9db647bb7ac5b8e560c49222b4e0c98a3acc4672;p=mesa.git gallium: Add PIPE_TRANSFER_MAP_DIRECTLY usage flag. Asks the driver to map the texture storage directly or return NULL if that's not possible. --- diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index ad42beff471..f8fa1e3f49d 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -193,7 +193,18 @@ enum pipe_texture_target { enum pipe_transfer_usage { PIPE_TRANSFER_READ = (1 << 0), PIPE_TRANSFER_WRITE = (1 << 1), - PIPE_TRANSFER_READ_WRITE = PIPE_TRANSFER_READ | PIPE_TRANSFER_WRITE /**< Read/modify/write */ + /** Read/modify/write */ + PIPE_TRANSFER_READ_WRITE = PIPE_TRANSFER_READ | PIPE_TRANSFER_WRITE, + /** + * The transfer should map the texture storage directly. The driver may + * return NULL if that isn't possible, and the state tracker needs to cope + * with that and use an alternative path without this flag. + * + * E.g. the state tracker could have a simpler path which maps textures and + * does read/modify/write cycles on them directly, and a more complicated + * path which uses minimal read and write transfers. + */ + PIPE_TRANSFER_MAP_DIRECTLY = (1 << 2) };