diff --git a/Source/Engine/Graphics/Graphics.Build.cs b/Source/Engine/Graphics/Graphics.Build.cs
index e1c77d844..1c59349ec 100644
--- a/Source/Engine/Graphics/Graphics.Build.cs
+++ b/Source/Engine/Graphics/Graphics.Build.cs
@@ -21,7 +21,7 @@ public abstract class GraphicsDeviceBaseModule : EngineModule
options.PublicDefinitions.Add("GPU_ENABLE_DIAGNOSTICS");
}
- if (Profiler.Use(options) && tracy.GPU && true)
+ if (Profiler.Use(options) && tracy.Use(options) && tracy.GPU && true)
{
// Enables GPU profiling with Tracy
options.PrivateDefinitions.Add("GPU_ENABLE_TRACY");
diff --git a/Source/Engine/GraphicsDevice/Vulkan/QueueVulkan.cpp b/Source/Engine/GraphicsDevice/Vulkan/QueueVulkan.cpp
index 1f18a0ee1..f2d2521d0 100644
--- a/Source/Engine/GraphicsDevice/Vulkan/QueueVulkan.cpp
+++ b/Source/Engine/GraphicsDevice/Vulkan/QueueVulkan.cpp
@@ -6,6 +6,7 @@
#include "GPUDeviceVulkan.h"
#include "CmdBufferVulkan.h"
#include "RenderToolsVulkan.h"
+#include "Engine/Profiler/ProfilerCPU.h"
QueueVulkan::QueueVulkan(GPUDeviceVulkan* device, uint32 familyIndex)
: _queue(VK_NULL_HANDLE)
@@ -20,6 +21,7 @@ QueueVulkan::QueueVulkan(GPUDeviceVulkan* device, uint32 familyIndex)
void QueueVulkan::Submit(CmdBufferVulkan* cmdBuffer, uint32 signalSemaphoresCount, const VkSemaphore* signalSemaphores)
{
+ PROFILE_CPU_NAMED("vkQueueSubmit");
ASSERT(cmdBuffer->HasEnded());
auto fence = cmdBuffer->GetFence();
ASSERT(!fence->IsSignaled);
diff --git a/Source/Engine/Profiler/Profiler.Build.cs b/Source/Engine/Profiler/Profiler.Build.cs
index f47cbcf87..013336181 100644
--- a/Source/Engine/Profiler/Profiler.Build.cs
+++ b/Source/Engine/Profiler/Profiler.Build.cs
@@ -29,15 +29,7 @@ public class Profiler : EngineModule
options.PublicDefinitions.Add("COMPILE_WITH_PROFILER");
// Tracy profiling tools
- switch (options.Platform.Target)
- {
- case TargetPlatform.Android:
- case TargetPlatform.Linux:
- case TargetPlatform.Windows:
- case TargetPlatform.Switch:
- case TargetPlatform.Mac:
+ if (tracy.Use(options))
options.PublicDependencies.Add("tracy");
- break;
- }
}
}
diff --git a/Source/ThirdParty/tracy/tracy.Build.cs b/Source/ThirdParty/tracy/tracy.Build.cs
index bfa33ad26..de0bd8665 100644
--- a/Source/ThirdParty/tracy/tracy.Build.cs
+++ b/Source/ThirdParty/tracy/tracy.Build.cs
@@ -20,6 +20,26 @@ public class tracy : ThirdPartyModule
///
public static bool GPU = true;
+ ///
+ /// Determinates whenever performance Tracy supports a given platform.
+ ///
+ /// The options.
+ /// True if use profiler, otherwise false.
+ public static bool Use(BuildOptions options)
+ {
+ switch (options.Platform.Target)
+ {
+ case TargetPlatform.Android:
+ case TargetPlatform.Linux:
+ case TargetPlatform.Windows:
+ case TargetPlatform.Switch:
+ case TargetPlatform.Mac:
+ return true;
+ default:
+ return false;
+ }
+ }
+
///
public override void Init()
{