From 8231bae16bcc4a2e519d803544832d7ee9cf421e Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Mon, 1 Jun 2026 15:19:41 +0200 Subject: [PATCH 1/4] Fix new Vulkan SDK install --- .github/actions/vulkan/action.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/actions/vulkan/action.yml b/.github/actions/vulkan/action.yml index e53fab14e..f16795e5c 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 + curl -LO "https://sdk.lunarg.com/sdk/download/$VULKAN_SDK_VER/mac/vulkansdk-macos-$VULKAN_SDK_VER.zip" + hdiutil attach "vulkansdk-macos-$VULKAN_SDK_VER.zip" -mountpoint /Volumes/vulkan-sdk sudo "/Volumes/vulkan-sdk/InstallVulkan.app/Contents/MacOS/InstallVulkan" --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" ;; From d3be79fdc45d5edc47b0e776375172fcb386107c Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Mon, 1 Jun 2026 15:50:25 +0200 Subject: [PATCH 2/4] Fix missing SDK print for ones from modules or plugins --- Source/Tools/Flax.Build/Build/Builder.cs | 1 + Source/Tools/Flax.Build/Build/Sdk.cs | 33 ++++++++++++++++++++---- Source/Tools/Flax.Build/Program.cs | 1 + 3 files changed, 30 insertions(+), 5 deletions(-) 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); From 4b6c22c43f6ca21e17097b74003cbc0ecca6a9bb Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Mon, 1 Jun 2026 15:52:18 +0200 Subject: [PATCH 3/4] Fix game build regression from f55ac81fe4f9ed74daa5c5618400225bd898ab02 --- Source/Engine/GraphicsDevice/Vulkan/GPUDeviceVulkan.Layers.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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"; From db963f9191fbc03bf43a0cc8f6515da99ec34a15 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Mon, 1 Jun 2026 16:10:00 +0200 Subject: [PATCH 4/4] Another attempt to fix new Vulkan SDK install on macOS --- .github/actions/vulkan/action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/vulkan/action.yml b/.github/actions/vulkan/action.yml index f16795e5c..e86d7b6d7 100644 --- a/.github/actions/vulkan/action.yml +++ b/.github/actions/vulkan/action.yml @@ -25,8 +25,8 @@ runs: Darwin) export VULKAN_SDK_ROOT=`pwd`/../VulkanSDK curl -LO "https://sdk.lunarg.com/sdk/download/$VULKAN_SDK_VER/mac/vulkansdk-macos-$VULKAN_SDK_VER.zip" - hdiutil attach "vulkansdk-macos-$VULKAN_SDK_VER.zip" -mountpoint /Volumes/vulkan-sdk - sudo "/Volumes/vulkan-sdk/InstallVulkan.app/Contents/MacOS/InstallVulkan" --root $VULKAN_SDK_ROOT --accept-licenses --default-answer --confirm-command install + 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