X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Famd%2Fvulkan%2Fradv_sqtt.c;h=e135e0c02cccc067a8d942f17f69ada01354a1f9;hb=ffae3589c986574083fbd20341e6a0abe77b0741;hp=4cfe346430af026c307d4c13dcdf6f7e51e41b3d;hpb=14283ddc798686c669017f15c3eb0c0272cc6888;p=mesa.git diff --git a/src/amd/vulkan/radv_sqtt.c b/src/amd/vulkan/radv_sqtt.c index 4cfe346430a..e135e0c02cc 100644 --- a/src/amd/vulkan/radv_sqtt.c +++ b/src/amd/vulkan/radv_sqtt.c @@ -341,6 +341,23 @@ radv_emit_thread_trace_stop(struct radv_device *device, S_030800_INSTANCE_BROADCAST_WRITES(1)); } +void +radv_emit_thread_trace_userdata(struct radeon_cmdbuf *cs, + const void *data, uint32_t num_dwords) +{ + const uint32_t *dwords = (uint32_t *)data; + + while (num_dwords > 0) { + uint32_t count = MIN2(num_dwords, 2); + + radeon_set_uconfig_reg_seq(cs, R_030D08_SQ_THREAD_TRACE_USERDATA_2, count); + radeon_emit_array(cs, dwords, count); + + dwords += count; + num_dwords -= count; + } +} + static void radv_emit_spi_config_cntl(struct radv_device *device, struct radeon_cmdbuf *cs, bool enable) @@ -391,8 +408,8 @@ radv_thread_trace_init_cs(struct radv_device *device) switch (family) { case RADV_QUEUE_GENERAL: radeon_emit(device->thread_trace_start_cs[family], PKT3(PKT3_CONTEXT_CONTROL, 1, 0)); - radeon_emit(device->thread_trace_start_cs[family], CONTEXT_CONTROL_LOAD_ENABLE(1)); - radeon_emit(device->thread_trace_start_cs[family], CONTEXT_CONTROL_SHADOW_ENABLE(1)); + radeon_emit(device->thread_trace_start_cs[family], CC0_UPDATE_LOAD_ENABLES(1)); + radeon_emit(device->thread_trace_start_cs[family], CC1_UPDATE_SHADOW_ENABLES(1)); break; case RADV_QUEUE_COMPUTE: radeon_emit(device->thread_trace_start_cs[family], PKT3(PKT3_NOP, 0, 0)); @@ -426,8 +443,8 @@ radv_thread_trace_init_cs(struct radv_device *device) switch (family) { case RADV_QUEUE_GENERAL: radeon_emit(device->thread_trace_stop_cs[family], PKT3(PKT3_CONTEXT_CONTROL, 1, 0)); - radeon_emit(device->thread_trace_stop_cs[family], CONTEXT_CONTROL_LOAD_ENABLE(1)); - radeon_emit(device->thread_trace_stop_cs[family], CONTEXT_CONTROL_SHADOW_ENABLE(1)); + radeon_emit(device->thread_trace_stop_cs[family], CC0_UPDATE_LOAD_ENABLES(1)); + radeon_emit(device->thread_trace_stop_cs[family], CC1_UPDATE_SHADOW_ENABLES(1)); break; case RADV_QUEUE_COMPUTE: radeon_emit(device->thread_trace_stop_cs[family], PKT3(PKT3_NOP, 0, 0)); @@ -587,7 +604,7 @@ radv_get_thread_trace(struct radv_queue *queue, "buffer size is %d KB.\n", expected_size, available_size); fprintf(stderr, "Please update the buffer size with " - "RADV_THREAD_TRACE_BUFER_SIZE=\n"); + "RADV_THREAD_TRACE_BUFFER_SIZE=\n"); return false; }