From: Lionel Landwerlin Date: Wed, 22 Jan 2020 13:49:25 +0000 (+0200) Subject: anv: ensure prog params are initialized with 0s X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=63461cb7e13fa544a081414b8a0a6e69e66e90d0;p=mesa.git anv: ensure prog params are initialized with 0s As a result of 9baa33cef01f our backend compiler leaves params pretty much untouched. So in order to avoid storing uninitialized values in the shader cache blobs, just 0 out this array. I've considered not even allocating this array which works on gen8+ but the vec4 backend still makes a copy of this array and so it crashes on memcpy on HSW. Signed-off-by: Lionel Landwerlin Fixes: 9baa33cef01f ("anv: Rework push constant handling") Reported-by: Tapani Pälli Acked-by: Jason Ekstrand Acked-by: Tapani Pälli Tested-by: Marge Bot Part-of: --- diff --git a/src/intel/vulkan/anv_nir_compute_push_layout.c b/src/intel/vulkan/anv_nir_compute_push_layout.c index 3a6e393672d..1dbfb08a100 100644 --- a/src/intel/vulkan/anv_nir_compute_push_layout.c +++ b/src/intel/vulkan/anv_nir_compute_push_layout.c @@ -106,7 +106,7 @@ anv_nir_compute_push_layout(const struct anv_physical_device *pdevice, pdevice->compiler->scalar_stage[nir->info.stage] ? 4 : 16; nir->num_uniforms = ALIGN(push_end - push_start, align); prog_data->nr_params = nir->num_uniforms / 4; - prog_data->param = ralloc_array(mem_ctx, uint32_t, prog_data->nr_params); + prog_data->param = rzalloc_array(mem_ctx, uint32_t, prog_data->nr_params); struct anv_push_range push_constant_range = { .set = ANV_DESCRIPTOR_SET_PUSH_CONSTANTS,