diff options
author | Keith Whitwell <[email protected]> | 2010-09-07 14:02:15 +0100 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2010-09-07 14:02:15 +0100 |
commit | 9f6e8e1d6b8696a3ee96cba01b2466ba7a1a8ef6 (patch) | |
tree | 6d4ae00b3f30ec9fd8aa78a673a7e65ea6a2851c /src/gallium/drivers/llvmpipe/lp_setup_context.h | |
parent | 040e59851ae4c26ce0509d42d2ee71e007b3b3d1 (diff) |
llvmpipe: use opcodes instead of function pointers in bins
Also, move some state from rasterizer struct to the scene.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_setup_context.h')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_setup_context.h | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_setup_context.h b/src/gallium/drivers/llvmpipe/lp_setup_context.h index 3126cf112c1..80b356476ab 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup_context.h +++ b/src/gallium/drivers/llvmpipe/lp_setup_context.h @@ -49,8 +49,6 @@ #define LP_SETUP_NEW_SCISSOR 0x08 -struct lp_scene_queue; - /** Max number of scenes */ #define MAX_SCENES 2 @@ -84,9 +82,9 @@ struct lp_setup_context */ struct draw_stage *vbuf; unsigned num_threads; + unsigned scene_idx; struct lp_scene *scenes[MAX_SCENES]; /**< all the scenes */ struct lp_scene *scene; /**< current scene being built */ - struct lp_scene_queue *empty_scenes; /**< queue of empty scenes */ struct lp_fence *last_fence; struct llvmpipe_query *active_query; @@ -115,7 +113,6 @@ struct lp_setup_context enum setup_state { SETUP_FLUSHED, /**< scene is null */ - SETUP_EMPTY, /**< scene exists but has only state changes */ SETUP_CLEARED, /**< scene exists but has only clears */ SETUP_ACTIVE /**< scene exists and has at least one draw/query */ } state; @@ -161,14 +158,15 @@ void lp_setup_choose_triangle( struct lp_setup_context *setup ); void lp_setup_choose_line( struct lp_setup_context *setup ); void lp_setup_choose_point( struct lp_setup_context *setup ); -struct lp_scene *lp_setup_get_current_scene(struct lp_setup_context *setup); - void lp_setup_init_vbuf(struct lp_setup_context *setup); -void lp_setup_update_state( struct lp_setup_context *setup ); +void lp_setup_update_state( struct lp_setup_context *setup, + boolean update_scene); void lp_setup_destroy( struct lp_setup_context *setup ); +void lp_setup_flush_and_restart(struct lp_setup_context *setup); + void lp_setup_print_triangle(struct lp_setup_context *setup, const float (*v0)[4], @@ -196,4 +194,3 @@ lp_setup_bin_triangle( struct lp_setup_context *setup, void lp_setup_flush_and_restart(struct lp_setup_context *setup); #endif - |