radv: Add radv_trace_mode
authorKonstantin Seurer <konstantin.seurer@gmail.com>
Wed, 10 May 2023 17:21:09 +0000 (19:21 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 27 Jun 2023 06:25:56 +0000 (06:25 +0000)
...and add the RADV specific trace modes to the VK instance.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20573>

src/amd/vulkan/radv_instance.c
src/amd/vulkan/radv_private.h

index dbd0601..9a3efb9 100644 (file)
@@ -110,6 +110,12 @@ radv_get_perftest_option_name(int id)
    return radv_perftest_options[id].string;
 }
 
+static const struct debug_control trace_options[] = {
+   {"rgp", RADV_TRACE_MODE_RGP},
+   {"rra", RADV_TRACE_MODE_RRA},
+   {NULL, 0},
+};
+
 // clang-format off
 static const driOptionDescription radv_dri_options[] = {
    DRI_CONF_SECTION_PERFORMANCE
@@ -266,6 +272,8 @@ radv_CreateInstance(const VkInstanceCreateInfo *pCreateInfo, const VkAllocationC
       return vk_error(NULL, result);
    }
 
+   vk_instance_add_driver_trace_modes(&instance->vk, trace_options);
+
    instance->debug_flags = parse_debug_string(getenv("RADV_DEBUG"), radv_debug_options);
    instance->perftest_flags = parse_debug_string(getenv("RADV_PERFTEST"), radv_perftest_options);
 
index f227220..bd2b8cf 100644 (file)
@@ -390,6 +390,14 @@ void radv_physical_device_destroy(struct vk_physical_device *vk_device);
 
 bool radv_sqtt_enabled(void);
 
+enum radv_trace_mode {
+   /** Radeon GPU Profiler */
+   RADV_TRACE_MODE_RGP = 1 << VK_TRACE_MODE_COUNT,
+
+   /** Radeon Raytracing Analyzer */
+   RADV_TRACE_MODE_RRA = 1 << (VK_TRACE_MODE_COUNT + 1),
+};
+
 struct radv_instance {
    struct vk_instance vk;