summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_quad.h
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2009-08-14 11:33:26 +0100
committerJosé Fonseca <jfonseca@vmware.com>2009-08-29 09:21:32 +0100
commit17aec9304ca86feac7ca29e17dda73a10cdd08a5 (patch)
tree54f83e73aa20465638d70d1b0fc4ab7aec1bfe01 /src/gallium/drivers/llvmpipe/lp_quad.h
parentb6f43b445b43188b10cb57e4cff0190ae2cee789 (diff)
llvmpipe: Compute interpolation coeffs directly into SoA layout.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_quad.h')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_quad.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_quad.h b/src/gallium/drivers/llvmpipe/lp_quad.h
index 96cd27de81..d4b5fc5d86 100644
--- a/src/gallium/drivers/llvmpipe/lp_quad.h
+++ b/src/gallium/drivers/llvmpipe/lp_quad.h
@@ -89,6 +89,17 @@ struct quad_header_output
/**
+ * Input interpolation coefficients
+ */
+struct quad_interp_coef
+{
+ float ALIGN16_ATTRIB a0[PIPE_MAX_SHADER_INPUTS][NUM_CHANNELS];
+ float ALIGN16_ATTRIB dadx[PIPE_MAX_SHADER_INPUTS][NUM_CHANNELS];
+ float ALIGN16_ATTRIB dady[PIPE_MAX_SHADER_INPUTS][NUM_CHANNELS];
+};
+
+
+/**
* Encodes everything we need to know about a 2x2 pixel block. Uses
* "Channel-Serial" or "SoA" layout.
*/
@@ -100,7 +111,7 @@ struct quad_header {
/* Redundant/duplicated:
*/
const struct tgsi_interp_coef *posCoef;
- const struct tgsi_interp_coef *coef;
+ const struct quad_interp_coef *coef;
};
#endif /* LP_QUAD_H */