intel/ds: VulkanApiEvent doesn't rely on interning data

The object name is part of the VkDebugUtilsObjectName event messages.
When the trace buffer is full and the ring buffer fill policy is chosen,
the debug obj events can be overwritten (lost), which is why we need the
RefreshSetDebugUtilsObjectNameEXT.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37425>
This commit is contained in:
Yiwei Zhang 2025-09-17 15:13:12 -07:00 committed by Marge Bot
parent afc9e4ce8a
commit 7795669953

View file

@ -550,8 +550,6 @@ intel_ds_end_submit(struct intel_ds_queue *queue,
uint32_t submission_id = queue->submission_id++;
IntelRenderpassDataSource::Trace([=](IntelRenderpassDataSource::TraceContext tctx) {
setup_incremental_state(tctx, queue->device);
sync_timestamp(tctx, queue->device);
auto packet = tctx.NewTracePacket();
@ -573,9 +571,6 @@ void intel_ds_perfetto_set_debug_utils_object_name(struct intel_ds_device *devic
const VkDebugUtilsObjectNameInfoEXT *pNameInfo)
{
IntelRenderpassDataSource::Trace([=](auto tctx) {
/* Do we need this for SEQ_INCREMENTAL_STATE_CLEARED for the object name to stick? */
setup_incremental_state(tctx, device);
tctx.GetDataSourceLocked()->SetDebugUtilsObjectNameEXT(tctx, pNameInfo);
});
}
@ -584,9 +579,6 @@ void intel_ds_perfetto_refresh_debug_utils_object_name(struct intel_ds_device *d
const struct vk_object_base *object)
{
IntelRenderpassDataSource::Trace([=](auto tctx) {
/* Do we need this for SEQ_INCREMENTAL_STATE_CLEARED for the object name to stick? */
setup_incremental_state(tctx, device);
tctx.GetDataSourceLocked()->RefreshSetDebugUtilsObjectNameEXT(tctx, object);
});
}