Mesa (master): gallium: Add PIPE_TRANSFER_MAP_DIRECTLY usage flag.

Michel Dänzer daenzer at kemper.freedesktop.org
Fri Oct 2 16:17:41 UTC 2009


Module: Mesa
Branch: master
Commit: 9db647bb7ac5b8e560c49222b4e0c98a3acc4672
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9db647bb7ac5b8e560c49222b4e0c98a3acc4672

Author: Michel Dänzer <daenzer at vmware.com>
Date:   Fri Oct  2 18:13:26 2009 +0200

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.

---

 src/gallium/include/pipe/p_defines.h |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h
index ad42bef..f8fa1e3 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)
 };
 
 




More information about the mesa-commit mailing list