From 72b3e3fee37413fefe205fa03a111a0180ed19c1 Mon Sep 17 00:00:00 2001 From: Luca Barbieri Date: Thu, 15 Apr 2010 09:02:29 +0200 Subject: 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. --- src/gallium/docs/source/index.rst | 1 + src/gallium/docs/source/resources.rst | 41 +++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 src/gallium/docs/source/resources.rst (limited to 'src/gallium/docs') 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 -- cgit v1.2.3