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() {