[Mesa-dev] [PATCH 5/9] radeonsi: remove non-GFX BO priority flags

Marek Olšák maraeo at gmail.com
Thu Jul 12 05:26:36 UTC 2018


From: Marek Olšák <marek.olsak at amd.com>

For a later simplification.
---
 src/gallium/drivers/radeon/radeon_uvd.c         | 3 +--
 src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c | 2 +-
 src/gallium/drivers/radeon/radeon_vce.c         | 2 +-
 src/gallium/drivers/radeon/radeon_vcn_dec.c     | 2 +-
 src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c | 2 +-
 src/gallium/drivers/radeon/radeon_winsys.h      | 5 -----
 src/gallium/drivers/radeonsi/si_debug.c         | 4 ----
 src/gallium/drivers/radeonsi/si_dma_cs.c        | 6 ++----
 8 files changed, 7 insertions(+), 19 deletions(-)

diff --git a/src/gallium/drivers/radeon/radeon_uvd.c b/src/gallium/drivers/radeon/radeon_uvd.c
index dbf3c95175c..923216d77f1 100644
--- a/src/gallium/drivers/radeon/radeon_uvd.c
+++ b/src/gallium/drivers/radeon/radeon_uvd.c
@@ -109,22 +109,21 @@ static void set_reg(struct ruvd_decoder *dec, unsigned reg, uint32_t val)
 }
 
 /* send a command to the VCPU through the GPCOM registers */
 static void send_cmd(struct ruvd_decoder *dec, unsigned cmd,
 		     struct pb_buffer* buf, uint32_t off,
 		     enum radeon_bo_usage usage, enum radeon_bo_domain domain)
 {
 	int reloc_idx;
 
 	reloc_idx = dec->ws->cs_add_buffer(dec->cs, buf, usage | RADEON_USAGE_SYNCHRONIZED,
-					   domain,
-					  RADEON_PRIO_UVD);
+					   domain, 0);
 	if (!dec->use_legacy) {
 		uint64_t addr;
 		addr = dec->ws->buffer_get_virtual_address(buf);
 		addr = addr + off;
 		set_reg(dec, dec->reg.data0, addr);
 		set_reg(dec, dec->reg.data1, addr >> 32);
 	} else {
 		off += dec->ws->buffer_get_reloc_offset(buf);
 		set_reg(dec, RUVD_GPCOM_VCPU_DATA0, off);
 		set_reg(dec, RUVD_GPCOM_VCPU_DATA1, reloc_idx * 4);
diff --git a/src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c b/src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c
index 42a9fa9abf0..ddb219792ae 100644
--- a/src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c
+++ b/src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c
@@ -48,21 +48,21 @@ RADEON_ENC_CS(cmd)
 	enc->total_task_size += *begin;}
 
 static const unsigned index_to_shifts[4] = { 24, 16, 8, 0 };
 
 static void
 radeon_uvd_enc_add_buffer(struct radeon_uvd_encoder *enc,
                           struct pb_buffer *buf, enum radeon_bo_usage usage,
                           enum radeon_bo_domain domain, signed offset)
 {
    enc->ws->cs_add_buffer(enc->cs, buf, usage | RADEON_USAGE_SYNCHRONIZED,
-                          domain, RADEON_PRIO_VCE);
+                          domain, 0);
    uint64_t addr;
    addr = enc->ws->buffer_get_virtual_address(buf);
    addr = addr + offset;
    RADEON_ENC_CS(addr >> 32);
    RADEON_ENC_CS(addr);
 }
 
 static void
 radeon_uvd_enc_set_emulation_prevention(struct radeon_uvd_encoder *enc,
                                         bool set)
