radeonsi: split si_all_descriptors_begin_new_cs and rename functions
authorMarek Olšák <marek.olsak@amd.com>
Fri, 13 Mar 2020 23:28:58 +0000 (19:28 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Sat, 23 May 2020 07:45:07 +0000 (03:45 -0400)
A future commit will extend it.

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

src/gallium/drivers/radeonsi/si_descriptors.c
src/gallium/drivers/radeonsi/si_gfx_cs.c
src/gallium/drivers/radeonsi/si_state.h

index ec3b0af335540d9d10c7af0979c75ee8dfc6e6a8..3e354d106b0de67cf9ecc0da52fb3d2e827376c5 100644 (file)
@@ -178,7 +178,8 @@ static bool si_upload_descriptors(struct si_context *sctx, struct si_descriptors
    return true;
 }
 
-static void si_descriptors_begin_new_cs(struct si_context *sctx, struct si_descriptors *desc)
+static void
+si_add_descriptors_to_bo_list(struct si_context *sctx, struct si_descriptors *desc)
 {
    if (!desc->buffer)
       return;
@@ -1929,7 +1930,7 @@ static void si_mark_shader_pointers_dirty(struct si_context *sctx, unsigned shad
    si_mark_atom_dirty(sctx, &sctx->atoms.s.shader_pointers);
 }
 
-static void si_shader_pointers_begin_new_cs(struct si_context *sctx)
+void si_shader_pointers_mark_dirty(struct si_context *sctx)
 {
    sctx->shader_pointers_dirty = u_bit_consecutive(0, SI_NUM_DESCS);
    sctx->vertex_buffer_pointer_dirty = sctx->vb_descriptors_buffer != NULL;
@@ -2804,13 +2805,11 @@ void si_compute_resources_add_all_to_bo_list(struct si_context *sctx)
    sctx->bo_list_add_all_compute_resources = false;
 }
 
-void si_all_descriptors_begin_new_cs(struct si_context *sctx)
+void si_add_all_descriptors_to_bo_list(struct si_context *sctx)
 {
    for (unsigned i = 0; i < SI_NUM_DESCS; ++i)
-      si_descriptors_begin_new_cs(sctx, &sctx->descriptors[i]);
-   si_descriptors_begin_new_cs(sctx, &sctx->bindless_descriptors);
-
-   si_shader_pointers_begin_new_cs(sctx);
+      si_add_descriptors_to_bo_list(sctx, &sctx->descriptors[i]);
+   si_add_descriptors_to_bo_list(sctx, &sctx->bindless_descriptors);
 
    sctx->bo_list_add_all_resident_resources = true;
    sctx->bo_list_add_all_gfx_resources = true;
index aee937203afcc4ba248d51caf9dd6e21b03128cf..64b216bf880b2a22d2c23cadcce6bad5a56c9274 100644 (file)
@@ -390,7 +390,8 @@ void si_begin_new_gfx_cs(struct si_context *ctx)
                  SI_CONTEXT_INV_L2 | SI_CONTEXT_START_PIPELINE_STATS;
 
    ctx->cs_shader_state.initialized = false;
-   si_all_descriptors_begin_new_cs(ctx);
+   si_add_all_descriptors_to_bo_list(ctx);
+   si_shader_pointers_mark_dirty(ctx);
 
    if (!ctx->has_graphics) {
       ctx->initial_gfx_cs_size = ctx->gfx_cs->current.cdw;
index 46761a51c1c0650a9ecd5a19a0a3e63d898ee4c1..f7e78d2187bb9f8a2741901fda8deaf4cffd04d1 100644 (file)
@@ -503,7 +503,8 @@ void si_gfx_resources_add_all_to_bo_list(struct si_context *sctx);
 void si_compute_resources_add_all_to_bo_list(struct si_context *sctx);
 bool si_gfx_resources_check_encrypted(struct si_context *sctx);
 bool si_compute_resources_check_encrypted(struct si_context *sctx);
-void si_all_descriptors_begin_new_cs(struct si_context *sctx);
+void si_shader_pointers_mark_dirty(struct si_context *sctx);
+void si_add_all_descriptors_to_bo_list(struct si_context *sctx);
 void si_upload_const_buffer(struct si_context *sctx, struct si_resource **buf, const uint8_t *ptr,
                             unsigned size, uint32_t *const_offset);
 void si_update_all_texture_descriptors(struct si_context *sctx);