summaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe/draw/draw_private.h
diff options
context:
space:
mode:
authorZack Rusin <[email protected]>2007-09-28 04:33:55 -0400
committerZack Rusin <[email protected]>2007-09-28 12:29:22 -0400
commita1a989f0be8dc34082b52bb3b3a6eacb36d9e75e (patch)
tree66c447fff8d693fa1a39522271bd29735d7828d6 /src/mesa/pipe/draw/draw_private.h
parentf78193f444dad2a1aee219f538bc0da3f040c2e1 (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.h14
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];