diff --git a/src/gallium/drivers/radeon/radeon_vce.c b/src/gallium/drivers/radeon/radeon_vce.c
index 6d1b1ff7879..8972253c7c5 100644
--- a/src/gallium/drivers/radeon/radeon_vce.c
+++ b/src/gallium/drivers/radeon/radeon_vce.c
@@ -552,21 +552,21 @@ bool si_vce_is_fw_version_supported(struct si_screen *sscreen)
 /**
  * Add the buffer as relocation to the current command submission
  */
 void si_vce_add_buffer(struct rvce_encoder *enc, struct pb_buffer *buf,
 		       enum radeon_bo_usage usage, enum radeon_bo_domain domain,
 		       signed offset)
 {
 	int reloc_idx;
 
 	reloc_idx = enc->ws->cs_add_buffer(enc->cs, buf, usage | RADEON_USAGE_SYNCHRONIZED,
-					   domain, RADEON_PRIO_VCE);
+					   domain, 0);
 	if (enc->use_vm) {
 		uint64_t addr;
 		addr = enc->ws->buffer_get_virtual_address(buf);
 		addr = addr + offset;
 		RVCE_CS(addr >> 32);
 		RVCE_CS(addr);
 	} else {
 		offset += enc->ws->buffer_get_reloc_offset(buf);
 		RVCE_CS(reloc_idx * 4);
 		RVCE_CS(offset);
diff --git a/src/gallium/drivers/radeon/radeon_vcn_dec.c b/src/gallium/drivers/radeon/radeon_vcn_dec.c
index ed7223bbec5..c2e22048cef 100644
--- a/src/gallium/drivers/radeon/radeon_vcn_dec.c
+++ b/src/gallium/drivers/radeon/radeon_vcn_dec.c
@@ -1026,21 +1026,21 @@ static void set_reg(struct radeon_decoder *dec, unsigned reg, uint32_t val)
 }
 
 /* send a command to the VCPU through the GPCOM registers */
 static void send_cmd(struct radeon_decoder *dec, unsigned cmd,
 		     struct pb_buffer* buf, uint32_t off,
 		     enum radeon_bo_usage usage, enum radeon_bo_domain domain)
 {
 	uint64_t addr;
 
 	dec->ws->cs_add_buffer(dec->cs, buf, usage | RADEON_USAGE_SYNCHRONIZED,
-			   domain, RADEON_PRIO_UVD);
+			   domain, 0);
 	addr = dec->ws->buffer_get_virtual_address(buf);
 	addr = addr + off;
 
 	set_reg(dec, RDECODE_GPCOM_VCPU_DATA0, addr);
 	set_reg(dec, RDECODE_GPCOM_VCPU_DATA1, addr >> 32);
 	set_reg(dec, RDECODE_GPCOM_VCPU_CMD, cmd << 1);
 }
 
 /* do the codec needs an IT buffer ?*/
 static bool have_it(struct radeon_decoder *dec)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c b/src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c
