diff --git a/.github/actions/vulkan/action.yml b/.github/actions/vulkan/action.yml index e53fab14e..e86d7b6d7 100644 --- a/.github/actions/vulkan/action.yml +++ b/.github/actions/vulkan/action.yml @@ -24,13 +24,13 @@ runs: ;; Darwin) export VULKAN_SDK_ROOT=`pwd`/../VulkanSDK - curl -LO "https://sdk.lunarg.com/sdk/download/$VULKAN_SDK_VER/mac/vulkan-sdk.dmg" - hdiutil attach vulkan-sdk.dmg -mountpoint /Volumes/vulkan-sdk - sudo "/Volumes/vulkan-sdk/InstallVulkan.app/Contents/MacOS/InstallVulkan" --root $VULKAN_SDK_ROOT --accept-licenses --default-answer --confirm-command install + curl -LO "https://sdk.lunarg.com/sdk/download/$VULKAN_SDK_VER/mac/vulkansdk-macos-$VULKAN_SDK_VER.zip" + unzip vulkansdk-macos-$VULKAN_SDK_VER.zip + sudo open -n vulkansdk-macos-$VULKAN_SDK_VER.app --args --root $VULKAN_SDK_ROOT --accept-licenses --default-answer --confirm-command install export VULKAN_SDK=$VULKAN_SDK_ROOT/macOS ;; *) # Windows - curl -L -o vulkan-sdk.exe https://sdk.lunarg.com/sdk/download/$VULKAN_SDK_VER/windows/VulkanSDK-$VULKAN_SDK_VER-Installer.exe + curl -L -o vulkan-sdk.exe https://sdk.lunarg.com/sdk/download/$VULKAN_SDK_VER/windows/vulkansdk-windows-X64-$VULKAN_SDK_VER.exe ./vulkan-sdk.exe --root "C:\VulkanSDK" --accept-licenses --default-answer --confirm-command install export VULKAN_SDK="C:\VulkanSDK" ;; diff --git a/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.Layers.cpp b/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.Layers.cpp index fdc65d5c9..02e9f3782 100644 --- a/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.Layers.cpp +++ b/Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.Layers.cpp @@ -280,12 +280,12 @@ void GPUDeviceVulkan::GetInstanceLayersAndExtensions(Array& outInst } } + bool vkTrace = false; #if VULKAN_USE_DEBUG_LAYER if (!useDebugLayer) ValidationLevel = VulkanValidationLevel::Disabled; const bool useVkTrace = false; - bool vkTrace = false; if (useVkTrace && useDebugLayer) { const char* VkTraceName = "VK_LAYER_LUNARG_vktrace"; diff --git a/Source/Tools/Flax.Build/Build/Builder.cs b/Source/Tools/Flax.Build/Build/Builder.cs index 775bef1dc..6f3abf755 100644 --- a/Source/Tools/Flax.Build/Build/Builder.cs +++ b/Source/Tools/Flax.Build/Build/Builder.cs @@ -384,6 +384,7 @@ namespace Flax.Build } // Prepare tasks for the execution + Sdk.DelayedPrint(); using (new ProfileEventScope("PrepareTasks")) { using (new ProfileEventScope("Setup")) diff --git a/Source/Tools/Flax.Build/Build/Sdk.cs b/Source/Tools/Flax.Build/Build/Sdk.cs index b6354fca4..13353ba8c 100644 --- a/Source/Tools/Flax.Build/Build/Sdk.cs +++ b/Source/Tools/Flax.Build/Build/Sdk.cs @@ -27,6 +27,7 @@ namespace Flax.Build public abstract class Sdk { private static Dictionary _sdks; + private static List _delayedPrints; /// /// Returns true if SDK is valid. @@ -53,14 +54,11 @@ namespace Flax.Build /// public static void Print() { + _delayedPrints = null; Get(string.Empty); foreach (var e in _sdks) { - var sdk = e.Value; - if (sdk.IsValid) - Log.Message(sdk.GetType().Name + ", " + sdk.Version + ", " + sdk.RootPath); - else - Log.Message(sdk.GetType().Name + ", missing"); + Print(e.Value); } foreach (var e in WindowsPlatformBase.GetSDKs()) { @@ -70,6 +68,31 @@ namespace Flax.Build { Log.Message("Windows Toolset " + e.Key + ", " + e.Value); } + _delayedPrints = new List(); + } + + private static void Print(Sdk sdk) + { + if (sdk.IsValid) + Log.Message(sdk.GetType().Name + ", " + sdk.Version + ", " + sdk.RootPath); + else + Log.Message(sdk.GetType().Name + ", missing"); + } + + internal static void DelayedPrint() + { + if (_delayedPrints == null || _delayedPrints.Count == 0) + return; + foreach (var sdk in _delayedPrints) + Print(sdk); + _delayedPrints.Clear(); + } + + protected Sdk() + { + // SDKs coming from dynamic build files (eg. plugins or modules) can be printed after they are initialized with a delay + if (_delayedPrints != null) + _delayedPrints.Add(this); } /// diff --git a/Source/Tools/Flax.Build/Program.cs b/Source/Tools/Flax.Build/Program.cs index 5387a3b38..0c5d2b6f9 100644 --- a/Source/Tools/Flax.Build/Program.cs +++ b/Source/Tools/Flax.Build/Program.cs @@ -165,6 +165,7 @@ namespace Flax.Build } // Performance logging + Sdk.DelayedPrint(); if (Configuration.PerformanceInfo) { Log.Info(string.Empty);