mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 18:20:10 +01:00
Revert "gallium/u_threaded: align batches and call slots to 16 bytes"
This reverts commit 3b1ce49bc1.
It will be completely rewritten, but let's revert this first.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.eric.pelloux-prayer@amd.com>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10606>
This commit is contained in:
parent
20538b50c7
commit
954f59f2af
2 changed files with 3 additions and 12 deletions
|
|
@ -3217,7 +3217,7 @@ tc_destroy(struct pipe_context *_pipe)
|
|||
slab_destroy_child(&tc->pool_transfers);
|
||||
assert(tc->batch_slots[tc->next].num_total_call_slots == 0);
|
||||
pipe->destroy(pipe);
|
||||
os_free_aligned(tc);
|
||||
FREE(tc);
|
||||
}
|
||||
|
||||
static const tc_execute execute_func[TC_NUM_CALLS] = {
|
||||
|
|
@ -3258,22 +3258,14 @@ threaded_context_create(struct pipe_context *pipe,
|
|||
if (!debug_get_bool_option("GALLIUM_THREAD", util_get_cpu_caps()->nr_cpus > 1))
|
||||
return pipe;
|
||||
|
||||
tc = os_malloc_aligned(sizeof(struct threaded_context), 16);
|
||||
tc = CALLOC_STRUCT(threaded_context);
|
||||
if (!tc) {
|
||||
pipe->destroy(pipe);
|
||||
return NULL;
|
||||
}
|
||||
memset(tc, 0, sizeof(*tc));
|
||||
|
||||
pipe = trace_context_create_threaded(pipe->screen, pipe);
|
||||
|
||||
assert((uintptr_t)tc % 16 == 0);
|
||||
/* These should be static asserts, but they don't work with MSVC */
|
||||
assert(offsetof(struct threaded_context, batch_slots) % 16 == 0);
|
||||
assert(offsetof(struct threaded_context, batch_slots[0].call) % 16 == 0);
|
||||
assert(offsetof(struct threaded_context, batch_slots[0].call[1]) % 16 == 0);
|
||||
assert(offsetof(struct threaded_context, batch_slots[1].call) % 16 == 0);
|
||||
|
||||
/* The driver context isn't wrapped, so set its "priv" to NULL. */
|
||||
pipe->priv = NULL;
|
||||
|
||||
|
|
|
|||
|
|
@ -321,8 +321,7 @@ union tc_payload {
|
|||
bool boolean;
|
||||
};
|
||||
|
||||
/* Each call slot should be aligned to its own size for optimal cache usage. */
|
||||
struct ALIGN16 tc_call {
|
||||
struct tc_call {
|
||||
unsigned sentinel;
|
||||
ushort num_call_slots;
|
||||
ushort call_id;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue