anv: ensure prog params are initialized with 0s
As a result of9baa33cef0
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 <lionel.g.landwerlin@intel.com> Fixes:9baa33cef0
("anv: Rework push constant handling") Reported-by: Tapani Pälli <tapani.palli@intel.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net> Acked-by: Tapani Pälli <tapani.palli@intel.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3516> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3516>
This commit is contained in:
parent
4936120230
commit
63461cb7e1
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue