summaryrefslogtreecommitdiff
path: root/src/gallium/docs
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-04-15 09:02:29 +0200
committerLuca Barbieri <luca@luca-barbieri.com>2010-08-20 12:03:59 +0200
commit72b3e3fee37413fefe205fa03a111a0180ed19c1 (patch)
tree3f19fb6d02ede3ecbe574f2112da28a9912cd53b /src/gallium/docs
parent9b3362932df0ec27efd605dfd0838c76111bb23e (diff)
gallium: add PIPE_TEXTURE_RECT target
This allows to properly support OpenGL rectangle textures in a well defined way, especially on drivers that don't expose PIPE_CAP_NPOT_TEXTURES.
Diffstat (limited to 'src/gallium/docs')
-rw-r--r--src/gallium/docs/source/index.rst1
-rw-r--r--src/gallium/docs/source/resources.rst41
2 files changed, 42 insertions, 0 deletions
diff --git a/src/gallium/docs/source/index.rst b/src/gallium/docs/source/index.rst
index 6c19842dac..2a73e3ab59 100644
--- a/src/gallium/docs/source/index.rst
+++ b/src/gallium/docs/source/index.rst
@@ -15,6 +15,7 @@ Contents:
debugging
tgsi
screen
+ resources
context
cso
distro
diff --git a/src/gallium/docs/source/resources.rst b/src/gallium/docs/source/resources.rst
new file mode 100644
index 0000000000..a380e5080c
--- /dev/null
+++ b/src/gallium/docs/source/resources.rst
@@ -0,0 +1,41 @@
+Resources
+=========
+
+Resources represent objects that hold data: textures and buffers.
+
+They are mostly modelled after the resources in Direct3D 10/11, but with a
+different transfer/update mechanism, and more features for OpenGL support.
+
+Resource targets
+----------------
+
+Resource targets determine the type of a resource.
+
+Note that drivers may not actually have the restrictions listed regarding
+coordinate normalization and wrap modes, and in fact efficient OpenCL
+support will probably require drivers that don't have any of them, which
+will probably be advertised with an appropriate cap.
+
+TODO: document all targets. Note that both 3D and cube have restrictions
+that depend on the hardware generation.
+
+TODO: can buffers have a non-R8 format?
+
+PIPE_TEXTURE_RECT
+^^^^^^^^^^^^^^^^^
+2D surface with OpenGL GL_TEXTURE_RECTANGLE semantics.
+
+depth must be 1
+- last_level must be 0
+- Must use unnormalized coordinates
+- Must use a clamp wrap mode
+
+PIPE_TEXTURE_2D
+^^^^^^^^^^^^^^^
+2D surface accessed with normalized coordinates.
+
+- If PIPE_CAP_NPOT_TEXTURES is not supported,
+ width and height must be powers of two
+- Mipmaps can be used
+- Must use normalized coordinates
+- No special restrictions on wrap modes