From dcb4ec5ae1874d57cc668baac483654e0dfeb4aa Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 22 May 2012 13:03:36 -0600 Subject: [PATCH] gallium/docs: beef up the docs related to color clamping MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Marek Olšák --- src/gallium/docs/source/cso/rasterizer.rst | 9 +++++++++ src/gallium/docs/source/screen.rst | 12 +++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/gallium/docs/source/cso/rasterizer.rst b/src/gallium/docs/source/cso/rasterizer.rst index 150e6df88ae..f4e24f0b438 100644 --- a/src/gallium/docs/source/cso/rasterizer.rst +++ b/src/gallium/docs/source/cso/rasterizer.rst @@ -20,6 +20,11 @@ OpenGL: glClampColor(GL_CLAMP_VERTEX_COLOR) in GL 3.0 or GL_ARB_color_buffer_flo D3D11: seems always disabled +Note the PIPE_CAP_VERTEX_COLOR_CLAMPED query indicates whether or not the +driver supports this control. If it's not supported, the state tracker may +have to insert extra clamping code. + + clamp_fragment_color ^^^^^^^^^^^^^^^^^^^^ @@ -30,6 +35,10 @@ OpenGL: glClampColor(GL_CLAMP_FRAGMENT_COLOR) in GL 3.0 or ARB_color_buffer_floa D3D11: seems always disabled +Note the PIPE_CAP_FRAGMENT_COLOR_CLAMPED query indicates whether or not the +driver supports this control. If it's not supported, the state tracker may +have to insert extra clamping code. + Shading ------- diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst index 2bddf1bbb3b..17adf4deb81 100644 --- a/src/gallium/docs/source/screen.rst +++ b/src/gallium/docs/source/screen.rst @@ -83,17 +83,23 @@ The integer capabilities: * ``PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR``: Whether the driver supports per-instance vertex attribs. * ``PIPE_CAP_FRAGMENT_COLOR_CLAMPED``: Whether fragment color clamping is - supported. + supported. That is, is the pipe_rasterizer_state::clamp_fragment_color + flag supported by the driver? If not, the state tracker will insert + clamping code into the fragment shaders when needed. + * ``PIPE_CAP_MIXED_COLORBUFFER_FORMATS``: Whether mixed colorbuffer formats are supported, e.g. RGBA8 and RGBA32F as the first and second colorbuffer, resp. * ``PIPE_CAP_VERTEX_COLOR_UNCLAMPED``: Whether the driver is capable of outputting unclamped vertex colors from a vertex shader. If unsupported, the vertex colors are always clamped. This is the default for DX9 hardware. * ``PIPE_CAP_VERTEX_COLOR_CLAMPED``: Whether the driver is capable of - clamping vertex colors when they come out of a vertex shader. If unsupported, + clamping vertex colors when they come out of a vertex shader, as specified + by the pipe_rasterizer_state::clamp_vertex_color flag. If unsupported, the vertex colors are never clamped. This is the default for DX10 hardware. If both clamped and unclamped CAPs are supported, the clamping can be - controlled through pipe_rasterizer_state. + controlled through pipe_rasterizer_state. If the driver cannot do vertex + color clamping, the state tracker may insert clamping code into the vertex + shader. * ``PIPE_CAP_GLSL_FEATURE_LEVEL``: Whether the driver supports features equivalent to a specific GLSL version. E.g. for GLSL 1.3, report 130. * ``PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION``: Whether quads adhere to -- 2.11.0