diff options
author | Zack Rusin <[email protected]> | 2007-09-28 04:33:55 -0400 |
---|---|---|
committer | Zack Rusin <[email protected]> | 2007-09-28 12:29:22 -0400 |
commit | a1a989f0be8dc34082b52bb3b3a6eacb36d9e75e (patch) | |
tree | 66c447fff8d693fa1a39522271bd29735d7828d6 /src/mesa/pipe/draw/draw_private.h | |
parent | f78193f444dad2a1aee219f538bc0da3f040c2e1 (diff) |
Redoing the way we handle vertex shaders for the draw module.
Diffstat (limited to 'src/mesa/pipe/draw/draw_private.h')
-rw-r--r-- | src/mesa/pipe/draw/draw_private.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/mesa/pipe/draw/draw_private.h b/src/mesa/pipe/draw/draw_private.h index ebef5347ab9..2f52299f74a 100644 --- a/src/mesa/pipe/draw/draw_private.h +++ b/src/mesa/pipe/draw/draw_private.h @@ -46,6 +46,7 @@ #include "draw_vertex.h" +#include "x86/rtasm/x86sse.h" /** * Basic vertex info. @@ -104,7 +105,7 @@ struct draw_stage void (*tri)( struct draw_stage *, struct prim_header * ); - + void (*end)( struct draw_stage * ); void (*reset_stipple_counter)( struct draw_stage * ); @@ -116,6 +117,15 @@ struct draw_stage #define VCACHE_OVERFLOW 4 #define VS_QUEUE_LENGTH (VCACHE_SIZE + VCACHE_OVERFLOW + 1) /* can never fill up */ +/** + * Private version of the compiled vertex_shader + */ +struct draw_vertex_shader { + const struct pipe_shader_state *state; +#if defined(__i386__) || defined(__386__) + struct x86_function sse2_program; +#endif +}; /** * Private context for the drawing module. @@ -145,7 +155,7 @@ struct draw_context struct pipe_viewport_state viewport; struct pipe_vertex_buffer vertex_buffer[PIPE_ATTRIB_MAX]; struct pipe_vertex_element vertex_element[PIPE_ATTRIB_MAX]; - struct pipe_shader_state vertex_shader; + const struct draw_vertex_shader *vertex_shader; struct pipe_vertex_buffer feedback_buffer[PIPE_ATTRIB_MAX]; struct pipe_vertex_element feedback_element[PIPE_ATTRIB_MAX]; |