diff --git a/TracyD3D12.hpp b/TracyD3D12.hpp index c9b4b5f7..76bd7a87 100644 --- a/TracyD3D12.hpp +++ b/TracyD3D12.hpp @@ -132,7 +132,7 @@ namespace tracy MemWrite(&item->gpuNewContext.period, 1E+09f / static_cast(timestampFrequency)); MemWrite(&item->gpuNewContext.context, m_context); MemWrite(&item->gpuNewContext.accuracyBits, uint8_t{ 0 }); - MemWrite(&item->gpuNewContext.type, GpuContextType::Vulkan); // #TEMP: Add a Direct3D12 context type in the server. + MemWrite(&item->gpuNewContext.type, GpuContextType::Direct3D12); #ifdef TRACY_ON_DEMAND GetProfiler().DeferItem(*item); diff --git a/common/TracyQueue.hpp b/common/TracyQueue.hpp index f791410b..7ddc9ed6 100644 --- a/common/TracyQueue.hpp +++ b/common/TracyQueue.hpp @@ -263,7 +263,8 @@ enum class GpuContextType : uint8_t { Invalid, OpenGl, - Vulkan + Vulkan, + Direct3D12 }; struct QueueGpuNewContext diff --git a/server/TracyView.cpp b/server/TracyView.cpp index d41ac945..fbf14ccc 100644 --- a/server/TracyView.cpp +++ b/server/TracyView.cpp @@ -75,7 +75,8 @@ constexpr const char* s_tracyStackFrames[] = { constexpr const char* GpuContextNames[] = { "Invalid", "OpenGL", - "Vulkan" + "Vulkan", + "Direct3D 12" }; @@ -2472,7 +2473,7 @@ void View::DrawZones() draw->AddTriangle( wpos + ImVec2( to/2, oldOffset + to/2 ), wpos + ImVec2( to/2, oldOffset + ty - to/2 ), wpos + ImVec2( to/2 + th, oldOffset + ty * 0.5 ), 0xFF886666, 2.0f ); } - const bool isMultithreaded = v->type == GpuContextType::Vulkan; + const bool isMultithreaded = (v->type == GpuContextType::Vulkan || v->type == GpuContextType::Direct3D12); char buf[64]; sprintf( buf, "%s context %zu", GpuContextNames[(int)v->type], i ); DrawTextContrast( draw, wpos + ImVec2( ty, oldOffset ), showFull ? 0xFFFFAAAA : 0xFF886666, buf ); diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 3dfc6d0d..8baac096 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -5265,7 +5265,7 @@ void Worker::ProcessGpuZoneBeginImpl( GpuEvent* zone, const QueueGpuZoneBegin& e uint64_t ztid; if( ctx->thread == 0 ) { - // Vulkan context is not bound to any single thread. + // Vulkan and Direct3D 12 contexts are not bound to any single thread. zone->SetThread( CompressThread( ev.thread ) ); ztid = ev.thread; }