[Mesa-dev] [PATCH 7/7] [RFC] i965/fs: fill allocated memory with zeros where needed
Ilia Mirkin
imirkin at alum.mit.edu
Tue Jun 7 15:07:45 UTC 2016
On Tue, Jun 7, 2016 at 10:26 AM, Juha-Pekka Heikkila
<juhapekka.heikkila at gmail.com> wrote:
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> ---
> src/mesa/drivers/dri/i965/brw_fs.cpp | 2 +-
> src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp | 2 +-
> src/mesa/drivers/dri/i965/brw_fs_dead_code_eliminate.cpp | 4 ++--
> 3 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
> index 4b29ee5..a04d464 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
> @@ -2225,7 +2225,7 @@ fs_visitor::assign_constant_locations()
> /* As the uniforms are going to be reordered, take the data from a temporary
> * copy of the original param[].
> */
> - gl_constant_value **param = ralloc_array(NULL, gl_constant_value*,
> + gl_constant_value **param = rzalloc_array(NULL, gl_constant_value*,
> stage_prog_data->nr_params);
> memcpy(param, stage_prog_data->param,
> sizeof(gl_constant_value*) * stage_prog_data->nr_params);
This immediately overwrites all of param with other data. Are you sure
it's necessary to rzalloc here?
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
> index 438f681..11f8576 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_copy_propagation.cpp
> @@ -822,7 +822,7 @@ fs_visitor::opt_copy_propagate_local(void *copy_prop_ctx, bblock_t *block,
> int regs_written = effective_width *
> type_sz(inst->src[i].type) / REG_SIZE;
> if (inst->src[i].file == VGRF) {
> - acp_entry *entry = ralloc(copy_prop_ctx, acp_entry);
> + acp_entry *entry = rzalloc(copy_prop_ctx, acp_entry);
Why is this necessary here but not above? For the entry->saturate? I
think it might make sense to just initialize that directly instead of
doing the zeroing.
> entry->dst = inst->dst;
> entry->dst.reg_offset += offset;
> entry->src = inst->src[i];
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_dead_code_eliminate.cpp b/src/mesa/drivers/dri/i965/brw_fs_dead_code_eliminate.cpp
> index 45f5c5e..9fa259e 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_dead_code_eliminate.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_fs_dead_code_eliminate.cpp
> @@ -42,8 +42,8 @@ fs_visitor::dead_code_eliminate()
> calculate_live_intervals();
>
> int num_vars = live_intervals->num_vars;
> - BITSET_WORD *live = ralloc_array(NULL, BITSET_WORD, BITSET_WORDS(num_vars));
> - BITSET_WORD *flag_live = ralloc_array(NULL, BITSET_WORD, 1);
> + BITSET_WORD *live = rzalloc_array(NULL, BITSET_WORD, BITSET_WORDS(num_vars));
> + BITSET_WORD *flag_live = rzalloc_array(NULL, BITSET_WORD, 1);
>
> foreach_block_reverse_safe(block, cfg) {
> memcpy(live, live_intervals->block_data[block->num].liveout,
> --
> 1.9.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list