From e1064e57a72bdcb69606891bc1e706dcd72db626 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Mon, 24 Nov 2025 15:48:59 +0100 Subject: [PATCH] pvr: only build pvr_dump_csb.c for rogue Acked-by: Frank Binns Part-of: --- src/imagination/vulkan/meson.build | 18 +++++++++++++++--- src/imagination/vulkan/pvr_arch_job_compute.c | 2 ++ src/imagination/vulkan/pvr_arch_job_render.c | 2 ++ src/imagination/vulkan/pvr_csb.h | 2 ++ .../vulkan/{ => rogue}/pvr_dump_csb.c | 0 5 files changed, 21 insertions(+), 3 deletions(-) rename src/imagination/vulkan/{ => rogue}/pvr_dump_csb.c (100%) diff --git a/src/imagination/vulkan/meson.build b/src/imagination/vulkan/meson.build index bfbedd3a799..1560a0d46e6 100644 --- a/src/imagination/vulkan/meson.build +++ b/src/imagination/vulkan/meson.build @@ -55,7 +55,6 @@ pvr_files = files( 'pvr_descriptor_set.c', 'pvr_device.c', 'pvr_dump_bo.c', - 'pvr_dump_csb.c', 'pvr_free_list.c', 'pvr_formats.c', 'pvr_image.c', @@ -111,14 +110,24 @@ if with_imagination_srv pvr_flags += '-DPVR_SUPPORT_SERVICES_DRIVER' endif -per_arch_files = [ +common_per_arch_files = [ pvr_entrypoints[0], sha1_h, ] +rogue_files = files( + 'rogue/pvr_dump_csb.c', +) + powervr_per_arch_libs = [] foreach arch : ['rogue'] + per_arch_files = common_per_arch_files + + if arch == 'rogue' + per_arch_files += rogue_files + endif + powervr_per_arch_libs += static_library( 'powervr_@0@'.format(arch), per_arch_files, @@ -129,10 +138,13 @@ foreach arch : ['rogue'] inc_src, ], dependencies : [ + dep_valgrind, idep_nir_headers, + idep_vulkan_runtime_headers, idep_vulkan_util_headers, + idep_vulkan_wsi_headers, ], - c_args : pvr_flags, + c_args : [pvr_flags, '-DPVR_BUILD_ARCH_@0@'.format(arch.to_upper())], gnu_symbol_visibility : 'hidden', ) endforeach diff --git a/src/imagination/vulkan/pvr_arch_job_compute.c b/src/imagination/vulkan/pvr_arch_job_compute.c index 35fd55d6588..9cede28c838 100644 --- a/src/imagination/vulkan/pvr_arch_job_compute.c +++ b/src/imagination/vulkan/pvr_arch_job_compute.c @@ -222,11 +222,13 @@ VkResult pvr_compute_job_submit(struct pvr_compute_ctx *ctx, pvr_compute_job_ws_submit_info_init(ctx, sub_cmd, wait, &submit_info); +#ifdef PVR_BUILD_ARCH_ROGUE if (PVR_IS_DEBUG_SET(DUMP_CONTROL_STREAM)) { pvr_csb_dump(&sub_cmd->control_stream, submit_info.frame_num, submit_info.job_num); } +#endif return device->ws->ops->compute_submit(ctx->ws_ctx, &submit_info, diff --git a/src/imagination/vulkan/pvr_arch_job_render.c b/src/imagination/vulkan/pvr_arch_job_render.c index b0aa1f704dd..62a2545ff6b 100644 --- a/src/imagination/vulkan/pvr_arch_job_render.c +++ b/src/imagination/vulkan/pvr_arch_job_render.c @@ -1471,6 +1471,7 @@ VkResult pvr_render_job_submit(struct pvr_render_ctx *ctx, wait_frag, &submit_info); +#ifdef PVR_BUILD_ARCH_ROGUE if (PVR_IS_DEBUG_SET(DUMP_CONTROL_STREAM)) { /* FIXME: This isn't an ideal method of accessing the information we * need, but it's considered good enough for a debug code path. It can be @@ -1484,6 +1485,7 @@ VkResult pvr_render_job_submit(struct pvr_render_ctx *ctx, submit_info.frame_num, submit_info.job_num); } +#endif result = device->ws->ops->render_submit(ctx->ws_ctx, &submit_info, diff --git a/src/imagination/vulkan/pvr_csb.h b/src/imagination/vulkan/pvr_csb.h index 513582851a8..b810005ed20 100644 --- a/src/imagination/vulkan/pvr_csb.h +++ b/src/imagination/vulkan/pvr_csb.h @@ -252,9 +252,11 @@ void pvr_csb_emit_link(struct pvr_csb *csb, pvr_dev_addr_t addr, bool ret); VkResult pvr_csb_emit_return(struct pvr_csb *csb); VkResult pvr_csb_emit_terminate(struct pvr_csb *csb); +#ifdef PVR_BUILD_ARCH_ROGUE void pvr_csb_dump(const struct pvr_csb *csb, uint32_t frame_num, uint32_t job_num); +#endif #define pvr_cmd_length(x) ROGUE_##x##_length #define pvr_cmd_header(x) ROGUE_##x##_header diff --git a/src/imagination/vulkan/pvr_dump_csb.c b/src/imagination/vulkan/rogue/pvr_dump_csb.c similarity index 100% rename from src/imagination/vulkan/pvr_dump_csb.c rename to src/imagination/vulkan/rogue/pvr_dump_csb.c