Module: Mesa Branch: master Commit: a5ff4a8e2e5bc1b7107a1d902feaf4d5edb96b3f URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a5ff4a8e2e5bc1b7107a1d902feaf4d5edb96b3f
Author: Samuel Pitoiset <[email protected]> Date: Wed Jun 28 18:48:14 2017 +0200 radeonsi: only initialize dirty_mask when CE is used Looks like it's useless to initialize that field when CE is unused. This will also allow to declare more than 64 elements for the array of bindless descriptors. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]> --- src/gallium/drivers/radeonsi/si_descriptors.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c index 1f6e704b4b..c26b8291cf 100644 --- a/src/gallium/drivers/radeonsi/si_descriptors.c +++ b/src/gallium/drivers/radeonsi/si_descriptors.c @@ -125,19 +125,20 @@ static void si_init_descriptors(struct si_context *sctx, unsigned num_ce_slots, unsigned *ce_offset) { - assert(num_elements <= sizeof(desc->dirty_mask)*8); - desc->list = CALLOC(num_elements, element_dw_size * 4); desc->element_dw_size = element_dw_size; desc->num_elements = num_elements; desc->first_ce_slot = sctx->ce_ib ? first_ce_slot : 0; desc->num_ce_slots = sctx->ce_ib ? num_ce_slots : 0; - desc->dirty_mask = u_bit_consecutive64(0, num_elements); + desc->dirty_mask = 0; desc->shader_userdata_offset = shader_userdata_index * 4; if (desc->num_ce_slots) { + assert(num_elements <= sizeof(desc->dirty_mask)*8); + desc->uses_ce = true; desc->ce_offset = *ce_offset; + desc->dirty_mask = u_bit_consecutive64(0, num_elements); *ce_offset += element_dw_size * desc->num_ce_slots * 4; } _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
