Mesa (master): gallium-docs: Start doc'ing screen buffers.

Corbin Simpson csimpson at kemper.freedesktop.org
Thu Jan 28 11:07:54 UTC 2010


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

Author: Corbin Simpson <MostAwesomeDude at gmail.com>
Date:   Thu Jan 28 02:43:45 2010 -0800

gallium-docs: Start doc'ing screen buffers.

---

 src/gallium/docs/source/screen.rst |   51 +++++++++++++++++++++++++++++++++++-
 1 files changed, 50 insertions(+), 1 deletions(-)

diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst
index 72bb75a..7830a9e 100644
--- a/src/gallium/docs/source/screen.rst
+++ b/src/gallium/docs/source/screen.rst
@@ -6,6 +6,41 @@ A screen is an object representing the context-independent part of a device.
 Useful Flags
 ------------
 
+.. _pipe_buffer_usage:
+
+PIPE_BUFFER_USAGE
+^^^^^^^^^^^^^^^^^
+
+These flags control buffer creation. Buffers may only have one role, so
+care should be taken to not allocate a buffer with the wrong usage.
+
+* ``PIXEL``: This is the flag to use for all textures.
+* ``VERTEX``: A vertex buffer.
+* ``INDEX``: An element buffer.
+* ``CONSTANT``: A buffer of shader constants.
+
+Buffers are inevitably abstracting the pipe's underlying memory management,
+so many of their usage flags can be used to direct the way the buffer is
+handled.
+
+* ``CPU_READ``, ``CPU_WRITE``: Whether the user will map and, in the case of
+  the latter, write to, the buffer. The convenience flag ``CPU_READ_WRITE`` is
+  available to signify a read/write buffer.
+* ``GPU_READ``, ``GPU_WRITE``: Whether the driver will internally need to
+  read from or write to the buffer. The latter will only happen if the buffer
+  is made into a render target.
+* ``DISCARD``: When set on a map, the contents of the map will be discarded
+  beforehand. Cannot be used with ``CPU_READ``.
+* ``DONTBLOCK``: When set on a map, the map will fail if the buffer cannot be
+  mapped immediately.
+* ``UNSYNCHRONIZED``: When set on a map, any outstanding operations on the
+  buffer will be ignored. The interaction of any writes to the map and any
+  operations pending with the buffer are undefined. Cannot be used with
+  ``CPU_READ``.
+* ``FLUSH_EXPLICIT``: When set on a map, written ranges of the map require
+  explicit flushes using :ref:`buffer_flush_mapped_range`. Requires
+  ``CPU_WRITE``.
+
 .. _pipe_texture_usage:
 
 PIPE_TEXTURE_USAGE
@@ -63,7 +98,21 @@ Returns TRUE if all usages can be satisfied.
 
    ``PIPE_TEXTURE_USAGE_DYNAMIC`` is not a valid usage.
 
+.. _texture_create:
+
 texture_create
 ^^^^^^^^^^^^^^
 
-Given a template of texture setup, create a BO-backed texture.
+Given a template of texture setup, create a buffer and texture.
+
+texture_blanket
+^^^^^^^^^^^^^^^
+
+Like :ref:`texture_create`, but use a supplied buffer instead of creating a
+new one.
+
+texture_destroy
+^^^^^^^^^^^^^^^
+
+Destroy a texture. The buffer backing the texture is destroyed if it has no
+more references.




More information about the mesa-commit mailing list