pvr: only build pvr_dump_csb.c for rogue

Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38922>
This commit is contained in:
Erik Faye-Lund 2025-11-24 15:48:59 +01:00
parent 6b4577e12d
commit e1064e57a7
5 changed files with 21 additions and 3 deletions

View file

@ -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

View file

@ -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,

View file

@ -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,

View file

@ -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