[Mesa-dev] [PATCH 2/9] radeonsi: move descriptor set begin_new_cs handling into a separate function

Nicolai Hähnle nhaehnle at gmail.com
Fri Jun 3 17:01:24 UTC 2016


From: Nicolai Hähnle <nicolai.haehnle at amd.com>

---
 src/gallium/drivers/radeonsi/si_descriptors.c | 36 +++++++++++----------------
 1 file changed, 15 insertions(+), 21 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c
index e24281b..b076052 100644
--- a/src/gallium/drivers/radeonsi/si_descriptors.c
+++ b/src/gallium/drivers/radeonsi/si_descriptors.c
@@ -249,6 +249,18 @@ static bool si_upload_descriptors(struct si_context *sctx,
 	return true;
 }
 
+static void
+si_descriptors_begin_new_cs(struct si_context *sctx, struct si_descriptors *desc)
+{
+	desc->ce_ram_dirty = true;
+
+	if (!desc->buffer)
+		return;
+
+	radeon_add_to_buffer_list(&sctx->b, &sctx->b.gfx, desc->buffer,
+				  RADEON_USAGE_READ, RADEON_PRIO_DESCRIPTORS);
+}
+
 /* SAMPLER VIEWS */
 
 static void si_release_sampler_views(struct si_sampler_views *views)
@@ -287,12 +299,7 @@ static void si_sampler_views_begin_new_cs(struct si_context *sctx,
 					   RADEON_USAGE_READ);
 	}
 
-	views->desc.ce_ram_dirty = true;
-
-	if (!views->desc.buffer)
-		return;
-	radeon_add_to_buffer_list(&sctx->b, &sctx->b.gfx, views->desc.buffer,
-			      RADEON_USAGE_READWRITE, RADEON_PRIO_DESCRIPTORS);
+	si_descriptors_begin_new_cs(sctx, &views->desc);
 }
 
 void si_set_mutable_tex_desc_fields(struct r600_texture *tex,
@@ -489,14 +496,7 @@ si_image_views_begin_new_cs(struct si_context *sctx, struct si_images_info *imag
 					   RADEON_USAGE_READWRITE);
 	}
 
-	images->desc.ce_ram_dirty = true;
-
-	if (images->desc.buffer) {
-		radeon_add_to_buffer_list(&sctx->b, &sctx->b.gfx,
-					  images->desc.buffer,
-					  RADEON_USAGE_READ,
-					  RADEON_PRIO_DESCRIPTORS);
-	}
+	si_descriptors_begin_new_cs(sctx, &images->desc);
 }
 
 static void
@@ -737,13 +737,7 @@ static void si_buffer_resources_begin_new_cs(struct si_context *sctx,
 				      buffers->shader_usage, buffers->priority);
 	}
 
-	buffers->desc.ce_ram_dirty = true;
-
-	if (!buffers->desc.buffer)
-		return;
-	radeon_add_to_buffer_list(&sctx->b, &sctx->b.gfx,
-			      buffers->desc.buffer, RADEON_USAGE_READWRITE,
-			      RADEON_PRIO_DESCRIPTORS);
+	si_descriptors_begin_new_cs(sctx, &buffers->desc);
 }
 
 /* VERTEX BUFFERS */
-- 
2.7.4



More information about the mesa-dev mailing list