index 143721211db..6632451900e 100644
--- a/src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c
+++ b/src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c
@@ -49,21 +49,21 @@ RADEON_ENC_CS(cmd)
 	enc->total_task_size += *begin;}
 
 static const unsigned profiles[7] = { 66, 77, 88, 100, 110, 122, 244 };
 static const unsigned index_to_shifts[4] = {24, 16, 8, 0};
 
 static void radeon_enc_add_buffer(struct radeon_encoder *enc, struct pb_buffer *buf,
 								  enum radeon_bo_usage usage, enum radeon_bo_domain domain,
 								  signed offset)
 {
 	enc->ws->cs_add_buffer(enc->cs, buf, usage | RADEON_USAGE_SYNCHRONIZED,
-									   domain, RADEON_PRIO_VCE);
+                               domain, 0);
 	uint64_t addr;
 	addr = enc->ws->buffer_get_virtual_address(buf);
 	addr = addr + offset;
 	RADEON_ENC_CS(addr >> 32);
 	RADEON_ENC_CS(addr);
 }
 
 static void radeon_enc_set_emulation_prevention(struct radeon_encoder *enc, bool set)
 {
 	if (set != enc->emulation_prevention) {
diff --git a/src/gallium/drivers/radeon/radeon_winsys.h b/src/gallium/drivers/radeon/radeon_winsys.h
index 22ec47b9dc8..e9ae1f925c4 100644
--- a/src/gallium/drivers/radeon/radeon_winsys.h
+++ b/src/gallium/drivers/radeon/radeon_winsys.h
@@ -120,25 +120,20 @@ enum radeon_bo_priority {
     RADEON_PRIO_FENCE = 0,
     RADEON_PRIO_TRACE,
     RADEON_PRIO_SO_FILLED_SIZE,
     RADEON_PRIO_QUERY,
 
     RADEON_PRIO_IB1 = 4, /* main IB submitted to the kernel */
     RADEON_PRIO_IB2, /* IB executed with INDIRECT_BUFFER */
     RADEON_PRIO_DRAW_INDIRECT,
     RADEON_PRIO_INDEX_BUFFER,
 
-    RADEON_PRIO_VCE = 8,
-    RADEON_PRIO_UVD,
-    RADEON_PRIO_SDMA_BUFFER,
-    RADEON_PRIO_SDMA_TEXTURE,
-
     RADEON_PRIO_CP_DMA = 12,
 
     RADEON_PRIO_CONST_BUFFER = 16,
     RADEON_PRIO_DESCRIPTORS,
     RADEON_PRIO_BORDER_COLORS,
 
     RADEON_PRIO_SAMPLER_BUFFER = 20,
     RADEON_PRIO_VERTEX_BUFFER,
 
     RADEON_PRIO_SHADER_RW_BUFFER = 24,
diff --git a/src/gallium/drivers/radeonsi/si_debug.c b/src/gallium/drivers/radeonsi/si_debug.c
index 8581228263d..0e5012b9d32 100644
--- a/src/gallium/drivers/radeonsi/si_debug.c
+++ b/src/gallium/drivers/radeonsi/si_debug.c
@@ -489,24 +489,20 @@ static const char *priority_to_string(enum radeon_bo_priority priority)
 #define ITEM(x) [RADEON_PRIO_##x] = #x
 	static const char *table[64] = {
 		ITEM(FENCE),
 	        ITEM(TRACE),
 	        ITEM(SO_FILLED_SIZE),
 	        ITEM(QUERY),
 	        ITEM(IB1),
 	        ITEM(IB2),
 	        ITEM(DRAW_INDIRECT),
 	        ITEM(INDEX_BUFFER),
-	        ITEM(VCE),
-	        ITEM(UVD),
-	        ITEM(SDMA_BUFFER),
-	        ITEM(SDMA_TEXTURE),
 		ITEM(CP_DMA),
 	        ITEM(CONST_BUFFER),
 	        ITEM(DESCRIPTORS),
 	        ITEM(BORDER_COLORS),
 	        ITEM(SAMPLER_BUFFER),
 	        ITEM(VERTEX_BUFFER),
 	        ITEM(SHADER_RW_BUFFER),
 	        ITEM(COMPUTE_GLOBAL),
 	        ITEM(SAMPLER_TEXTURE),
 	        ITEM(SHADER_RW_IMAGE),
diff --git a/src/gallium/drivers/radeonsi/si_dma_cs.c b/src/gallium/drivers/radeonsi/si_dma_cs.c
index 0308112cbb4..3bb769309e3 100644
--- a/src/gallium/drivers/radeonsi/si_dma_cs.c
+++ b/src/gallium/drivers/radeonsi/si_dma_cs.c
@@ -86,27 +86,25 @@ void si_need_dma_space(struct si_context *ctx, unsigned num_dw,
 	if ((dst &&
 	     ctx->ws->cs_is_buffer_referenced(ctx->dma_cs, dst->buf,
 						RADEON_USAGE_READWRITE)) ||
 	    (src &&
 	     ctx->ws->cs_is_buffer_referenced(ctx->dma_cs, src->buf,
 						RADEON_USAGE_WRITE)))
 		si_dma_emit_wait_idle(ctx);
 
 	if (dst) {
 		radeon_add_to_buffer_list(ctx, ctx->dma_cs, dst,
-					  RADEON_USAGE_WRITE,
-					  RADEON_PRIO_SDMA_BUFFER);
+					  RADEON_USAGE_WRITE, 0);
 	}
 	if (src) {
 		radeon_add_to_buffer_list(ctx, ctx->dma_cs, src,
-					  RADEON_USAGE_READ,
-					  RADEON_PRIO_SDMA_BUFFER);
+					  RADEON_USAGE_READ, 0);
 	}
 
 	/* this function is called before all DMA calls, so increment this. */
 	ctx->num_dma_calls++;
 }
 
 void si_flush_dma_cs(struct si_context *ctx, unsigned flags,
 		     struct pipe_fence_handle **fence)
 {
 	struct radeon_cmdbuf *cs = ctx->dma_cs;
-- 
2.17.1



More information about the mesa-dev mailing list