mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
ac/sqtt: move radv_get_expected_buffer_size to ac
Reviewed-by: Marek Olšák <marek.olsak@amd.com> Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8002>
This commit is contained in:
parent
ea6176e63e
commit
df5233b977
3 changed files with 16 additions and 13 deletions
|
|
@ -75,3 +75,15 @@ ac_is_thread_trace_complete(struct radeon_info *rad_info,
|
|||
*/
|
||||
return info->cur_offset == info->gfx9_write_counter;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
ac_get_expected_buffer_size(struct radeon_info *rad_info,
|
||||
const struct ac_thread_trace_info *info)
|
||||
{
|
||||
if (rad_info->chip_class == GFX10) {
|
||||
uint32_t dropped_cntr_per_se = info->gfx10_dropped_cntr / rad_info->max_se;
|
||||
return ((info->cur_offset * 32) + dropped_cntr_per_se) / 1024;
|
||||
}
|
||||
|
||||
return (info->gfx9_write_counter * 32) / 1024;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,6 +82,9 @@ ac_thread_trace_get_data_va(struct ac_thread_trace_data *data, uint64_t va, unsi
|
|||
bool
|
||||
ac_is_thread_trace_complete(struct radeon_info *rad_info, const struct ac_thread_trace_info *info);
|
||||
|
||||
uint32_t
|
||||
ac_get_expected_buffer_size(struct radeon_info *rad_info,
|
||||
const struct ac_thread_trace_info *info);
|
||||
|
||||
/**
|
||||
* Identifiers for RGP SQ thread-tracing markers (Table 1)
|
||||
|
|
|
|||
|
|
@ -537,18 +537,6 @@ radv_end_thread_trace(struct radv_queue *queue)
|
|||
return radv_queue_internal_submit(queue, cs);
|
||||
}
|
||||
|
||||
static uint32_t
|
||||
radv_get_expected_buffer_size(struct radv_device *device,
|
||||
const struct ac_thread_trace_info *info)
|
||||
{
|
||||
if (device->physical_device->rad_info.chip_class == GFX10) {
|
||||
uint32_t dropped_cntr_per_se = info->gfx10_dropped_cntr / device->physical_device->rad_info.max_se;
|
||||
return ((info->cur_offset * 32) + dropped_cntr_per_se) / 1024;
|
||||
}
|
||||
|
||||
return (info->gfx9_write_counter * 32) / 1024;
|
||||
}
|
||||
|
||||
bool
|
||||
radv_get_thread_trace(struct radv_queue *queue,
|
||||
struct ac_thread_trace *thread_trace)
|
||||
|
|
@ -571,7 +559,7 @@ radv_get_thread_trace(struct radv_queue *queue,
|
|||
|
||||
if (!ac_is_thread_trace_complete(&device->physical_device->rad_info, info)) {
|
||||
uint32_t expected_size =
|
||||
radv_get_expected_buffer_size(device, info);
|
||||
ac_get_expected_buffer_size(&device->physical_device->rad_info, info);
|
||||
uint32_t available_size =
|
||||
(info->cur_offset * 32) / 1024;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue