summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_private.h
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2008-05-13 13:40:22 +0100
committerKeith Whitwell <keith@tungstengraphics.com>2008-05-23 09:16:55 +0100
commit2f0d1396e4c1626b3b1ac799bd29e86a9530369e (patch)
tree656eee841d239090fea83a5b50a2f600568a4bdc /src/gallium/auxiliary/draw/draw_private.h
parentb23706454bb165a62888d264e95a98a2e4cf139c (diff)
draw: move some state into a new 'vs' area
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_private.h')
-rw-r--r--src/gallium/auxiliary/draw/draw_private.h28
1 files changed, 19 insertions, 9 deletions
diff --git a/src/gallium/auxiliary/draw/draw_private.h b/src/gallium/auxiliary/draw/draw_private.h
index fd51a57781..3418ee2b88 100644
--- a/src/gallium/auxiliary/draw/draw_private.h
+++ b/src/gallium/auxiliary/draw/draw_private.h
@@ -169,13 +169,24 @@ struct draw_context
/* pipe state that we need: */
const struct pipe_rasterizer_state *rasterizer;
struct pipe_viewport_state viewport;
+ boolean identity_viewport;
- struct draw_vertex_shader *vertex_shader;
+ struct {
+ struct draw_vertex_shader *vertex_shader;
+ uint num_vs_outputs; /**< convenience, from vertex_shader */
- boolean identity_viewport;
- uint num_vs_outputs; /**< convenience, from vertex_shader */
+ /** TGSI program interpreter runtime state */
+ struct tgsi_exec_machine machine;
+
+ /* This (and the tgsi_exec_machine struct) probably need to be moved somewhere private.
+ */
+ struct gallivm_cpu_engine *engine;
+
+ struct translate_cache *fetch_cache;
+ struct translate_cache *emit_cache;
+ } vs;
/* Clip derived state:
*/
@@ -192,16 +203,15 @@ struct draw_context
unsigned reduced_prim;
- /** TGSI program interpreter runtime state */
- struct tgsi_exec_machine machine;
-
- /* This (and the tgsi_exec_machine struct) probably need to be moved somewhere private.
- */
- struct gallivm_cpu_engine *engine;
void *driver_private;
};
+/*******************************************************************************
+ * Vertex shader code:
+ */
+boolean draw_vs_init( struct draw_context *draw );
+void draw_vs_destroy( struct draw_context *draw );