1- // =====================================================================
2- // Copyright (c) 2012 Advanced Micro Devices, Inc. All rights reserved.
3- //
4- // / \author GPU Developer Tools
5- // / \file $File: //devtools/main/CodeXL/Components/GpuProfiling/AMDTGpuProfiling/APITimelineItems.cpp $
6- // / \version $Revision: #10 $
7- // / \brief This file contains the base timeline item classes used for all APIs
8- //
9- // =====================================================================
10- // $Id: //devtools/main/CodeXL/Components/GpuProfiling/AMDTGpuProfiling/APITimelineItems.cpp#10 $
11- // Last checkin: $DateTime: 2016/04/18 06:02:03 $
12- // Last edited by: $Author: salgrana $
13- // Change list: $Change: 569613 $
14- // =====================================================================
15-
16- // Infra:
1+ // =====================================================================
2+ // Copyright (c) 2012 Advanced Micro Devices, Inc. All rights reserved.
3+ //
4+ // / \author GPU Developer Tools
5+ // / \file $File: //devtools/main/CodeXL/Components/GpuProfiling/AMDTGpuProfiling/APITimelineItems.cpp $
6+ // / \version $Revision: #10 $
7+ // / \brief This file contains the base timeline item classes used for all APIs
8+ //
9+ // =====================================================================
10+ // $Id: //devtools/main/CodeXL/Components/GpuProfiling/AMDTGpuProfiling/APITimelineItems.cpp#10 $
11+ // Last checkin: $DateTime: 2016/04/18 06:02:03 $
12+ // Last edited by: $Author: salgrana $
13+ // Change list: $Change: 569613 $
14+ // =====================================================================
15+
16+ // Infra:
1717#include < AMDTApplicationComponents/Include/acFunctions.h>
18- #include < AMDTApplicationComponents/Include/Timeline/acTimeline.h>
19-
20- // Local:
21- #include < AMDTGpuProfiling/APITimelineItems.h>
22- #include < AMDTGpuProfiling/TraceTable.h>
23- #include < AMDTGpuProfiling/gpStringConstants.h>
24-
25-
26- APITimelineItem::APITimelineItem () : acAPITimelineItem(std::numeric_limits<quint64>::max(), std::numeric_limits<quint64>::min(), -1), m_pTraceTableItem(NULL )
27- {
28- }
29- APITimelineItem::APITimelineItem (quint64 startTime, quint64 endTime, int apiIndex) : acAPITimelineItem(startTime, endTime, apiIndex), m_pTraceTableItem(NULL )
30- {
31- }
32-
33- void APITimelineItem::tooltipItems (acTimelineItemToolTip& tooltip) const
34- {
35- // Add the base class tooltip items:
36- acAPITimelineItem::tooltipItems (tooltip);
37-
38- if (m_pTraceTableItem != NULL )
39- {
40- QString strDeviceTime = m_pTraceTableItem->GetColumnData (TraceTableModel::TRACE_DEVICE_TIME_COLUMN).toString ();
41-
42- if (!strDeviceTime.isEmpty ())
43- {
44- quint64 deviceTime = (quint64)(strDeviceTime.toFloat () * 1000000 );
45- strDeviceTime = getDurationString (deviceTime);
46- tooltip.add (tr (" Device Time" ), strDeviceTime);
47- }
48- }
49- }
50-
51- DispatchAPITimelineItem::DispatchAPITimelineItem (acAPITimelineItem* deviceItem, acAPITimelineItem* item) : APITimelineItem(item->startTime (), item->endTime(), item->apiIndex()), m_deviceItem(deviceItem)
52- {
53- m_strText = item->text ();
54- m_backgroundColor = item->backgroundColor ();
55- m_foregroundColor = item->foregroundColor ();
56- }
57-
58- DispatchAPITimelineItem::DispatchAPITimelineItem (const QString& text) : APITimelineItem(), m_deviceItem(nullptr )
59- {
60- m_strText = text;
61- }
62-
63- HostAPITimelineItem::HostAPITimelineItem (quint64 startTime, quint64 endTime, int apiIndex) : APITimelineItem(startTime, endTime, apiIndex), m_pHostItem(NULL )
64- {
65- }
66-
67-
68- PerfMarkerTimelineItem::PerfMarkerTimelineItem (quint64 startTime, quint64 endTime) : acTimelineItem(startTime, endTime), m_pTraceTableItem(NULL )
69- {
70-
71- }
72-
73-
74- CommandListTimelineItem::CommandListTimelineItem (quint64 startTime, quint64 endTime, const QString& commandListPtr):
75- acTimelineItem(startTime, endTime), m_commandListPtr(commandListPtr)
76- {
77-
78- }
79-
80- void CommandListTimelineItem::tooltipItems (acTimelineItemToolTip& tooltip) const
81- {
82- tooltip.add (text (), m_commandListPtr);
18+ #include < AMDTApplicationComponents/Include/Timeline/acTimeline.h>
19+
20+ // Local:
21+ #include < AMDTGpuProfiling/APITimelineItems.h>
22+ #include < AMDTGpuProfiling/TraceTable.h>
23+ #include < AMDTGpuProfiling/gpStringConstants.h>
24+
25+
26+ APITimelineItem::APITimelineItem () : acAPITimelineItem(std::numeric_limits<quint64>::max(), std::numeric_limits<quint64>::min(), -1), m_pTraceTableItem(NULL )
27+ {
28+ }
29+ APITimelineItem::APITimelineItem (quint64 startTime, quint64 endTime, int apiIndex) : acAPITimelineItem(startTime, endTime, apiIndex), m_pTraceTableItem(NULL )
30+ {
31+ }
32+
33+ void APITimelineItem::tooltipItems (acTimelineItemToolTip& tooltip) const
34+ {
35+ // Add the base class tooltip items:
36+ acAPITimelineItem::tooltipItems (tooltip);
37+
38+ if (m_pTraceTableItem != NULL )
39+ {
40+ QString strDeviceTime = m_pTraceTableItem->GetColumnData (TraceTableModel::TRACE_DEVICE_TIME_COLUMN).toString ();
41+
42+ if (!strDeviceTime.isEmpty ())
43+ {
44+ quint64 deviceTime = (quint64)(strDeviceTime.toFloat () * 1000000 );
45+ strDeviceTime = getDurationString (deviceTime);
46+ tooltip.add (tr (" Device Time" ), strDeviceTime);
47+ }
48+ }
49+ }
50+
51+ DispatchAPITimelineItem::DispatchAPITimelineItem (acAPITimelineItem* deviceItem, acAPITimelineItem* item) : APITimelineItem(item->startTime (), item->endTime(), item->apiIndex()), m_deviceItem(deviceItem)
52+ {
53+ m_strText = item->text ();
54+ m_backgroundColor = item->backgroundColor ();
55+ m_foregroundColor = item->foregroundColor ();
56+ }
57+
58+ DispatchAPITimelineItem::DispatchAPITimelineItem (const QString& text) : APITimelineItem(), m_deviceItem(nullptr )
59+ {
60+ m_strText = text;
61+ }
62+
63+ HostAPITimelineItem::HostAPITimelineItem (quint64 startTime, quint64 endTime, int apiIndex) : APITimelineItem(startTime, endTime, apiIndex), m_pHostItem(NULL )
64+ {
65+ }
66+
67+
68+ PerfMarkerTimelineItem::PerfMarkerTimelineItem (quint64 startTime, quint64 endTime) : acTimelineItem(startTime, endTime), m_pTraceTableItem(NULL )
69+ {
70+
71+ }
72+
73+
74+ CommandListTimelineItem::CommandListTimelineItem (quint64 startTime, quint64 endTime, const QString& commandListPtr):
75+ acTimelineItem(startTime, endTime), m_commandListPtr(commandListPtr)
76+ {
77+
78+ }
79+
80+ void CommandListTimelineItem::tooltipItems (acTimelineItemToolTip& tooltip) const
81+ {
82+ tooltip.add (text (), m_commandListPtr);
8383
8484 quint64 timelineStartTime = 0 ;
8585 if (m_pParentBranch != NULL )
@@ -93,12 +93,14 @@ void CommandListTimelineItem::tooltipItems(acTimelineItemToolTip& tooltip) const
9393 }
9494
9595 // Convert the start and end times to milliseconds
96- double fnumStart = (m_nStartTime - timelineStartTime) / 1e6 ;
97- double fnumEnd = (m_nEndTime - timelineStartTime) / 1e6 ; // convert to milliseconds
98-
99- quint64 duration = m_nEndTime - m_nStartTime;
100- QString durationStr = NanosecToTimeString (duration, true , false );
101-
102- QString tooltipLine = QString (GPU_STR_APITimeline_TimeTooltipLine).arg (fnumStart, 0 , ' f' , 3 ).arg (fnumEnd, 0 , ' f' , 3 ).arg (durationStr);
103- tooltip.add (" " , tooltipLine);
104- }
96+ double fnumStart = (m_nStartTime - timelineStartTime);
97+ double fnumEnd = (m_nEndTime - timelineStartTime);
98+
99+ quint64 duration = m_nEndTime - m_nStartTime;
100+ QString durationStr = NanosecToTimeStringFormatted (duration, true );
101+ QString fnumStartStr = NanosecToTimeStringFormatted (fnumStart, true );
102+ QString fnumEndStr = NanosecToTimeStringFormatted (fnumEnd, true );
103+
104+ QString tooltipLine = QString (GPU_STR_APITimeline_TimeTooltipLine).arg (fnumStartStr).arg (fnumEndStr).arg (durationStr);
105+ tooltip.add (" " , tooltipLine);
106+ }
0 commit comments