Module: Mesa
Branch: master
Commit: ceeaf93c8e0ac502410da82e07aa25b15b065b9c
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ceeaf93c8e0ac502410da82e07aa25b15b065b9c

Author: Rafael Antognolli <rafael.antogno...@intel.com>
Date:   Wed Aug 14 15:13:55 2019 -0700

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 <ja...@jlekstrand.net>

---

 src/intel/vulkan/genX_state.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

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
 }
 

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to