anv: Round u_vector element sizes to a power of two
This fixes 32-bit builds of the driver. Commit08413a81b9
changed things so that we now put struct anv_states in the u_vector for binding tables. On 64-bit builds, sizeof(struct anv_state) is a power of two but it isn't on 32-bit builds. Fixes:08413a81b9
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: mesa-stable@lists.freedesktop.org
This commit is contained in:
parent
5e5f251db1
commit
8e3d9c5d09
|
@ -706,9 +706,10 @@ anv_cmd_buffer_init_batch_bo_chain(struct anv_cmd_buffer *cmd_buffer)
|
||||||
|
|
||||||
*(struct anv_batch_bo **)u_vector_add(&cmd_buffer->seen_bbos) = batch_bo;
|
*(struct anv_batch_bo **)u_vector_add(&cmd_buffer->seen_bbos) = batch_bo;
|
||||||
|
|
||||||
|
/* u_vector requires power-of-two size elements */
|
||||||
|
unsigned pow2_state_size = util_next_power_of_two(sizeof(struct anv_state));
|
||||||
success = u_vector_init(&cmd_buffer->bt_block_states,
|
success = u_vector_init(&cmd_buffer->bt_block_states,
|
||||||
sizeof(struct anv_state),
|
pow2_state_size, 8 * pow2_state_size);
|
||||||
8 * sizeof(struct anv_state));
|
|
||||||
if (!success)
|
if (!success)
|
||||||
goto fail_seen_bbos;
|
goto fail_seen_bbos;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue