llvmpipe: make sure binning is active when we begin/end a query
authorBrian Paul <brianp@vmware.com>
Wed, 12 Jan 2011 23:13:13 +0000 (16:13 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 18 Jan 2011 21:02:01 +0000 (14:02 -0700)
This fixes a potential failure when a begin/end_query is the first
thing to happen after flushing the scene.

NOTE: This is a candidate for the 7.10 and 7.9 branches.

src/gallium/drivers/llvmpipe/lp_setup.c

index 5d83a1e3579b5d51390b951b51096c6406ddf16a..7b7b2721ba886648f3fda5e2eb7de78f207056d4 100644 (file)
@@ -1064,6 +1064,8 @@ lp_setup_begin_query(struct lp_setup_context *setup,
 {
    /* init the query to its beginning state */
    assert(setup->active_query == NULL);
+
+   set_scene_state(setup, SETUP_ACTIVE, "begin_query");
    
    if (setup->scene) {
       if (!lp_scene_bin_everywhere(setup->scene,
@@ -1093,6 +1095,8 @@ lp_setup_end_query(struct lp_setup_context *setup, struct llvmpipe_query *pq)
 {
    union lp_rast_cmd_arg dummy = { 0 };
 
+   set_scene_state(setup, SETUP_ACTIVE, "end_query");
+
    assert(setup->active_query == pq);
    setup->active_query = NULL;