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

Author: Marek Olšák <marek.ol...@amd.com>
Date:   Tue Jan 12 01:30:53 2021 -0500

radeonsi: mark shader_pointers dirty once outside the upload descriptors loop

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-pra...@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8794>

---

 src/gallium/drivers/radeonsi/si_descriptors.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c 
b/src/gallium/drivers/radeonsi/si_descriptors.c
index ac5fca07a8c..c497717942a 100644
--- a/src/gallium/drivers/radeonsi/si_descriptors.c
+++ b/src/gallium/drivers/radeonsi/si_descriptors.c
@@ -147,7 +147,6 @@ static bool si_upload_descriptors(struct si_context *sctx, 
struct si_descriptors
       si_resource_reference(&desc->buffer, NULL);
       desc->gpu_list = NULL;
       desc->gpu_address = si_desc_extract_buffer_address(descriptor);
-      si_mark_atom_dirty(sctx, &sctx->atoms.s.shader_pointers);
       return true;
    }
 
@@ -174,8 +173,6 @@ static bool si_upload_descriptors(struct si_context *sctx, 
struct si_descriptors
    assert(desc->buffer->flags & RADEON_FLAG_32BIT);
    assert((desc->buffer->gpu_address >> 32) == 
sctx->screen->info.address32_hi);
    assert((desc->gpu_address >> 32) == sctx->screen->info.address32_hi);
-
-   si_mark_atom_dirty(sctx, &sctx->atoms.s.shader_pointers);
    return true;
 }
 
@@ -2196,6 +2193,7 @@ static unsigned si_create_bindless_descriptor(struct 
si_context *sctx, uint32_t
    /* Make sure to re-emit the shader pointers for all stages. */
    sctx->graphics_bindless_pointer_dirty = true;
    sctx->compute_bindless_pointer_dirty = true;
+   si_mark_atom_dirty(sctx, &sctx->atoms.s.shader_pointers);
 
    return desc_slot;
 }
@@ -2631,6 +2629,7 @@ static bool si_upload_shader_descriptors(struct 
si_context *sctx, unsigned mask)
 
       sctx->descriptors_dirty &= ~dirty;
       sctx->shader_pointers_dirty |= dirty;
+      si_mark_atom_dirty(sctx, &sctx->atoms.s.shader_pointers);
    }
 
    si_upload_bindless_descriptors(sctx);

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

Reply via email to