mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-10 10:41:50 +00:00
102 lines
1.3 KiB
C++
102 lines
1.3 KiB
C++
#ifndef __TRACYTIMELINEDRAW_HPP__
|
|
#define __TRACYTIMELINEDRAW_HPP__
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "TracyEvent.hpp"
|
|
#include "TracyShortPtr.hpp"
|
|
|
|
namespace tracy
|
|
{
|
|
|
|
enum class TimelineDrawType : uint8_t
|
|
{
|
|
Folded,
|
|
Zone,
|
|
GhostFolded,
|
|
Ghost
|
|
};
|
|
|
|
struct TimelineDraw
|
|
{
|
|
TimelineDrawType type;
|
|
uint16_t depth;
|
|
short_ptr<void*> ev;
|
|
Int48 rend;
|
|
uint32_t num;
|
|
};
|
|
|
|
|
|
enum class ContextSwitchDrawType : uint8_t
|
|
{
|
|
Waiting,
|
|
Folded,
|
|
Running
|
|
};
|
|
|
|
struct ContextSwitchDraw
|
|
{
|
|
ContextSwitchDrawType type;
|
|
uint32_t idx;
|
|
uint32_t data; // Folded: number of items -OR- Waiting: wait stack
|
|
};
|
|
|
|
|
|
struct SamplesDraw
|
|
{
|
|
uint32_t num;
|
|
uint32_t idx;
|
|
};
|
|
|
|
|
|
struct MessagesDraw
|
|
{
|
|
short_ptr<MessageData> msg;
|
|
bool highlight;
|
|
uint32_t num;
|
|
};
|
|
|
|
|
|
struct CpuUsageDraw
|
|
{
|
|
int own;
|
|
int other;
|
|
};
|
|
|
|
|
|
struct CpuCtxDraw
|
|
{
|
|
uint32_t idx;
|
|
uint32_t num;
|
|
};
|
|
|
|
|
|
|
|
enum class LockState : uint8_t
|
|
{
|
|
Nothing,
|
|
HasLock, // green
|
|
HasBlockingLock, // yellow
|
|
WaitLock // red
|
|
};
|
|
|
|
struct LockDrawItem
|
|
{
|
|
Int48 t1;
|
|
LockState state;
|
|
uint32_t condensed;
|
|
short_ptr<LockEventPtr> ptr, next;
|
|
};
|
|
|
|
struct LockDraw
|
|
{
|
|
uint32_t id;
|
|
bool forceDraw;
|
|
uint8_t thread;
|
|
std::vector<LockDrawItem> data;
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|