docs: PIPE_TEXTURE_USAGE info.
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Mon, 18 Jan 2010 23:09:30 +0000 (15:09 -0800)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Mon, 18 Jan 2010 23:30:28 +0000 (15:30 -0800)
From IRC with Jakob.

src/gallium/docs/source/screen.rst

index 9631e6967ef00700195314ccdcf98eb3d00d8daa..8cb7c70cd337dfdbc2400cecb481629e8abce4e0 100644 (file)
@@ -3,6 +3,26 @@ Screen
 
 A screen is an object representing the context-independent part of a device.
 
+Useful Flags
+------------
+
+PIPE_TEXTURE_USAGE
+^^^^^^^^^^^^^^^^^^
+
+These flags determine the possible roles a texture may be used for during its
+lifetime. Texture usage flags are cumulative and may be combined to create a
+texture that can be used as multiple things.
+
+* ``RENDER_TARGET``: A colorbuffer or pixelbuffer.
+* ``DISPLAY_TARGET``: A sharable buffer that can be given to another process.
+* ``PRIMARY``: A frontbuffer or scanout buffer.
+* ``DEPTH_STENCIL``: A depthbuffer, stencilbuffer, or Z buffer. Gallium does
+  not explicitly provide for stencil-only buffers, so any stencilbuffer
+  validated here is implicitly also a depthbuffer.
+* ``SAMPLER``: A texture that may be sampled from in a fragment or vertex
+  shader.
+* ``DYNAMIC``: XXX undefined
+
 Methods
 -------
 
@@ -33,6 +53,10 @@ is_format_supported
 
 See if a format can be used in a specific manner.
 
+**usage** is a bitmask of ``PIPE_TEXTURE_USAGE`` flags.
+
+Returns TRUE if all usages can be satisfied.
+
 texture_create
 ^^^^^^^^^^^^^^