Mesa (master): radv: start splitting init config up

Dave Airlie airlied at kemper.freedesktop.org
Mon Feb 13 20:03:05 UTC 2017


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

Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Feb 13 03:09:09 2017 +0000

radv: start splitting init config up

This is just prep work for the following patch to use
a common gfx init indirect buffer.

Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/amd/vulkan/si_cmd_buffer.c | 28 ++++++++++++++++++++--------
 1 file changed, 20 insertions(+), 8 deletions(-)

diff --git a/src/amd/vulkan/si_cmd_buffer.c b/src/amd/vulkan/si_cmd_buffer.c
index 79a2455..4de24ce 100644
--- a/src/amd/vulkan/si_cmd_buffer.c
+++ b/src/amd/vulkan/si_cmd_buffer.c
@@ -170,11 +170,10 @@ si_write_harvested_raster_configs(struct radv_physical_device *physical_device,
 				       S_030800_INSTANCE_BROADCAST_WRITES(1));
 }
 
-void
-si_init_compute(struct radv_cmd_buffer *cmd_buffer)
+static void
+si_emit_compute(struct radv_physical_device *physical_device,
+                struct radeon_winsys_cs *cs)
 {
-	struct radv_physical_device *physical_device = cmd_buffer->device->physical_device;
-	struct radeon_winsys_cs *cs = cmd_buffer->cs;
 	radeon_set_sh_reg_seq(cs, R_00B810_COMPUTE_START_X, 3);
 	radeon_emit(cs, 0);
 	radeon_emit(cs, 0);
@@ -210,15 +209,22 @@ si_init_compute(struct radv_cmd_buffer *cmd_buffer)
 	}
 }
 
-
-void si_init_config(struct radv_cmd_buffer *cmd_buffer)
+void
+si_init_compute(struct radv_cmd_buffer *cmd_buffer)
 {
 	struct radv_physical_device *physical_device = cmd_buffer->device->physical_device;
+	si_emit_compute(physical_device, cmd_buffer->cs);
+}
+
+static void
+si_emit_config(struct radv_physical_device *physical_device,
+	       struct radeon_winsys_cs *cs)
+{
 	unsigned num_rb = MIN2(physical_device->rad_info.num_render_backends, 16);
 	unsigned rb_mask = physical_device->rad_info.enabled_rb_mask;
 	unsigned raster_config, raster_config_1;
 	int i;
-	struct radeon_winsys_cs *cs = cmd_buffer->cs;
+
 	radeon_emit(cs, PKT3(PKT3_CONTEXT_CONTROL, 1, 0));
 	radeon_emit(cs, CONTEXT_CONTROL_LOAD_ENABLE(1));
 	radeon_emit(cs, CONTEXT_CONTROL_SHADOW_ENABLE(1));
@@ -420,7 +426,13 @@ void si_init_config(struct radv_cmd_buffer *cmd_buffer)
 	if (physical_device->rad_info.family == CHIP_STONEY)
 		radeon_set_context_reg(cs, R_028C40_PA_SC_SHADER_CONTROL, 0);
 
-	si_init_compute(cmd_buffer);
+	si_emit_compute(physical_device, cs);
+}
+
+void si_init_config(struct radv_cmd_buffer *cmd_buffer)
+{
+	struct radv_physical_device *physical_device = cmd_buffer->device->physical_device;
+	si_emit_config(physical_device, cmd_buffer->cs);
 }
 
 static void




More information about the mesa-commit mailing list