From: Rafael Antognolli Date: Wed, 14 Aug 2019 22:13:55 +0000 (-0700) Subject: anv: Properly initialize device->slice_hash. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ceeaf93c8e0ac502410da82e07aa25b15b065b9c;p=mesa.git anv: Properly initialize device->slice_hash. When subslices_delta == 0 and we take the early return, device->slice_hash is not initialized on GEN11. It then causes a segfault when going through anv_DestroyDevice, if compiled with valgrind. Fixes: 7bc022b4bbc ("anv/gen11: Emit SLICE_HASH_TABLE when pipes are unbalanced.) Reviewed-by: Jason Ekstrand --- diff --git a/src/intel/vulkan/genX_state.c b/src/intel/vulkan/genX_state.c index de8b753dd34..3bf4890b4a4 100644 --- a/src/intel/vulkan/genX_state.c +++ b/src/intel/vulkan/genX_state.c @@ -92,6 +92,8 @@ static void genX(emit_slice_hashing_state)(struct anv_device *device, struct anv_batch *batch) { + device->slice_hash = (struct anv_state) { 0 }; + #if GEN_GEN == 11 const unsigned *ppipe_subslices = device->info.ppipe_subslices; int subslices_delta = ppipe_subslices[0] - ppipe_subslices[1]; @@ -156,8 +158,6 @@ genX(emit_slice_hashing_state)(struct anv_device *device, anv_batch_emit(batch, GENX(3DSTATE_3D_MODE), mode) { mode.SliceHashingTableEnable = true; } -#else - device->slice_hash = (struct anv_state) { 0 }; #endif }