[Mesa-dev] [PATCH v3 48/63] radeonsi: add si_init_descriptor_list() helper

Samuel Pitoiset samuel.pitoiset at gmail.com
Fri Jun 9 13:35:46 UTC 2017


This will be used in order to initialize resident descriptors
for bindless textures/images.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
---
 src/gallium/drivers/radeonsi/si_descriptors.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c
index 0e8606f2bb..8fb6108b67 100644
--- a/src/gallium/drivers/radeonsi/si_descriptors.c
+++ b/src/gallium/drivers/radeonsi/si_descriptors.c
@@ -95,6 +95,21 @@ static uint32_t null_image_descriptor[8] = {
 	 * descriptor */
 };
 
+static void si_init_descriptor_list(uint32_t *desc_list,
+				    unsigned element_dw_size,
+				    unsigned num_elements,
+				    const uint32_t *null_descriptor)
+{
+	int i;
+
+	/* Initialize the array to NULL descriptors if the element size is 8. */
+	if (null_descriptor) {
+		assert(element_dw_size % 8 == 0);
+		for (i = 0; i < num_elements * element_dw_size / 8; i++)
+			memcpy(desc_list + i * 8, null_descriptor, 8 * 4);
+	}
+}
+
 static void si_init_descriptors(struct si_context *sctx,
 				struct si_descriptors *desc,
 				unsigned shader_userdata_index,
-- 
2.13.1



More information about the mesa-dev mailing list