summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_vs.h
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2008-05-27 17:49:13 +0100
committerKeith Whitwell <keith@tungstengraphics.com>2008-05-27 17:52:24 +0100
commit660fee8351542dadc0d5550164e753f7c2d67261 (patch)
tree254799be2607c891feb935053c16d75053a6b915 /src/gallium/auxiliary/draw/draw_vs.h
parent2ec419d40dba43305c28fca9658ea00541f67821 (diff)
draw: ensure vs outputs mapped correctly to vinfo attribs
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_vs.h')
-rw-r--r--src/gallium/auxiliary/draw/draw_vs.h19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/gallium/auxiliary/draw/draw_vs.h b/src/gallium/auxiliary/draw/draw_vs.h
index 17902ab86a..01171bc23d 100644
--- a/src/gallium/auxiliary/draw/draw_vs.h
+++ b/src/gallium/auxiliary/draw/draw_vs.h
@@ -38,22 +38,23 @@
struct draw_context;
struct pipe_shader_state;
-struct draw_vs_input
+struct draw_varient_input
{
enum pipe_format format;
unsigned buffer;
unsigned offset;
};
-struct draw_vs_output
+struct draw_varient_output
{
- enum pipe_format format;
- unsigned offset;
+ enum pipe_format format; /* output format */
+ unsigned vs_output:8; /* which vertex shader output is this? */
+ unsigned offset:24; /* offset into output vertex */
};
-struct draw_vs_element {
- struct draw_vs_input in;
- struct draw_vs_output out;
+struct draw_varient_element {
+ struct draw_varient_input in;
+ struct draw_varient_output out;
};
struct draw_vs_varient_key {
@@ -64,7 +65,7 @@ struct draw_vs_varient_key {
unsigned viewport:1;
unsigned clip:1;
unsigned pad:5;
- struct draw_vs_element element[PIPE_MAX_ATTRIBS];
+ struct draw_varient_element element[PIPE_MAX_ATTRIBS];
};
struct draw_vs_varient;
@@ -201,7 +202,7 @@ struct draw_vs_varient *draw_vs_varient_generic( struct draw_vertex_shader *vs,
static INLINE int draw_vs_varient_keysize( const struct draw_vs_varient_key *key )
{
- return 2 * sizeof(int) + key->nr_elements * sizeof(struct draw_vs_element);
+ return 2 * sizeof(int) + key->nr_elements * sizeof(struct draw_varient_element);
}
static INLINE int draw_vs_varient_key_compare( const struct draw_vs_varient_key *a,