From 15d6618a1286cb8c0e091b2a734cf7ee5d939236 Mon Sep 17 00:00:00 2001 From: Konstantin Seurer Date: Wed, 10 May 2023 19:21:09 +0200 Subject: [PATCH] radv: Add radv_trace_mode ...and add the RADV specific trace modes to the VK instance. Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_instance.c | 8 ++++++++ src/amd/vulkan/radv_private.h | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/src/amd/vulkan/radv_instance.c b/src/amd/vulkan/radv_instance.c index dbd0601..9a3efb9 100644 --- a/src/amd/vulkan/radv_instance.c +++ b/src/amd/vulkan/radv_instance.c @@ -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); diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index f227220..bd2b8cf 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -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; -- 2.7.4