summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_setup.h
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2010-06-01 16:28:45 +0100
committerJosé Fonseca <jfonseca@vmware.com>2010-06-01 16:39:03 +0100
commit149cb7682e37ce719d693f120e68dde60ba73bdf (patch)
tree05c5bdefb18624cf2f3f2f0f9035e7147426bce5 /src/gallium/drivers/llvmpipe/lp_setup.h
parentabe4f3d1aa68aec70d329447abc890b3eaaba9cb (diff)
llvmpipe: Don't waste time interpolating unused input channels.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_setup.h')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_setup.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_setup.h b/src/gallium/drivers/llvmpipe/lp_setup.h
index 719cf98454..6a0dc55129 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup.h
+++ b/src/gallium/drivers/llvmpipe/lp_setup.h
@@ -41,8 +41,11 @@ enum lp_interp {
LP_INTERP_FACING
};
-/* Describes how to generate all the fragment shader inputs from the
- * the vertices passed into our triangle/line/point functions.
+
+/**
+ * Describes how to compute the interpolation coefficients (a0, dadx, dady)
+ * from the vertices passed into our triangle/line/point functions by the
+ * draw module.
*
* Vertices are treated as an array of float[4] values, indexed by
* src_index.
@@ -50,6 +53,7 @@ enum lp_interp {
struct lp_shader_input {
enum lp_interp interp; /* how to interpolate values */
unsigned src_index; /* where to find values in incoming vertices */
+ unsigned usage_mask; /* bitmask of TGSI_WRITEMASK_x flags */
};
struct pipe_resource;