1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00

Frame image transfer prototype.

This commit is contained in:
Bartosz Taudul
2019-06-06 21:39:54 +02:00
parent a37348c5c7
commit e5bb6011c5
8 changed files with 153 additions and 38 deletions
+12
View File
@@ -17,6 +17,7 @@ enum class QueueType : uint8_t
CallstackMemory,
Callstack,
CallstackAlloc,
FrameImage,
Terminate,
KeepAlive,
Crash,
@@ -61,6 +62,7 @@ enum class QueueType : uint8_t
CallstackPayload,
CallstackAllocPayload,
FrameName,
FrameImageData,
NUM_TYPES
};
@@ -98,6 +100,13 @@ struct QueueFrameMark
uint64_t name; // ptr
};
struct QueueFrameImage
{
uint64_t image; // ptr
uint16_t w;
uint16_t h;
};
struct QueueSourceLocation
{
uint64_t name;
@@ -310,6 +319,7 @@ struct QueueItem
QueueZoneValidation zoneValidation;
QueueStringTransfer stringTransfer;
QueueFrameMark frameMark;
QueueFrameImage frameImage;
QueueSourceLocation srcloc;
QueueZoneText zoneText;
QueueLockAnnounce lockAnnounce;
@@ -351,6 +361,7 @@ static const size_t QueueDataSize[] = {
sizeof( QueueHeader ) + sizeof( QueueCallstackMemory ),
sizeof( QueueHeader ) + sizeof( QueueCallstack ),
sizeof( QueueHeader ) + sizeof( QueueCallstackAlloc ),
sizeof( QueueHeader ) + sizeof( QueueFrameImage ),
// above items must be first
sizeof( QueueHeader ), // terminate
sizeof( QueueHeader ), // keep alive
@@ -397,6 +408,7 @@ static const size_t QueueDataSize[] = {
sizeof( QueueHeader ) + sizeof( QueueStringTransfer ), // callstack payload
sizeof( QueueHeader ) + sizeof( QueueStringTransfer ), // callstack alloc payload
sizeof( QueueHeader ) + sizeof( QueueStringTransfer ), // frame name
sizeof( QueueHeader ) + sizeof( QueueStringTransfer ), // frame image data
};
static_assert( QueueItemSize == 32, "Queue item size not 32 bytes" );