radeonsi: don't crash on NULL images in si_check_needs_implicit_sync
authorMarek Olšák <marek.olsak@amd.com>
Tue, 2 Mar 2021 07:33:36 +0000 (02:33 -0500)
committerMarge Bot <eric+marge@anholt.net>
Wed, 3 Mar 2021 01:19:24 +0000 (01:19 +0000)
This fixes CTS test: KHR-GL46.arrays_of_arrays_gl.AtomicUsage

Fixes: bddc0e023c "radeonsi: fix read from compute / write from draw sync"

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9361>

src/gallium/drivers/radeonsi/si_compute.c

index e2ac48a..82ee4a0 100644 (file)
@@ -850,7 +850,7 @@ static bool si_check_needs_implicit_sync(struct si_context *sctx)
    }
 
    struct si_images *images = &sctx->images[PIPE_SHADER_COMPUTE];
-   mask = u_bit_consecutive(0, info->base.num_images);
+   mask = u_bit_consecutive(0, info->base.num_images) & images->enabled_mask;
 
    while (mask) {
       int i = u_bit_scan(&mask);