gallium-docs: Start doc'ing screen buffers.
This commit is contained in:
@@ -6,6 +6,41 @@ A screen is an object representing the context-independent part of a device.
|
|||||||
Useful Flags
|
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:
|
||||||
|
|
||||||
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.
|
``PIPE_TEXTURE_USAGE_DYNAMIC`` is not a valid usage.
|
||||||
|
|
||||||
|
.. _texture_create:
|
||||||
|
|
||||||
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.
|
||||||
|
Reference in New Issue
Block a user