From 7196b9cc0b180d3f2a811e78f7ba95ae319d3eb5 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 2 Apr 2024 09:49:09 +0200 Subject: [PATCH] radv: add radv_spm.h Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/meson.build | 1 + src/amd/vulkan/radv_device.c | 1 + src/amd/vulkan/radv_private.h | 5 ----- src/amd/vulkan/radv_spm.c | 1 + src/amd/vulkan/radv_spm.h | 41 +++++++++++++++++++++++++++++++++++ src/amd/vulkan/radv_sqtt.c | 1 + 6 files changed, 45 insertions(+), 5 deletions(-) create mode 100644 src/amd/vulkan/radv_spm.h diff --git a/src/amd/vulkan/meson.build b/src/amd/vulkan/meson.build index 2e9a55eb97542..5c1bebdc80aa3 100644 --- a/src/amd/vulkan/meson.build +++ b/src/amd/vulkan/meson.build @@ -163,6 +163,7 @@ libradv_files = files( 'radv_shader_object.c', 'radv_shader_object.h', 'radv_spm.c', + 'radv_spm.h', 'radv_sqtt.c', 'radv_sqtt.h', 'radv_query.c', diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 79787e879c111..620e3e83143bf 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -51,6 +51,7 @@ #include "radv_formats.h" #include "radv_private.h" #include "radv_shader.h" +#include "radv_spm.h" #include "radv_sqtt.h" #include "vk_common_entrypoints.h" #include "vk_pipeline_cache.h" diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index cf2a26f1c91e6..82672d276ffda 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -1078,11 +1078,6 @@ radv_queue_ring(const struct radv_queue *queue) return radv_queue_family_to_ring(pdev, queue->state.qf); } -/* radv_spm.c */ -bool radv_spm_init(struct radv_device *device); -void radv_spm_finish(struct radv_device *device); -void radv_emit_spm_setup(struct radv_device *device, struct radeon_cmdbuf *cs, enum radv_queue_family qf); - void radv_begin_conditional_rendering(struct radv_cmd_buffer *cmd_buffer, uint64_t va, bool draw_visible); void radv_end_conditional_rendering(struct radv_cmd_buffer *cmd_buffer); diff --git a/src/amd/vulkan/radv_spm.c b/src/amd/vulkan/radv_spm.c index c826661e21221..5c79e2269770c 100644 --- a/src/amd/vulkan/radv_spm.c +++ b/src/amd/vulkan/radv_spm.c @@ -26,6 +26,7 @@ #include "radv_buffer.h" #include "radv_cs.h" #include "radv_private.h" +#include "radv_spm.h" #include "sid.h" #define SPM_RING_BASE_ALIGN 32 diff --git a/src/amd/vulkan/radv_spm.h b/src/amd/vulkan/radv_spm.h new file mode 100644 index 0000000000000..75b3548028e7d --- /dev/null +++ b/src/amd/vulkan/radv_spm.h @@ -0,0 +1,41 @@ +/* + * Copyright © 2016 Red Hat. + * Copyright © 2016 Bas Nieuwenhuizen + * + * based in part on anv driver which is: + * Copyright © 2015 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#ifndef RADV_SPM_H +#define RADV_SPM_H + +#include "radv_device.h" +#include "radv_queue.h" +#include "radv_radeon_winsys.h" + +void radv_emit_spm_setup(struct radv_device *device, struct radeon_cmdbuf *cs, enum radv_queue_family qf); + +bool radv_spm_init(struct radv_device *device); + +void radv_spm_finish(struct radv_device *device); + +#endif /* RADV_SPM_H */ diff --git a/src/amd/vulkan/radv_sqtt.c b/src/amd/vulkan/radv_sqtt.c index 90f740d4b0edc..9f89e16643e9a 100644 --- a/src/amd/vulkan/radv_sqtt.c +++ b/src/amd/vulkan/radv_sqtt.c @@ -28,6 +28,7 @@ #include "radv_debug.h" #include "radv_perfcounter.h" #include "radv_private.h" +#include "radv_spm.h" #include "radv_sqtt.h" #include "sid.h"