From ca13e353049faf11d48eb3300f0b003213177b23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Mon, 19 Aug 2024 11:20:03 -0700 Subject: [PATCH] anv: Add anv_device_perf_close() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Lionel Landwerlin Signed-off-by: José Roberto de Souza Part-of: --- src/intel/vulkan/anv_perf.c | 21 ++++++++++++--------- src/intel/vulkan/anv_private.h | 1 + 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/intel/vulkan/anv_perf.c b/src/intel/vulkan/anv_perf.c index 5a94906733f..5c2d0656910 100644 --- a/src/intel/vulkan/anv_perf.c +++ b/src/intel/vulkan/anv_perf.c @@ -94,6 +94,16 @@ anv_device_perf_init(struct anv_device *device) device->perf_fd = -1; } +void +anv_device_perf_close(struct anv_device *device) +{ + if (device->perf_fd == -1) + return; + + close(device->perf_fd); + device->perf_fd = -1; +} + static int anv_device_perf_open(struct anv_device *device, uint64_t metric_id) { @@ -245,10 +255,7 @@ void anv_UninitializePerformanceApiINTEL( { ANV_FROM_HANDLE(anv_device, device, _device); - if (device->perf_fd >= 0) { - close(device->perf_fd); - device->perf_fd = -1; - } + anv_device_perf_close(device); } /* VK_KHR_performance_query */ @@ -381,11 +388,7 @@ void anv_ReleaseProfilingLockKHR( { ANV_FROM_HANDLE(anv_device, device, _device); - if (!INTEL_DEBUG(DEBUG_NO_OACONFIG)) { - assert(device->perf_fd >= 0); - close(device->perf_fd); - } - device->perf_fd = -1; + anv_device_perf_close(device); } void diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 9d03b9c9c42..88e0e6b1ad5 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -6173,6 +6173,7 @@ struct anv_performance_configuration_intel { void anv_physical_device_init_va_ranges(struct anv_physical_device *device); void anv_physical_device_init_perf(struct anv_physical_device *device, int fd); void anv_device_perf_init(struct anv_device *device); +void anv_device_perf_close(struct anv_device *device); void anv_perf_write_pass_results(struct intel_perf_config *perf, struct anv_query_pool *pool, uint32_t pass, const struct intel_perf_query_result *accumulated_results,