summaryrefslogtreecommitdiffstats
path: root/src/gallium/docs/source
diff options
context:
space:
mode:
authorChristoph Bumiller <[email protected]>2013-04-12 13:42:01 +0200
committerChristoph Bumiller <[email protected]>2013-04-18 20:35:40 +0200
commit729abfd0f53c27ba58da95882bef985945933c65 (patch)
tree47623e71727be33fda952923809fb9b8391311ee /src/gallium/docs/source
parent246ff8f887e10a2828fb43104a06ba6f2505b74d (diff)
st/mesa: optionally apply texture swizzle to border color v2
This is the only sane solution for nv50 and nvc0 (really, trust me), but since on other hardware the border colour is tightly coupled with texture state they'd have to undo the swizzle, so I've added a cap. The dependency of update_sampler on the texture updates was introduced to avoid doing the apply_depthmode to the swizzle twice. v2: Moved swizzling helper to u_format.c, extended the CAP to provide more accurate information.
Diffstat (limited to 'src/gallium/docs/source')
-rw-r--r--src/gallium/docs/source/cso/sampler.rst6
-rw-r--r--src/gallium/docs/source/screen.rst11
2 files changed, 15 insertions, 2 deletions
diff --git a/src/gallium/docs/source/cso/sampler.rst b/src/gallium/docs/source/cso/sampler.rst
index 26ffc181031..9959793a332 100644
--- a/src/gallium/docs/source/cso/sampler.rst
+++ b/src/gallium/docs/source/cso/sampler.rst
@@ -101,7 +101,9 @@ max_lod
border_color
Color union used for texel coordinates that are outside the [0,width-1],
[0, height-1] or [0, depth-1] ranges. Interpreted according to sampler
- view format.
+ view format, unless the driver reports
+ PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK, in which case special care has to be
+ taken (see description of the cap).
max_anisotropy
Maximum anistropy ratio to use when sampling from textures. For example,
if max_anistropy=4, a region of up to 1 by 4 texels will be sampled.
@@ -111,4 +113,4 @@ max_anisotropy
seamless_cube_map
If set, the bilinear filter of a cube map may take samples from adjacent
cube map faces when sampled near a texture border to produce a seamless
- look. \ No newline at end of file
+ look.
diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst
index 4b01d77322e..3ab7e9e6906 100644
--- a/src/gallium/docs/source/screen.rst
+++ b/src/gallium/docs/source/screen.rst
@@ -151,6 +151,17 @@ The integer capabilities:
dedicated memory should return 1 and all software rasterizers should return 0.
* ``PIPE_CAP_QUERY_PIPELINE_STATISTICS``: Whether PIPE_QUERY_PIPELINE_STATISTICS
is supported.
+* ``PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK``: Bitmask indicating whether special
+ considerations have to be given to the interaction between the border color
+ in the sampler object and the sampler view used with it.
+ If PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_R600 is set, the border color
+ may be affected in undefined ways for any kind of permutational swizzle
+ (any swizzle XYZW where X/Y/Z/W are not ZERO, ONE, or R/G/B/A respectively)
+ in the sampler view.
+ If PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_NV50 is set, the border color
+ state should be swizzled manually according to the swizzle in the sampler
+ view it is intended to be used with, or herein undefined results may occur
+ for permutational swizzles.
.. _pipe_capf: