mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-26 07:54:36 +00:00
GPU statistics data accessors.
This commit is contained in:
parent
8533bdf5f4
commit
f1095bba12
@ -289,6 +289,7 @@ Worker::Worker( const char* addr, uint16_t port )
|
|||||||
|
|
||||||
#ifndef TRACY_NO_STATISTICS
|
#ifndef TRACY_NO_STATISTICS
|
||||||
m_data.sourceLocationZonesReady = true;
|
m_data.sourceLocationZonesReady = true;
|
||||||
|
m_data.gpuSourceLocationZonesReady = true;
|
||||||
m_data.callstackSamplesReady = true;
|
m_data.callstackSamplesReady = true;
|
||||||
m_data.ghostZonesReady = true;
|
m_data.ghostZonesReady = true;
|
||||||
m_data.ctxUsageReady = true;
|
m_data.ctxUsageReady = true;
|
||||||
@ -3723,6 +3724,15 @@ Worker::SourceLocationZones* Worker::GetSourceLocationZonesReal( uint16_t srcloc
|
|||||||
m_data.srclocZonesLast.second = &it->second;
|
m_data.srclocZonesLast.second = &it->second;
|
||||||
return &it->second;
|
return &it->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Worker::GpuSourceLocationZones* Worker::GetGpuSourceLocationZonesReal( uint16_t srcloc )
|
||||||
|
{
|
||||||
|
auto it = m_data.gpuSourceLocationZones.find( srcloc );
|
||||||
|
assert( it != m_data.gpuSourceLocationZones.end() );
|
||||||
|
m_data.gpuZonesLast.first = srcloc;
|
||||||
|
m_data.gpuZonesLast.second = &it->second;
|
||||||
|
return &it->second;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
uint64_t* Worker::GetSourceLocationZonesCntReal( uint16_t srcloc )
|
uint64_t* Worker::GetSourceLocationZonesCntReal( uint16_t srcloc )
|
||||||
{
|
{
|
||||||
@ -3732,6 +3742,15 @@ uint64_t* Worker::GetSourceLocationZonesCntReal( uint16_t srcloc )
|
|||||||
m_data.srclocCntLast.second = &it->second;
|
m_data.srclocCntLast.second = &it->second;
|
||||||
return &it->second;
|
return &it->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64_t* Worker::GetGpuSourceLocationZonesCntReal( uint16_t srcloc )
|
||||||
|
{
|
||||||
|
auto it = m_data.gpuSourceLocationZonesCnt.find( srcloc );
|
||||||
|
assert( it != m_data.gpuSourceLocationZonesCnt.end() );
|
||||||
|
m_data.gpuCntLast.first = srcloc;
|
||||||
|
m_data.gpuCntLast.second = &it->second;
|
||||||
|
return &it->second;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const ThreadData* Worker::GetThreadData( uint64_t tid ) const
|
const ThreadData* Worker::GetThreadData( uint64_t tid ) const
|
||||||
|
@ -297,8 +297,11 @@ private:
|
|||||||
#ifndef TRACY_NO_STATISTICS
|
#ifndef TRACY_NO_STATISTICS
|
||||||
unordered_flat_map<int16_t, SourceLocationZones> sourceLocationZones;
|
unordered_flat_map<int16_t, SourceLocationZones> sourceLocationZones;
|
||||||
bool sourceLocationZonesReady = false;
|
bool sourceLocationZonesReady = false;
|
||||||
|
unordered_flat_map<int16_t, GpuSourceLocationZones> gpuSourceLocationZones;
|
||||||
|
bool gpuSourceLocationZonesReady = false;
|
||||||
#else
|
#else
|
||||||
unordered_flat_map<int16_t, uint64_t> sourceLocationZonesCnt;
|
unordered_flat_map<int16_t, uint64_t> sourceLocationZonesCnt;
|
||||||
|
unordered_flat_map<int16_t, uint64_t> gpuSourceLocationZonesCnt;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
unordered_flat_map<VarArray<CallstackFrameId>*, uint32_t, VarArrayHasher<CallstackFrameId>, VarArrayComparator<CallstackFrameId>> callstackMap;
|
unordered_flat_map<VarArray<CallstackFrameId>*, uint32_t, VarArrayHasher<CallstackFrameId>, VarArrayComparator<CallstackFrameId>> callstackMap;
|
||||||
@ -365,8 +368,10 @@ private:
|
|||||||
std::pair<uint64_t, uint16_t> shrinkSrclocLast = std::make_pair( std::numeric_limits<uint64_t>::max(), 0 );
|
std::pair<uint64_t, uint16_t> shrinkSrclocLast = std::make_pair( std::numeric_limits<uint64_t>::max(), 0 );
|
||||||
#ifndef TRACY_NO_STATISTICS
|
#ifndef TRACY_NO_STATISTICS
|
||||||
std::pair<uint16_t, SourceLocationZones*> srclocZonesLast = std::make_pair( 0, nullptr );
|
std::pair<uint16_t, SourceLocationZones*> srclocZonesLast = std::make_pair( 0, nullptr );
|
||||||
|
std::pair<uint16_t, GpuSourceLocationZones*> gpuZonesLast = std::make_pair( 0, nullptr );
|
||||||
#else
|
#else
|
||||||
std::pair<uint16_t, uint64_t*> srclocCntLast = std::make_pair( 0, nullptr );
|
std::pair<uint16_t, uint64_t*> srclocCntLast = std::make_pair( 0, nullptr );
|
||||||
|
std::pair<uint16_t, uint64_t*> gpuCntLast = std::make_pair( 0, nullptr );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef TRACY_NO_STATISTICS
|
#ifndef TRACY_NO_STATISTICS
|
||||||
@ -805,6 +810,13 @@ private:
|
|||||||
return GetSourceLocationZonesReal( srcloc );
|
return GetSourceLocationZonesReal( srcloc );
|
||||||
}
|
}
|
||||||
SourceLocationZones* GetSourceLocationZonesReal( uint16_t srcloc );
|
SourceLocationZones* GetSourceLocationZonesReal( uint16_t srcloc );
|
||||||
|
|
||||||
|
GpuSourceLocationZones* GetGpuSourceLocationZones( uint16_t srcloc )
|
||||||
|
{
|
||||||
|
if( m_data.gpuZonesLast.first == srcloc ) return m_data.gpuZonesLast.second;
|
||||||
|
return GetGpuSourceLocationZonesReal( srcloc );
|
||||||
|
}
|
||||||
|
GpuSourceLocationZones* GetGpuSourceLocationZonesReal( uint16_t srcloc );
|
||||||
#else
|
#else
|
||||||
uint64_t* GetSourceLocationZonesCnt( uint16_t srcloc )
|
uint64_t* GetSourceLocationZonesCnt( uint16_t srcloc )
|
||||||
{
|
{
|
||||||
@ -812,6 +824,13 @@ private:
|
|||||||
return GetSourceLocationZonesCntReal( srcloc );
|
return GetSourceLocationZonesCntReal( srcloc );
|
||||||
}
|
}
|
||||||
uint64_t* GetSourceLocationZonesCntReal( uint16_t srcloc );
|
uint64_t* GetSourceLocationZonesCntReal( uint16_t srcloc );
|
||||||
|
|
||||||
|
uint64_t* GetGpuSourceLocationZonesCnt( uint16_t srcloc )
|
||||||
|
{
|
||||||
|
if( m_data.gpuCntLast.first == srcloc ) return m_data.gpuCntLast.second;
|
||||||
|
return GetGpuSourceLocationZonesCntReal( srcloc );
|
||||||
|
}
|
||||||
|
uint64_t* GetGpuSourceLocationZonesCntReal( uint16_t srcloc );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
tracy_force_inline void NewZone( ZoneEvent* zone );
|
tracy_force_inline void NewZone( ZoneEvent* zone );
|
||||||
|
Loading…
Reference in New Issue
Block a user