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

Author: Marek Olšák <[email protected]>
Date:   Wed Oct 17 12:41:38 2018 -0400

radeonsi: fix a deadlock due to partially-initialized context on CI

---

 src/gallium/drivers/radeonsi/si_pipe.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_pipe.c 
b/src/gallium/drivers/radeonsi/si_pipe.c
index 9d25748df4..46cf37567f 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.c
+++ b/src/gallium/drivers/radeonsi/si_pipe.c
@@ -572,12 +572,6 @@ static struct pipe_context *si_create_context(struct 
pipe_screen *screen,
                                 &sctx->null_const_buf);
                si_set_rw_buffer(sctx, SI_PS_CONST_SAMPLE_POSITIONS,
                                 &sctx->null_const_buf);
-
-               /* Clear the NULL constant buffer, because loads should return 
zeros. */
-               uint32_t clear_value = 0;
-               si_clear_buffer(sctx, sctx->null_const_buf.buffer, 0,
-                               sctx->null_const_buf.buffer->width0,
-                               &clear_value, 4, SI_COHERENCY_SHADER);
        }
 
        uint64_t max_threads_per_block;
@@ -622,6 +616,14 @@ static struct pipe_context *si_create_context(struct 
pipe_screen *screen,
 
        /* this must be last */
        si_begin_new_gfx_cs(sctx);
+
+       if (sctx->chip_class == CIK) {
+               /* Clear the NULL constant buffer, because loads should return 
zeros. */
+               uint32_t clear_value = 0;
+               si_clear_buffer(sctx, sctx->null_const_buf.buffer, 0,
+                               sctx->null_const_buf.buffer->width0,
+                               &clear_value, 4, SI_COHERENCY_SHADER);
+       }
        return &sctx->b;
 fail:
        fprintf(stderr, "radeonsi: Failed to create a context.\n");

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to