From 1f34ce7e8e124e8dc9acf388081026edcdd5885d Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Tue, 7 Jun 2022 14:33:04 +0300 Subject: [PATCH] intel/ds: track untyped dataport flushes Signed-off-by: Lionel Landwerlin Acked-by: Caio Oliveira Part-of: --- src/intel/ds/intel_driver_ds.cc | 3 ++- src/intel/ds/intel_driver_ds.h | 27 ++++++++++++++------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/intel/ds/intel_driver_ds.cc b/src/intel/ds/intel_driver_ds.cc index 215fdf4efa8..157b51231d3 100644 --- a/src/intel/ds/intel_driver_ds.cc +++ b/src/intel/ds/intel_driver_ds.cc @@ -340,7 +340,7 @@ custom_trace_payload_as_extra_end_stall(perfetto::protos::pbzero::GpuRenderStage auto data = event->add_extra_data(); data->set_name("stall_reason"); - snprintf(buf, sizeof(buf), "%s%s%s%s%s%s%s%s%s%s%s%s%s%s : %s", + snprintf(buf, sizeof(buf), "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s : %s", (payload->flags & INTEL_DS_DEPTH_CACHE_FLUSH_BIT) ? "+depth_flush" : "", (payload->flags & INTEL_DS_DATA_CACHE_FLUSH_BIT) ? "+dc_flush" : "", (payload->flags & INTEL_DS_HDC_PIPELINE_FLUSH_BIT) ? "+hdc_flush" : "", @@ -355,6 +355,7 @@ custom_trace_payload_as_extra_end_stall(perfetto::protos::pbzero::GpuRenderStage (payload->flags & INTEL_DS_DEPTH_STALL_BIT) ? "+depth_stall" : "", (payload->flags & INTEL_DS_HDC_PIPELINE_FLUSH_BIT) ? "+hdc_flush" : "", (payload->flags & INTEL_DS_CS_STALL_BIT) ? "+cs_stall" : "", + (payload->flags & INTEL_DS_UNTYPED_DATAPORT_CACHE_FLUSH_BIT) ? "+udp_flush" : "", payload->reason ? payload->reason : "unknown"); assert(strlen(buf) > 0); diff --git a/src/intel/ds/intel_driver_ds.h b/src/intel/ds/intel_driver_ds.h index 8b833d19794..2a7c6d39fb3 100644 --- a/src/intel/ds/intel_driver_ds.h +++ b/src/intel/ds/intel_driver_ds.h @@ -42,19 +42,20 @@ enum intel_ds_api { }; enum intel_ds_stall_flag { - INTEL_DS_DEPTH_CACHE_FLUSH_BIT = BITFIELD_BIT(0), - INTEL_DS_DATA_CACHE_FLUSH_BIT = BITFIELD_BIT(1), - INTEL_DS_HDC_PIPELINE_FLUSH_BIT = BITFIELD_BIT(2), - INTEL_DS_RENDER_TARGET_CACHE_FLUSH_BIT = BITFIELD_BIT(3), - INTEL_DS_TILE_CACHE_FLUSH_BIT = BITFIELD_BIT(4), - INTEL_DS_STATE_CACHE_INVALIDATE_BIT = BITFIELD_BIT(5), - INTEL_DS_CONST_CACHE_INVALIDATE_BIT = BITFIELD_BIT(6), - INTEL_DS_VF_CACHE_INVALIDATE_BIT = BITFIELD_BIT(7), - INTEL_DS_TEXTURE_CACHE_INVALIDATE_BIT = BITFIELD_BIT(8), - INTEL_DS_INST_CACHE_INVALIDATE_BIT = BITFIELD_BIT(9), - INTEL_DS_STALL_AT_SCOREBOARD_BIT = BITFIELD_BIT(10), - INTEL_DS_DEPTH_STALL_BIT = BITFIELD_BIT(11), - INTEL_DS_CS_STALL_BIT = BITFIELD_BIT(12), + INTEL_DS_DEPTH_CACHE_FLUSH_BIT = BITFIELD_BIT(0), + INTEL_DS_DATA_CACHE_FLUSH_BIT = BITFIELD_BIT(1), + INTEL_DS_HDC_PIPELINE_FLUSH_BIT = BITFIELD_BIT(2), + INTEL_DS_RENDER_TARGET_CACHE_FLUSH_BIT = BITFIELD_BIT(3), + INTEL_DS_TILE_CACHE_FLUSH_BIT = BITFIELD_BIT(4), + INTEL_DS_STATE_CACHE_INVALIDATE_BIT = BITFIELD_BIT(5), + INTEL_DS_CONST_CACHE_INVALIDATE_BIT = BITFIELD_BIT(6), + INTEL_DS_VF_CACHE_INVALIDATE_BIT = BITFIELD_BIT(7), + INTEL_DS_TEXTURE_CACHE_INVALIDATE_BIT = BITFIELD_BIT(8), + INTEL_DS_INST_CACHE_INVALIDATE_BIT = BITFIELD_BIT(9), + INTEL_DS_STALL_AT_SCOREBOARD_BIT = BITFIELD_BIT(10), + INTEL_DS_DEPTH_STALL_BIT = BITFIELD_BIT(11), + INTEL_DS_CS_STALL_BIT = BITFIELD_BIT(12), + INTEL_DS_UNTYPED_DATAPORT_CACHE_FLUSH_BIT = BITFIELD_BIT(13), }; /* Convert internal driver PIPE_CONTROL stall bits to intel_ds_stall_flag. */