summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2008-11-24 10:02:44 -0700
committerBrian Paul <brianp@vmware.com>2009-01-06 08:57:28 -0700
commitdc48ae97dcd84acf691b33b0ea2e76c5fdfe18e1 (patch)
tree3381b3bbb4368e6cb605ab577a55c9c9fef2bda0
parenta48b004c442ec89905ee1dfdd778c9bca603732c (diff)
tgsi: add tgsi_declaration fields for centroid sampling, invariant optimization
(cherry picked from commit 434e255eae90b0f3d836d452b7d3b0c5aadf78b8)
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_build.c2
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_dump.c8
-rw-r--r--src/gallium/include/pipe/p_shader_tokens.h4
3 files changed, 13 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_build.c b/src/gallium/auxiliary/tgsi/tgsi_build.c
index 74614d3688..1219c7da18 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_build.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_build.c
@@ -119,6 +119,8 @@ tgsi_default_declaration( void )
declaration.UsageMask = TGSI_WRITEMASK_XYZW;
declaration.Interpolate = TGSI_INTERPOLATE_CONSTANT;
declaration.Semantic = 0;
+ declaration.Centroid = 0;
+ declaration.Invariant = 0;
declaration.Padding = 0;
declaration.Extended = 0;
diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump.c b/src/gallium/auxiliary/tgsi/tgsi_dump.c
index 485e96379c..2ed8c2bf07 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_dump.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_dump.c
@@ -248,6 +248,14 @@ iter_declaration(
TXT( ", " );
ENM( decl->Declaration.Interpolate, interpolate_names );
+ if (decl->Declaration.Centroid) {
+ TXT( ", CENTROID" );
+ }
+
+ if (decl->Declaration.Invariant) {
+ TXT( ", INVARIANT" );
+ }
+
EOL();
return TRUE;
diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h
index a562e3a6b1..d591f046fb 100644
--- a/src/gallium/include/pipe/p_shader_tokens.h
+++ b/src/gallium/include/pipe/p_shader_tokens.h
@@ -85,7 +85,9 @@ struct tgsi_declaration
unsigned UsageMask : 4; /* bitmask of TGSI_WRITEMASK_x flags */
unsigned Interpolate : 4; /* TGSI_INTERPOLATE_ */
unsigned Semantic : 1; /* BOOL, any semantic info? */
- unsigned Padding : 6;
+ unsigned Centroid : 1; /* centroid sampling */
+ unsigned Invariant : 1; /* invariant optimization */
+ unsigned Padding : 4;
unsigned Extended : 1; /* BOOL */
};