Fill out some of the CSO info.

...And looks like there's already things I don't know. Go figure.
This commit is contained in:
Corbin Simpson
2009-12-20 16:40:39 -08:00
parent 8283e200af
commit c80f2b04e0
4 changed files with 79 additions and 5 deletions

View File

@@ -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:

View File

@@ -9,4 +9,4 @@ XXX it is unresolved what behavior should result if blend_enable is off.
Members
-------
XXX
XXX undocumented members

View File

@@ -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.

View File

@@ -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.