mirror of
https://github.com/wolfpld/tracy
synced 2025-04-29 04:23:51 +00:00
Add GPU name transfer macros.
This commit is contained in:
parent
7f5810dfd6
commit
cd4114f264
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#define TracyD3D12Context(device, queue) nullptr
|
#define TracyD3D12Context(device, queue) nullptr
|
||||||
#define TracyD3D12Destroy(ctx)
|
#define TracyD3D12Destroy(ctx)
|
||||||
|
#define TracyD3D12ContextName(ctx, name, size)
|
||||||
|
|
||||||
#define TracyD3D12NewFrame(ctx)
|
#define TracyD3D12NewFrame(ctx)
|
||||||
|
|
||||||
@ -192,6 +193,22 @@ namespace tracy
|
|||||||
m_queue->Signal(m_payloadFence.Get(), ++m_activePayload);
|
m_queue->Signal(m_payloadFence.Get(), ++m_activePayload);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Name( const char* name, uint16_t len )
|
||||||
|
{
|
||||||
|
auto ptr = (char*)tracy_malloc( len );
|
||||||
|
memcpy( ptr, name, len );
|
||||||
|
|
||||||
|
auto item = Profiler::QueueSerial();
|
||||||
|
MemWrite( &item->hdr.type, QueueType::GpuContextName );
|
||||||
|
MemWrite( &item->gpuContextNameFat.context, m_context );
|
||||||
|
MemWrite( &item->gpuContextNameFat.ptr, (uint64_t)ptr );
|
||||||
|
MemWrite( &item->gpuContextNameFat.size, len );
|
||||||
|
#ifdef TRACY_ON_DEMAND
|
||||||
|
GetProfiler().DeferItem( *item );
|
||||||
|
#endif
|
||||||
|
Profiler::QueueSerialFinish();
|
||||||
|
}
|
||||||
|
|
||||||
void Collect()
|
void Collect()
|
||||||
{
|
{
|
||||||
ZoneScopedC(Color::Red4);
|
ZoneScopedC(Color::Red4);
|
||||||
@ -454,6 +471,7 @@ using TracyD3D12Ctx = tracy::D3D12QueueCtx*;
|
|||||||
|
|
||||||
#define TracyD3D12Context(device, queue) tracy::CreateD3D12Context(device, queue);
|
#define TracyD3D12Context(device, queue) tracy::CreateD3D12Context(device, queue);
|
||||||
#define TracyD3D12Destroy(ctx) tracy::DestroyD3D12Context(ctx);
|
#define TracyD3D12Destroy(ctx) tracy::DestroyD3D12Context(ctx);
|
||||||
|
#define TracyD3D12ContextName(ctx, name, size) ctx->Name(name, size);
|
||||||
|
|
||||||
#define TracyD3D12NewFrame(ctx) ctx->NewFrame();
|
#define TracyD3D12NewFrame(ctx) ctx->NewFrame();
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#define TracyCLContext(c, x) nullptr
|
#define TracyCLContext(c, x) nullptr
|
||||||
#define TracyCLDestroy(c)
|
#define TracyCLDestroy(c)
|
||||||
|
#define TracyCLContextName(c, x, y)
|
||||||
|
|
||||||
#define TracyCLNamedZone(c, x, y, z)
|
#define TracyCLNamedZone(c, x, y, z)
|
||||||
#define TracyCLNamedZoneC(c, x, y, z, w)
|
#define TracyCLNamedZoneC(c, x, y, z, w)
|
||||||
@ -109,6 +110,22 @@ namespace tracy {
|
|||||||
Profiler::QueueSerialFinish();
|
Profiler::QueueSerialFinish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Name( const char* name, uint16_t len )
|
||||||
|
{
|
||||||
|
auto ptr = (char*)tracy_malloc( len );
|
||||||
|
memcpy( ptr, name, len );
|
||||||
|
|
||||||
|
auto item = Profiler::QueueSerial();
|
||||||
|
MemWrite( &item->hdr.type, QueueType::GpuContextName );
|
||||||
|
MemWrite( &item->gpuContextNameFat.context, (uint8_t)m_contextId );
|
||||||
|
MemWrite( &item->gpuContextNameFat.ptr, (uint64_t)ptr );
|
||||||
|
MemWrite( &item->gpuContextNameFat.size, len );
|
||||||
|
#ifdef TRACY_ON_DEMAND
|
||||||
|
GetProfiler().DeferItem( *item );
|
||||||
|
#endif
|
||||||
|
Profiler::QueueSerialFinish();
|
||||||
|
}
|
||||||
|
|
||||||
void Collect()
|
void Collect()
|
||||||
{
|
{
|
||||||
ZoneScopedC(Color::Red4);
|
ZoneScopedC(Color::Red4);
|
||||||
@ -287,6 +304,7 @@ using TracyCLCtx = tracy::OpenCLCtx*;
|
|||||||
|
|
||||||
#define TracyCLContext(context, device) tracy::CreateCLContext(context, device);
|
#define TracyCLContext(context, device) tracy::CreateCLContext(context, device);
|
||||||
#define TracyCLDestroy(ctx) tracy::DestroyCLContext(ctx);
|
#define TracyCLDestroy(ctx) tracy::DestroyCLContext(ctx);
|
||||||
|
#define TracyCLContextName(context, name, size) ctx->Name(name, size);
|
||||||
#if defined TRACY_HAS_CALLSTACK && defined TRACY_CALLSTACK
|
#if defined TRACY_HAS_CALLSTACK && defined TRACY_CALLSTACK
|
||||||
# define TracyCLNamedZone(ctx, varname, name, active) static constexpr tracy::SourceLocationData TracyConcat(__tracy_gpu_source_location,__LINE__) { name, __FUNCTION__, __FILE__, (uint32_t)__LINE__, 0 }; tracy::OpenCLCtxScope varname(ctx, &TracyConcat(__tracy_gpu_source_location,__LINE__), TRACY_CALLSTACK, active );
|
# define TracyCLNamedZone(ctx, varname, name, active) static constexpr tracy::SourceLocationData TracyConcat(__tracy_gpu_source_location,__LINE__) { name, __FUNCTION__, __FILE__, (uint32_t)__LINE__, 0 }; tracy::OpenCLCtxScope varname(ctx, &TracyConcat(__tracy_gpu_source_location,__LINE__), TRACY_CALLSTACK, active );
|
||||||
# define TracyCLNamedZoneC(ctx, varname, name, color, active) static constexpr tracy::SourceLocationData TracyConcat(__tracy_gpu_source_location,__LINE__) { name, __FUNCTION__, __FILE__, (uint32_t)__LINE__, color }; tracy::OpenCLCtxScope varname(ctx, &TracyConcat(__tracy_gpu_source_location,__LINE__), TRACY_CALLSTACK, active );
|
# define TracyCLNamedZoneC(ctx, varname, name, color, active) static constexpr tracy::SourceLocationData TracyConcat(__tracy_gpu_source_location,__LINE__) { name, __FUNCTION__, __FILE__, (uint32_t)__LINE__, color }; tracy::OpenCLCtxScope varname(ctx, &TracyConcat(__tracy_gpu_source_location,__LINE__), TRACY_CALLSTACK, active );
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
#if !defined TRACY_ENABLE || defined __APPLE__
|
#if !defined TRACY_ENABLE || defined __APPLE__
|
||||||
|
|
||||||
#define TracyGpuContext
|
#define TracyGpuContext
|
||||||
|
#define TracyGpuContextName(x,y)
|
||||||
#define TracyGpuNamedZone(x,y,z)
|
#define TracyGpuNamedZone(x,y,z)
|
||||||
#define TracyGpuNamedZoneC(x,y,z,w)
|
#define TracyGpuNamedZoneC(x,y,z,w)
|
||||||
#define TracyGpuZone(x)
|
#define TracyGpuZone(x)
|
||||||
@ -53,6 +54,7 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define TracyGpuContext tracy::InitRPMallocThread(); tracy::GetGpuCtx().ptr = (tracy::GpuCtx*)tracy::tracy_malloc( sizeof( tracy::GpuCtx ) ); new(tracy::GetGpuCtx().ptr) tracy::GpuCtx;
|
#define TracyGpuContext tracy::InitRPMallocThread(); tracy::GetGpuCtx().ptr = (tracy::GpuCtx*)tracy::tracy_malloc( sizeof( tracy::GpuCtx ) ); new(tracy::GetGpuCtx().ptr) tracy::GpuCtx;
|
||||||
|
#define TracyGpuContextName( name, size ) tracy::GetGpuCtx().ptr->Name( name, size );
|
||||||
#if defined TRACY_HAS_CALLSTACK && defined TRACY_CALLSTACK
|
#if defined TRACY_HAS_CALLSTACK && defined TRACY_CALLSTACK
|
||||||
# define TracyGpuNamedZone( varname, name, active ) static constexpr tracy::SourceLocationData TracyConcat(__tracy_gpu_source_location,__LINE__) { name, __FUNCTION__, __FILE__, (uint32_t)__LINE__, 0 }; tracy::GpuCtxScope varname( &TracyConcat(__tracy_gpu_source_location,__LINE__), TRACY_CALLSTACK, active );
|
# define TracyGpuNamedZone( varname, name, active ) static constexpr tracy::SourceLocationData TracyConcat(__tracy_gpu_source_location,__LINE__) { name, __FUNCTION__, __FILE__, (uint32_t)__LINE__, 0 }; tracy::GpuCtxScope varname( &TracyConcat(__tracy_gpu_source_location,__LINE__), TRACY_CALLSTACK, active );
|
||||||
# define TracyGpuNamedZoneC( varname, name, color, active ) static constexpr tracy::SourceLocationData TracyConcat(__tracy_gpu_source_location,__LINE__) { name, __FUNCTION__, __FILE__, (uint32_t)__LINE__, color }; tracy::GpuCtxScope varname( &TracyConcat(__tracy_gpu_source_location,__LINE__), TRACY_CALLSTACK, active );
|
# define TracyGpuNamedZoneC( varname, name, color, active ) static constexpr tracy::SourceLocationData TracyConcat(__tracy_gpu_source_location,__LINE__) { name, __FUNCTION__, __FILE__, (uint32_t)__LINE__, color }; tracy::GpuCtxScope varname( &TracyConcat(__tracy_gpu_source_location,__LINE__), TRACY_CALLSTACK, active );
|
||||||
@ -126,6 +128,21 @@ public:
|
|||||||
TracyLfqCommit;
|
TracyLfqCommit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Name( const char* name, uint16_t len )
|
||||||
|
{
|
||||||
|
auto ptr = (char*)tracy_malloc( len );
|
||||||
|
memcpy( ptr, name, len );
|
||||||
|
|
||||||
|
TracyLfqPrepare( QueueType::GpuContextName );
|
||||||
|
MemWrite( &item->gpuContextNameFat.context, m_context );
|
||||||
|
MemWrite( &item->gpuContextNameFat.ptr, (uint64_t)ptr );
|
||||||
|
MemWrite( &item->gpuContextNameFat.size, len );
|
||||||
|
#ifdef TRACY_ON_DEMAND
|
||||||
|
GetProfiler().DeferItem( *item );
|
||||||
|
#endif
|
||||||
|
TracyLfqCommit;
|
||||||
|
}
|
||||||
|
|
||||||
void Collect()
|
void Collect()
|
||||||
{
|
{
|
||||||
ZoneScopedC( Color::Red4 );
|
ZoneScopedC( Color::Red4 );
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#define TracyVkContext(x,y,z,w) nullptr
|
#define TracyVkContext(x,y,z,w) nullptr
|
||||||
#define TracyVkContextCalibrated(x,y,z,w,a,b) nullptr
|
#define TracyVkContextCalibrated(x,y,z,w,a,b) nullptr
|
||||||
#define TracyVkDestroy(x)
|
#define TracyVkDestroy(x)
|
||||||
|
#define TracyVkContextName(c,x,y)
|
||||||
#define TracyVkNamedZone(c,x,y,z,w)
|
#define TracyVkNamedZone(c,x,y,z,w)
|
||||||
#define TracyVkNamedZoneC(c,x,y,z,w,a)
|
#define TracyVkNamedZoneC(c,x,y,z,w,a)
|
||||||
#define TracyVkZone(c,x,y)
|
#define TracyVkZone(c,x,y)
|
||||||
@ -179,6 +180,22 @@ public:
|
|||||||
vkDestroyQueryPool( m_device, m_query, nullptr );
|
vkDestroyQueryPool( m_device, m_query, nullptr );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Name( const char* name, uint16_t len )
|
||||||
|
{
|
||||||
|
auto ptr = (char*)tracy_malloc( len );
|
||||||
|
memcpy( ptr, name, len );
|
||||||
|
|
||||||
|
auto item = Profiler::QueueSerial();
|
||||||
|
MemWrite( &item->hdr.type, QueueType::GpuContextName );
|
||||||
|
MemWrite( &item->gpuContextNameFat.context, m_context );
|
||||||
|
MemWrite( &item->gpuContextNameFat.ptr, (uint64_t)ptr );
|
||||||
|
MemWrite( &item->gpuContextNameFat.size, len );
|
||||||
|
#ifdef TRACY_ON_DEMAND
|
||||||
|
GetProfiler().DeferItem( *item );
|
||||||
|
#endif
|
||||||
|
Profiler::QueueSerialFinish();
|
||||||
|
}
|
||||||
|
|
||||||
void Collect( VkCommandBuffer cmdbuf )
|
void Collect( VkCommandBuffer cmdbuf )
|
||||||
{
|
{
|
||||||
ZoneScopedC( Color::Red4 );
|
ZoneScopedC( Color::Red4 );
|
||||||
@ -448,6 +465,7 @@ using TracyVkCtx = tracy::VkCtx*;
|
|||||||
#define TracyVkContext( physdev, device, queue, cmdbuf ) tracy::CreateVkContext( physdev, device, queue, cmdbuf, nullptr, nullptr );
|
#define TracyVkContext( physdev, device, queue, cmdbuf ) tracy::CreateVkContext( physdev, device, queue, cmdbuf, nullptr, nullptr );
|
||||||
#define TracyVkContextCalibrated( physdev, device, queue, cmdbuf, gpdctd, gct ) tracy::CreateVkContext( physdev, device, queue, cmdbuf, gpdctd, gct );
|
#define TracyVkContextCalibrated( physdev, device, queue, cmdbuf, gpdctd, gct ) tracy::CreateVkContext( physdev, device, queue, cmdbuf, gpdctd, gct );
|
||||||
#define TracyVkDestroy( ctx ) tracy::DestroyVkContext( ctx );
|
#define TracyVkDestroy( ctx ) tracy::DestroyVkContext( ctx );
|
||||||
|
#define TracyVkContextName( ctx, name, size ) ctx->Name( name, size );
|
||||||
#if defined TRACY_HAS_CALLSTACK && defined TRACY_CALLSTACK
|
#if defined TRACY_HAS_CALLSTACK && defined TRACY_CALLSTACK
|
||||||
# define TracyVkNamedZone( ctx, varname, cmdbuf, name, active ) static constexpr tracy::SourceLocationData TracyConcat(__tracy_gpu_source_location,__LINE__) { name, __FUNCTION__, __FILE__, (uint32_t)__LINE__, 0 }; tracy::VkCtxScope varname( ctx, &TracyConcat(__tracy_gpu_source_location,__LINE__), cmdbuf, TRACY_CALLSTACK, active );
|
# define TracyVkNamedZone( ctx, varname, cmdbuf, name, active ) static constexpr tracy::SourceLocationData TracyConcat(__tracy_gpu_source_location,__LINE__) { name, __FUNCTION__, __FILE__, (uint32_t)__LINE__, 0 }; tracy::VkCtxScope varname( ctx, &TracyConcat(__tracy_gpu_source_location,__LINE__), cmdbuf, TRACY_CALLSTACK, active );
|
||||||
# define TracyVkNamedZoneC( ctx, varname, cmdbuf, name, color, active ) static constexpr tracy::SourceLocationData TracyConcat(__tracy_gpu_source_location,__LINE__) { name, __FUNCTION__, __FILE__, (uint32_t)__LINE__, color }; tracy::VkCtxScope varname( ctx, &TracyConcat(__tracy_gpu_source_location,__LINE__), cmdbuf, TRACY_CALLSTACK, active );
|
# define TracyVkNamedZoneC( ctx, varname, cmdbuf, name, color, active ) static constexpr tracy::SourceLocationData TracyConcat(__tracy_gpu_source_location,__LINE__) { name, __FUNCTION__, __FILE__, (uint32_t)__LINE__, color }; tracy::VkCtxScope varname( ctx, &TracyConcat(__tracy_gpu_source_location,__LINE__), cmdbuf, TRACY_CALLSTACK, active );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user