llvmpipe: make sure binning is active when we begin/end a query

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.
(cherry picked from commit 42dbc2530b)
This commit is contained in:
Brian Paul 2011-01-12 16:13:13 -07:00
parent 8ad9670866
commit edfe056747

View file

@ -975,6 +975,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,
@ -1004,6 +1006,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;