radv: Centralize enabling thread trace.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tue, 1 Sep 2020 12:49:35 +0000 (14:49 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 1 Sep 2020 14:19:51 +0000 (14:19 +0000)
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6537>

src/amd/vulkan/radv_device.c

index eee741660a42a31007bf9db119171d2e4c98b4cb..e2a5727f934c2c8621622343a69a71058aa71b14 100644 (file)
@@ -2486,15 +2486,19 @@ radv_get_int_debug_option(const char *name, int default_value)
        return result;
 }
 
        return result;
 }
 
+static bool radv_thread_trace_enabled()
+{
+       return radv_get_int_debug_option("RADV_THREAD_TRACE", -1) >= 0;
+}
+
 static void
 radv_device_init_dispatch(struct radv_device *device)
 {
        const struct radv_instance *instance = device->physical_device->instance;
        const struct radv_device_dispatch_table *dispatch_table_layer = NULL;
        bool unchecked = instance->debug_flags & RADV_DEBUG_ALL_ENTRYPOINTS;
 static void
 radv_device_init_dispatch(struct radv_device *device)
 {
        const struct radv_instance *instance = device->physical_device->instance;
        const struct radv_device_dispatch_table *dispatch_table_layer = NULL;
        bool unchecked = instance->debug_flags & RADV_DEBUG_ALL_ENTRYPOINTS;
-       int radv_thread_trace = radv_get_int_debug_option("RADV_THREAD_TRACE", -1);
 
 
-       if (radv_thread_trace >= 0) {
+       if (radv_thread_trace_enabled()) {
                /* Use device entrypoints from the SQTT layer if enabled. */
                dispatch_table_layer = &sqtt_device_dispatch_table;
        }
                /* Use device entrypoints from the SQTT layer if enabled. */
                dispatch_table_layer = &sqtt_device_dispatch_table;
        }
@@ -2801,8 +2805,7 @@ VkResult radv_CreateDevice(
                radv_dump_enabled_options(device, stderr);
        }
 
                radv_dump_enabled_options(device, stderr);
        }
 
-       int radv_thread_trace = radv_get_int_debug_option("RADV_THREAD_TRACE", -1);
-       if (radv_thread_trace >= 0) {
+       if (radv_thread_trace_enabled()) {
                fprintf(stderr, "*************************************************\n");
                fprintf(stderr, "* WARNING: Thread trace support is experimental *\n");
                fprintf(stderr, "*************************************************\n");
                fprintf(stderr, "*************************************************\n");
                fprintf(stderr, "* WARNING: Thread trace support is experimental *\n");
                fprintf(stderr, "*************************************************\n");
@@ -2817,7 +2820,7 @@ VkResult radv_CreateDevice(
                /* Default buffer size set to 1MB per SE. */
                device->thread_trace_buffer_size =
                        radv_get_int_debug_option("RADV_THREAD_TRACE_BUFFER_SIZE", 1024 * 1024);
                /* Default buffer size set to 1MB per SE. */
                device->thread_trace_buffer_size =
                        radv_get_int_debug_option("RADV_THREAD_TRACE_BUFFER_SIZE", 1024 * 1024);
-               device->thread_trace_start_frame = radv_thread_trace;
+               device->thread_trace_start_frame = radv_get_int_debug_option("RADV_THREAD_TRACE", -1);
 
                if (!radv_thread_trace_init(device))
                        goto fail;
 
                if (!radv_thread_trace_init(device))
                        goto fail;