diff options
author | Lionel Landwerlin <[email protected]> | 2020-01-22 15:49:25 +0200 |
---|---|---|
committer | Lionel Landwerlin <[email protected]> | 2020-01-22 16:47:55 +0200 |
commit | 63461cb7e13fa544a081414b8a0a6e69e66e90d0 (patch) | |
tree | 8380d6152a27d3d21e4e456f99c637976fb5c208 /src | |
parent | 4936120230f07b959ec902aca989fdeae4e80d55 (diff) |
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 <[email protected]>
Fixes: 9baa33cef01f ("anv: Rework push constant handling")
Reported-by: Tapani Pälli <[email protected]>
Acked-by: Jason Ekstrand <[email protected]>
Acked-by: Tapani Pälli <[email protected]>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3516>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3516>
Diffstat (limited to 'src')
-rw-r--r-- | src/intel/vulkan/anv_nir_compute_push_layout.c | 2 |
1 files changed, 1 insertions, 1 deletions
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, |