From: Marek Olšák <marek.ol...@amd.com> All other sentinels occupy what is otherwise unused space. --- src/gallium/auxiliary/util/u_threaded_context.c | 2 -- src/gallium/auxiliary/util/u_threaded_context.h | 1 - 2 files changed, 3 deletions(-)
diff --git a/src/gallium/auxiliary/util/u_threaded_context.c b/src/gallium/auxiliary/util/u_threaded_context.c index 34206bf..71211e6 100644 --- a/src/gallium/auxiliary/util/u_threaded_context.c +++ b/src/gallium/auxiliary/util/u_threaded_context.c @@ -60,21 +60,20 @@ enum tc_call_id { }; typedef void (*tc_execute)(struct pipe_context *pipe, union tc_payload *payload); static const tc_execute execute_func[TC_NUM_CALLS]; static void tc_batch_check(struct tc_batch *batch) { tc_assert(batch->sentinel == TC_SENTINEL); - tc_assert(batch->sentinel2 == TC_SENTINEL); tc_assert(batch->num_total_call_slots <= TC_CALLS_PER_BATCH); } static void tc_debug_check(struct threaded_context *tc) { for (unsigned i = 0; i < TC_MAX_BATCHES; i++) { tc_batch_check(&tc->batch_slots[i]); tc_assert(tc->batch_slots[i].pipe == tc->pipe); } @@ -2200,21 +2199,20 @@ threaded_context_create(struct pipe_context *pipe, /* The queue size is the number of batches "waiting". Batches are removed * from the queue before being executed, so keep one tc_batch slot for that * execution. Also, keep one unused slot for an unflushed batch. */ if (!util_queue_init(&tc->queue, "gallium_drv", TC_MAX_BATCHES - 2, 1)) goto fail; for (unsigned i = 0; i < TC_MAX_BATCHES; i++) { tc->batch_slots[i].sentinel = TC_SENTINEL; - tc->batch_slots[i].sentinel2 = TC_SENTINEL; tc->batch_slots[i].pipe = pipe; util_queue_fence_init(&tc->batch_slots[i].fence); } LIST_INITHEAD(&tc->unflushed_queries); slab_create_child(&tc->pool_transfers, parent_transfer_pool); #define CTX_INIT(_member) \ tc->base._member = tc->pipe->_member ? tc_##_member : NULL diff --git a/src/gallium/auxiliary/util/u_threaded_context.h b/src/gallium/auxiliary/util/u_threaded_context.h index 5d2a10c..2e7e301 100644 --- a/src/gallium/auxiliary/util/u_threaded_context.h +++ b/src/gallium/auxiliary/util/u_threaded_context.h @@ -286,21 +286,20 @@ struct ALIGN16 tc_call { ushort call_id; union tc_payload payload; }; struct tc_batch { struct pipe_context *pipe; unsigned sentinel; unsigned num_total_call_slots; struct util_queue_fence fence; struct tc_call call[TC_CALLS_PER_BATCH]; - unsigned sentinel2; }; struct threaded_context { struct pipe_context base; struct pipe_context *pipe; struct slab_child_pool pool_transfers; tc_replace_buffer_storage_func replace_buffer_storage; unsigned map_buffer_alignment; struct list_head unflushed_queries; -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev