[Mesa-dev] [PATCH 10/11] i965/vec4: Calculate live intervals with subregister granularity.

Matt Turner mattst88 at gmail.com
Fri Mar 20 11:00:52 PDT 2015


On Fri, Mar 20, 2015 at 7:50 AM, Francisco Jerez <currojerez at riseup.net> wrote:
> diff --git a/src/mesa/drivers/dri/i965/brw_vec4_live_variables.cpp b/src/mesa/drivers/dri/i965/brw_vec4_live_variables.cpp
> index 4b87af2..34df61e 100644
> --- a/src/mesa/drivers/dri/i965/brw_vec4_live_variables.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_vec4_live_variables.cpp
> @@ -179,7 +183,7 @@ vec4_live_variables::vec4_live_variables(const simple_allocator &alloc,
>  {
>     mem_ctx = ralloc_context(NULL);
>
> -   num_vars = alloc.count * 4;
> +   num_vars = alloc.total_size * 4;
>     block_data = rzalloc_array(mem_ctx, struct block_data, cfg->num_blocks);
>
>     bitset_words = BITSET_WORDS(num_vars);
> @@ -229,14 +233,14 @@ vec4_visitor::calculate_live_intervals()
>     if (this->live_intervals)
>        return;
>
> -   int *start = ralloc_array(mem_ctx, int, this->alloc.count * 4);
> -   int *end = ralloc_array(mem_ctx, int, this->alloc.count * 4);
> +   int *start = ralloc_array(mem_ctx, int, this->alloc.total_size * 4);
> +   int *end = ralloc_array(mem_ctx, int, this->alloc.total_size * 4);
>     ralloc_free(this->virtual_grf_start);
>     ralloc_free(this->virtual_grf_end);
>     this->virtual_grf_start = start;
>     this->virtual_grf_end = end;
>
> -   for (unsigned i = 0; i < this->alloc.count * 4; i++) {
> +   for (unsigned i = 0; i < this->alloc.total_size * 4; i++) {
>        start[i] = MAX_INSTRUCTION;
>        end[i] = -1;
>     }

I don't follow the count -> total_size change. What's going on?


More information about the mesa-dev mailing list