Mesa (gallium-clip-state): tgsi: add TGSI_PROPERTY_PROHIBIT_UCPS

Christoph Bumiller chrisbmr at kemper.freedesktop.org
Fri Jan 6 05:22:49 PST 2012


Module: Mesa
Branch: gallium-clip-state
Commit: c02bfeb81ad9f62041a2285ea6373bbbd602912a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c02bfeb81ad9f62041a2285ea6373bbbd602912a

Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Fri Jan  6 14:21:43 2012 +0100

tgsi: add TGSI_PROPERTY_PROHIBIT_UCPS

---

 src/gallium/auxiliary/tgsi/tgsi_strings.c  |    1 +
 src/gallium/docs/source/tgsi.rst           |   11 +++++++++++
 src/gallium/include/pipe/p_shader_tokens.h |    3 ++-
 3 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/src/gallium/auxiliary/tgsi/tgsi_strings.c b/src/gallium/auxiliary/tgsi/tgsi_strings.c
index ee4ce08..084d70e 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_strings.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_strings.c
@@ -99,6 +99,7 @@ const char *tgsi_property_names[TGSI_PROPERTY_COUNT] =
    "FS_COORD_PIXEL_CENTER",
    "FS_COLOR0_WRITES_ALL_CBUFS",
    "FS_DEPTH_LAYOUT"
+   "VS_PROHIBIT_UCPS"
 };
 
 const char *tgsi_type_names[5] =
diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst
index 45af528..1e54087 100644
--- a/src/gallium/docs/source/tgsi.rst
+++ b/src/gallium/docs/source/tgsi.rst
@@ -1741,6 +1741,17 @@ Specifies that writes to the fragment shader color 0 are replicated to all
 bound cbufs. This facilitates OpenGL's fragColor output vs fragData[0] where
 fragData is directed to a single color buffer, but fragColor is broadcast.
 
+VS_PROHIBIT_UCPS
+""""""""""""""""""""""""""
+If this property is set on the program bound to the shader stage before the
+fragment shader, user clip planes should have no effect (be disabled) even if
+that shader does not write to any clip distance outputs and the rasterizer's
+clip_plane_enable is non-zero.
+This property is only supported by drivers that also support shader clip
+distance outputs.
+This is useful for APIs that don't have UCPs and where clip distances written
+by a shader cannot be disabled.
+
 
 Texture Sampling and Texture Formats
 ------------------------------------
diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h
index 10cfaf6..5dfb4e3 100644
--- a/src/gallium/include/pipe/p_shader_tokens.h
+++ b/src/gallium/include/pipe/p_shader_tokens.h
@@ -189,7 +189,8 @@ union tgsi_immediate_data
 #define TGSI_PROPERTY_FS_COORD_PIXEL_CENTER  4
 #define TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS 5
 #define TGSI_PROPERTY_FS_DEPTH_LAYOUT        6
-#define TGSI_PROPERTY_COUNT                  7
+#define TGSI_PROPERTY_VS_PROHIBIT_UCPS       7
+#define TGSI_PROPERTY_COUNT                  8
 
 struct tgsi_property {
    unsigned Type         : 4;  /**< TGSI_TOKEN_TYPE_PROPERTY */



More information about the mesa-commit mailing list