Mesa (gallium-docs): Fill out some of the CSO info.

Corbin Simpson csimpson at kemper.freedesktop.org
Sun Dec 20 16:42:50 PST 2009


Module: Mesa
Branch: gallium-docs
Commit: c80f2b04e0d235cfe623c968a670e6d34b8c2add
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c80f2b04e0d235cfe623c968a670e6d34b8c2add

Author: Corbin Simpson <MostAwesomeDude at gmail.com>
Date:   Sun Dec 20 16:40:39 2009 -0800

Fill out some of the CSO info.

...And looks like there's already things I don't know. Go figure.

---

 src/gallium/docs/source/cso.rst         |    7 +++++
 src/gallium/docs/source/cso/blend.rst   |    2 +-
 src/gallium/docs/source/cso/dsa.rst     |   39 ++++++++++++++++++++++++++++--
 src/gallium/docs/source/cso/sampler.rst |   36 +++++++++++++++++++++++++++-
 4 files changed, 79 insertions(+), 5 deletions(-)

diff --git a/src/gallium/docs/source/cso.rst b/src/gallium/docs/source/cso.rst
index f00cc51..dab1ee5 100644
--- a/src/gallium/docs/source/cso.rst
+++ b/src/gallium/docs/source/cso.rst
@@ -1,6 +1,13 @@
 CSO
 ===
 
+CSO, Constant State Objects, are a core part of Gallium's API.
+
+CSO work on the principle of reusable state; they are created by filling
+out a state object with the desired properties, then passing that object
+to a context. The context returns an opaque context-specific handle which
+can be bound at any time for the desired effect.
+
 .. toctree::
    :glob:
 
diff --git a/src/gallium/docs/source/cso/blend.rst b/src/gallium/docs/source/cso/blend.rst
index e32d324..608f369 100644
--- a/src/gallium/docs/source/cso/blend.rst
+++ b/src/gallium/docs/source/cso/blend.rst
@@ -9,4 +9,4 @@ XXX it is unresolved what behavior should result if blend_enable is off.
 Members
 -------
 
-XXX
+XXX undocumented members
diff --git a/src/gallium/docs/source/cso/dsa.rst b/src/gallium/docs/source/cso/dsa.rst
index 5f23896..0be7af5 100644
--- a/src/gallium/docs/source/cso/dsa.rst
+++ b/src/gallium/docs/source/cso/dsa.rst
@@ -7,17 +7,50 @@ discard fragments that have passed through the fragment shader.
 Traditionally, these three tests have been clumped together in hardware, so
 they are all stored in one structure.
 
+During actual execution, the order of operations done on fragments is always:
+
+* Stencil
+* Depth
+* Alpha
+
 Depth Members
 -------------
 
-XXX
+enabled
+    Whether the depth test is enabled.
+writemask
+    Whether the depth buffer receives depth writes.
+func
+    The depth test function. One of PIPE_FUNC.
 
 Stencil Members
 ---------------
 
-XXX
+XXX document valuemask, writemask
+
+enabled
+    Whether the stencil test is enabled. For the second stencil, whether the
+    two-sided stencil is enabled.
+func
+    The stencil test function. One of PIPE_FUNC.
+ref_value
+    Stencil test reference value; used for certain functions.
+fail_op
+    The operation to carry out if the stencil test fails. One of
+    PIPE_STENCIL_OP.
+zfail_op
+    The operation to carry out if the stencil test passes but the depth test
+    fails. One of PIPE_STENCIL_OP.
+zpass_op
+    The operation to carry out if the stencil test and depth test both pass.
+    One of PIPE_STENCIL_OP.
 
 Alpha Members
 -------------
 
-XXX
+enabled
+    Whether the alpha test is enabled.
+func
+    The alpha test function. One of PIPE_FUNC.
+ref_value
+    Alpha test reference value; used for certain functions.
diff --git a/src/gallium/docs/source/cso/sampler.rst b/src/gallium/docs/source/cso/sampler.rst
index 09b959f..3a63ac6 100644
--- a/src/gallium/docs/source/cso/sampler.rst
+++ b/src/gallium/docs/source/cso/sampler.rst
@@ -4,7 +4,41 @@ Sampler
 Texture units have many options for selecting texels from loaded textures;
 this state controls an individual texture unit's texel-sampling settings.
 
+Texture coordinates are always treated as four-dimensional, and referred to
+with the traditional (S, T, R, Q) notation.
+
 Members
 -------
 
-XXX
+XXX undocumented compare_mode, compare_func
+
+wrap_s
+    How to wrap the S coordinate. One of PIPE_TEX_WRAP.
+wrap_t
+    How to wrap the T coordinate. One of PIPE_TEX_WRAP.
+wrap_r
+    How to wrap the R coordinate. One of PIPE_TEX_WRAP.
+min_img_filter
+    The filter to use when minifying texels. One of PIPE_TEX_FILTER.
+min_mip_filter
+    The filter to use when minifying mipmapped textures. One of
+    PIPE_TEX_FILTER.
+mag_img_filter
+    The filter to use when magnifying texels. One of PIPE_TEX_FILTER.
+normalized_coords
+    Whether the texture coordinates are normalized. If normalized, they will
+    always be in [0, 1]. If not, they will be in the range of each dimension
+    of the loaded texture.
+prefilter
+    XXX From the Doxy, "weird sampling state exposed by some APIs." Refine.
+lod_bias
+    The bias to apply to the level of detail.
+min_lod
+    Minimum level of detail, used to clamp LoD after bias.
+max_lod
+    Maximum level of detail, used to clamp LoD after bias.
+border_color
+    RGBA color used for out-of-bounds coordinates.
+max_anisotropy
+    Maximum filtering to apply anisotropically to textures. Setting this to
+    1.0 effectively disables anisotropic filtering.



More information about the mesa-commit mailing list