X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fllvmpipe%2Flp_rast.c;h=939944aa791359e36fb0b5ff0e3d1de6d98f81a0;hb=01ab218bbc5c8058a99077a6bc3dc9884e9d218a;hp=b25ade3d2ecf4f96cfc77e1c357925eedb2f2110;hpb=ca76a2ba1b83ca837a198dc58ef3962d1ca71c68;p=mesa.git diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c b/src/gallium/drivers/llvmpipe/lp_rast.c index b25ade3d2ec..939944aa791 100644 --- a/src/gallium/drivers/llvmpipe/lp_rast.c +++ b/src/gallium/drivers/llvmpipe/lp_rast.c @@ -32,8 +32,9 @@ #include "util/u_surface.h" #include "util/u_pack_color.h" #include "util/u_string.h" +#include "util/u_thread.h" -#include "os/os_time.h" +#include "util/os_time.h" #include "lp_scene_queue.h" #include "lp_context.h" @@ -486,6 +487,7 @@ lp_rast_begin_query(struct lp_rasterizer_task *task, switch (pq->type) { case PIPE_QUERY_OCCLUSION_COUNTER: case PIPE_QUERY_OCCLUSION_PREDICATE: + case PIPE_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE: pq->start[task->thread_index] = task->thread_data.vis_counter; break; case PIPE_QUERY_PIPELINE_STATISTICS: @@ -512,6 +514,7 @@ lp_rast_end_query(struct lp_rasterizer_task *task, switch (pq->type) { case PIPE_QUERY_OCCLUSION_COUNTER: case PIPE_QUERY_OCCLUSION_PREDICATE: + case PIPE_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE: pq->end[task->thread_index] += task->thread_data.vis_counter - pq->start[task->thread_index]; pq->start[task->thread_index] = 0; @@ -820,7 +823,7 @@ thread_function(void *init_data) /* Wait for all threads to get here so that threads[1+] don't * get a null rast->curr_scene pointer. */ - pipe_barrier_wait( &rast->barrier ); + util_barrier_wait( &rast->barrier ); /* do work */ if (debug) @@ -830,7 +833,7 @@ thread_function(void *init_data) rast->curr_scene); /* wait for all threads to finish with this scene */ - pipe_barrier_wait( &rast->barrier ); + util_barrier_wait( &rast->barrier ); /* XXX: shouldn't be necessary: */ @@ -912,7 +915,7 @@ lp_rast_create( unsigned num_threads ) /* for synchronizing rasterization threads */ if (rast->num_threads > 0) { - pipe_barrier_init( &rast->barrier, rast->num_threads ); + util_barrier_init( &rast->barrier, rast->num_threads ); } memset(lp_dummy_tile, 0, sizeof lp_dummy_tile); @@ -971,7 +974,7 @@ void lp_rast_destroy( struct lp_rasterizer *rast ) /* for synchronizing rasterization threads */ if (rast->num_threads > 0) { - pipe_barrier_destroy( &rast->barrier ); + util_barrier_destroy( &rast->barrier ); } lp_scene_queue_destroy(rast->full_scenes);