diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 60dd80df..869e21ce 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -1400,6 +1400,14 @@ int64_t Worker::GetFrameEnd( const FrameData& fd, size_t idx ) const } } +const FrameImage* Worker::GetFrameImage( const FrameData& fd, size_t idx ) const +{ + assert( idx < fd.frames.size() ); + const auto& v = fd.frames[idx].frameImage; + if( v < 0 ) return nullptr; + return m_data.frameImage[v]; +} + std::pair Worker::GetFrameRange( const FrameData& fd, int64_t from, int64_t to ) { auto zitbegin = std::lower_bound( fd.frames.begin(), fd.frames.end(), from, [] ( const auto& lhs, const auto& rhs ) { return lhs.start < rhs; } ); diff --git a/server/TracyWorker.hpp b/server/TracyWorker.hpp index bfe6fb9f..43bd5142 100644 --- a/server/TracyWorker.hpp +++ b/server/TracyWorker.hpp @@ -263,6 +263,7 @@ public: int64_t GetFrameTime( const FrameData& fd, size_t idx ) const; int64_t GetFrameBegin( const FrameData& fd, size_t idx ) const; int64_t GetFrameEnd( const FrameData& fd, size_t idx ) const; + const FrameImage* GetFrameImage( const FrameData& fd, size_t idx ) const; std::pair GetFrameRange( const FrameData& fd, int64_t from, int64_t to ); const flat_hash_map>& GetLockMap() const { return m_data.lockMap; }