From 360990a27314e2f5a5e9acfef177287ab755727e Mon Sep 17 00:00:00 2001 From: johnnynunez Date: Thu, 8 May 2025 11:09:53 +0200 Subject: [PATCH 01/12] [update] Upgrade Vulkan SDK to version 1.4.309.0 and add support for ARM64 on Linux --- .github/workflows/scripts/ti_build/vulkan.py | 22 +++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/.github/workflows/scripts/ti_build/vulkan.py b/.github/workflows/scripts/ti_build/vulkan.py index 5678180862c46..50e18da8ac60a 100644 --- a/.github/workflows/scripts/ti_build/vulkan.py +++ b/.github/workflows/scripts/ti_build/vulkan.py @@ -12,23 +12,35 @@ # -- code -- -@banner("Setup Vulkan 1.3.236.0") +@banner("Setup Vulkan 1.4.309.0") def setup_vulkan(): u = platform.uname() if u.system == "Linux": - url = "https://sdk.lunarg.com/sdk/download/1.3.236.0/linux/vulkansdk-linux-x86_64-1.3.236.0.tar.gz" - prefix = get_cache_home() / "vulkan-1.3.236.0" + url = "https://sdk.lunarg.com/sdk/download/1.4.309.0/linux/vulkansdk-linux-x86_64-1.4.309.0.tar.xz" + prefix = get_cache_home() / "vulkan-1.4.309.0" download_dep(url, prefix, strip=1) sdk = prefix / "x86_64" os.environ["VULKAN_SDK"] = str(sdk) path_prepend("PATH", sdk / "bin") path_prepend("LD_LIBRARY_PATH", sdk / "lib") os.environ["VK_LAYER_PATH"] = str(sdk / "etc" / "vulkan" / "explicit_layer.d") + elif (u.system, u.machine) in (("Linux", "arm64"), ("Linux", "aarch64")): + url = ( + "https://github.com/johnnynunez/vulkan-sdk-arm/releases/download/1.4.309.0/" + "vulkansdk-linux-arm64-ubuntu-24.04-arm-1.4.309.0.zip" + ) + prefix = get_cache_home() / "vulkan-1.4.309.0" + download_dep(url, prefix, strip=1) + sdk = prefix / "arm64" + os.environ["VULKAN_SDK"] = str(sdk) + path_prepend("PATH", sdk / "bin") + path_prepend("LD_LIBRARY_PATH", sdk / "lib") + os.environ["VK_LAYER_PATH"] = str(sdk / "etc" / "vulkan" / "explicit_layer.d") # elif (u.system, u.machine) == ("Darwin", "arm64"): # elif (u.system, u.machine) == ("Darwin", "x86_64"): elif (u.system, u.machine) == ("Windows", "AMD64"): - url = "https://sdk.lunarg.com/sdk/download/1.3.236.0/windows/VulkanSDK-1.3.236.0-Installer.exe" - prefix = get_cache_home() / "vulkan-1.3.236.0" + url = "https://sdk.lunarg.com/sdk/download/1.4.309.0/windows/VulkanSDK-1.4.309.0-Installer.exe" + prefix = get_cache_home() / "vulkan-1.4.309.0" download_dep( url, prefix, From 7286c0abfb091b61e64bb3c96901e18b1ed81c30 Mon Sep 17 00:00:00 2001 From: johnnynunez Date: Thu, 8 May 2025 11:21:39 +0200 Subject: [PATCH 02/12] =?UTF-8?q?[update]=20Refactor=20ImGui=20Vulkan=20in?= =?UTF-8?q?tegration=20for=20compatibility=20with=20version=20=E2=89=A5=20?= =?UTF-8?q?1.90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- taichi/analysis/verify.cpp | 2 +- taichi/ui/ggui/gui.cpp | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/taichi/analysis/verify.cpp b/taichi/analysis/verify.cpp index 3fc857b93efc0..f11b1ee30b8b4 100644 --- a/taichi/analysis/verify.cpp +++ b/taichi/analysis/verify.cpp @@ -97,7 +97,7 @@ class IRVerifier : public BasicStmtVisitor { } else if (!stmt->has_body() && stmt->body) { TI_ERROR("offloaded {} ({})->body is {} (should be nullptr)", offloaded_task_type_name(stmt->task_type), stmt->name(), - fmt::ptr(stmt->body)); + fmt::ptr(stmt->body.get())); } stmt->all_blocks_accept(this); } diff --git a/taichi/ui/ggui/gui.cpp b/taichi/ui/ggui/gui.cpp index f5bc10833880b..5da1fd269eb81 100644 --- a/taichi/ui/ggui/gui.cpp +++ b/taichi/ui/ggui/gui.cpp @@ -44,7 +44,9 @@ Gui::Gui(AppContext *app_context, SwapChain *swap_chain, TaichiWindow *window) { void Gui::init_render_resources(VkRenderPass render_pass) { ImGui_ImplVulkan_LoadFunctions( - load_vk_function_for_gui); // this is because we're using volk. + VK_API_VERSION_1_0, // or app_context_->config.vk_api_version + load_vk_function_for_gui, // this is because we're using volk. + nullptr); auto &device = static_cast(app_context_->device()); @@ -60,7 +62,9 @@ void Gui::init_render_resources(VkRenderPass render_pass) { init_info.Allocator = VK_NULL_HANDLE; init_info.MinImageCount = swap_chain_->surface().get_image_count(); init_info.ImageCount = swap_chain_->surface().get_image_count(); - ImGui_ImplVulkan_Init(&init_info, render_pass); + // new signature takes only the struct + init_info.RenderPass = render_pass; + ImGui_ImplVulkan_Init(&init_info); render_pass_ = render_pass; // Upload Fonts @@ -73,10 +77,11 @@ void Gui::init_render_resources(VkRenderPass render_pass) { ->vk_command_buffer() ->buffer; - ImGui_ImplVulkan_CreateFontsTexture(command_buffer); + // ≥ 1.90: the helper records its own commands + ImGui_ImplVulkan_CreateFontsTexture(); stream->submit_synced(cmd_list.get()); - ImGui_ImplVulkan_DestroyFontUploadObjects(); + ImGui_ImplVulkan_DestroyFontsTexture(); } prepare_for_next_frame(); From 994ec73c500bac8525f04ff1563bd7ff329fc608 Mon Sep 17 00:00:00 2001 From: johnnynunez Date: Thu, 8 May 2025 11:22:47 +0200 Subject: [PATCH 03/12] [logging] Include ranges header from spdlog for enhanced formatting capabilities --- taichi/common/logging.h | 1 + 1 file changed, 1 insertion(+) diff --git a/taichi/common/logging.h b/taichi/common/logging.h index eddb2b07b515e..6236dbbc7c0a0 100644 --- a/taichi/common/logging.h +++ b/taichi/common/logging.h @@ -10,6 +10,7 @@ // before including "spdlog/fmt/fmt.h" #include "spdlog/common.h" #include "spdlog/fmt/fmt.h" +#include "spdlog/fmt/ranges.h" namespace spdlog { class logger; } From 2cae0708ee5e78bd012cdfb42182ab4eb9d74581 Mon Sep 17 00:00:00 2001 From: Johnny Date: Thu, 8 May 2025 14:33:39 +0200 Subject: [PATCH 04/12] [feature] Add support for extracting .tar.xz archives in dep.py (#8) --- .github/workflows/scripts/ti_build/dep.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/scripts/ti_build/dep.py b/.github/workflows/scripts/ti_build/dep.py index 4e0a5a36abf8e..784698a90d929 100644 --- a/.github/workflows/scripts/ti_build/dep.py +++ b/.github/workflows/scripts/ti_build/dep.py @@ -153,6 +153,9 @@ def download_dep(url, outdir, *, strip=0, force=False, args=None, plain=False, e elif name.endswith(".tar.gz") or name.endswith(".tgz"): outdir.mkdir(parents=True, exist_ok=True) tar("-xzf", local_cached, "-C", outdir, f"--strip-components={strip}") + elif name.endswith(".tar.xz"): + outdir.mkdir(parents=True, exist_ok=True) + tar("-xJf", local_cached, "-C", outdir, f"--strip-components={strip}") elif name.endswith(".sh"): bash(local_cached, *args) elif "." not in name and args is not None: From c3e8aa25754aa171d178b56ef6fbab40e2405be7 Mon Sep 17 00:00:00 2001 From: Johnny Date: Thu, 8 May 2025 14:33:49 +0200 Subject: [PATCH 05/12] [llvm] Enhance LLVM installation logic for specific Linux architectures (#7) --- .github/workflows/scripts/ti_build/llvm.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/scripts/ti_build/llvm.py b/.github/workflows/scripts/ti_build/llvm.py index e487a560b4a03..c627eb3a01bea 100644 --- a/.github/workflows/scripts/ti_build/llvm.py +++ b/.github/workflows/scripts/ti_build/llvm.py @@ -19,7 +19,7 @@ def setup_llvm() -> None: Download and install LLVM. """ u = platform.uname() - if u.system == "Linux": + if (u.system, u.machine) == ("Linux", "x86_64"): if cmake_args.get_effective("TI_WITH_AMDGPU"): out = get_cache_home() / "llvm15-amdgpu-005" url = "https://github.com/GaleSeLee/assets/releases/download/v0.0.5/taichi-llvm-15.0.0-linux.zip" @@ -31,6 +31,11 @@ def setup_llvm() -> None: out = get_cache_home() / "llvm15" url = "https://github.com/taichi-dev/taichi_assets/releases/download/llvm15/taichi-llvm-15-linux.zip" download_dep(url, out, strip=1) + + elif (u.system, u.machine) in (("Linux", "arm64"), ("Linux", "aarch64")): + out = get_cache_home() / "llvm15-manylinux2014" + # FIXME: ARM LLVM! + pass elif (u.system, u.machine) == ("Darwin", "arm64"): out = get_cache_home() / "llvm15-m1-nozstd" url = "https://github.com/taichi-dev/taichi_assets/releases/download/llvm15/taichi-llvm-15-m1-nozstd.zip" From 323026baaa9088def2543972ac6e17149ef940b6 Mon Sep 17 00:00:00 2001 From: Johnny Date: Thu, 8 May 2025 14:34:00 +0200 Subject: [PATCH 06/12] [fix] Update setup function to use Miniforge and correct download URLs (#6) --- .github/workflows/scripts/ti_build/python.py | 23 +++++++++++--------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/.github/workflows/scripts/ti_build/python.py b/.github/workflows/scripts/ti_build/python.py index 205fe1021d20e..3bc181591d186 100644 --- a/.github/workflows/scripts/ti_build/python.py +++ b/.github/workflows/scripts/ti_build/python.py @@ -17,20 +17,23 @@ # -- code -- -def setup_mambaforge(prefix): +def setup_miniforge(prefix): u = platform.uname() - if u.system == "Linux": - url = "https://github.com/conda-forge/miniforge/releases/download/23.1.0-1/Mambaforge-23.1.0-1-Linux-x86_64.sh" + if (u.system, u.machine) == ("Linux", "x86_64"): + url = "https://github.com/conda-forge/miniforge/releases/download/25.3.0-1/Miniforge3-25.3.0-1-Linux-x86_64.sh" + download_dep(url, prefix, args=["-bfp", str(prefix)]) + elif (u.system, u.machine) in (("Linux", "arm64"), ("Linux", "aarch64")): + url = "https://github.com/conda-forge/miniforge/releases/download/25.3.0-1/Miniforge3-25.3.0-1-Linux-aarch64.sh" download_dep(url, prefix, args=["-bfp", str(prefix)]) elif (u.system, u.machine) == ("Darwin", "arm64"): - url = "https://github.com/conda-forge/miniforge/releases/download/23.1.0-1/Mambaforge-23.1.0-1-MacOSX-arm64.sh" + url = "https://github.com/conda-forge/miniforge/releases/download/25.3.0-1/Miniforge3-25.3.0-1-MacOSX-arm64.sh" download_dep(url, prefix, args=["-bfp", str(prefix)]) elif (u.system, u.machine) == ("Darwin", "x86_64"): - url = "https://github.com/conda-forge/miniforge/releases/download/23.1.0-1/Mambaforge-23.1.0-1-MacOSX-x86_64.sh" + url = "https://github.com/conda-forge/miniforge/releases/download/25.3.0-1/Miniforge3-25.3.0-1-MacOSX-x86_64.sh" download_dep(url, prefix, args=["-bfp", str(prefix)]) elif u.system == "Windows": url = ( - "https://github.com/conda-forge/miniforge/releases/download/23.1.0-1/Mambaforge-23.1.0-1-Windows-x86_64.exe" + "https://github.com/conda-forge/miniforge/releases/download/25.3.0-1/Miniforge3-25.3.0-1-Windows-x86_64.exe" ) download_dep( url, @@ -82,8 +85,8 @@ def setup_python(version: str) -> Tuple[Command, Command]: windows = platform.system() == "Windows" - prefix = get_cache_home() / "mambaforge" - setup_mambaforge(prefix) + prefix = get_cache_home() / "miniforge" + setup_miniforge(prefix) if windows: conda_path = prefix / "Scripts" / "conda.exe" @@ -92,9 +95,9 @@ def setup_python(version: str) -> Tuple[Command, Command]: if not conda_path.exists(): shutil.rmtree(prefix, ignore_errors=True) - setup_mambaforge(prefix) + setup_miniforge(prefix) if not conda_path.exists(): - raise RuntimeError(f"Failed to setup mambaforge at {prefix}") + raise RuntimeError(f"Failed to setup miniforge at {prefix}") conda = sh.bake(str(conda_path)) From fb220b710417b7deb1501abed38ade63a50c2d2e Mon Sep 17 00:00:00 2001 From: Johnny Date: Thu, 8 May 2025 14:34:09 +0200 Subject: [PATCH 07/12] [build] Replace libtinfo-dev with libncurses-dev in package dependencies (#5) --- .github/workflows/scripts/ti_build/ospkg.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scripts/ti_build/ospkg.py b/.github/workflows/scripts/ti_build/ospkg.py index 83bb88e656e80..974c016000ca6 100644 --- a/.github/workflows/scripts/ti_build/ospkg.py +++ b/.github/workflows/scripts/ti_build/ospkg.py @@ -24,7 +24,7 @@ "liblz4-dev", "libpng-dev", "libssl-dev", - "libtinfo-dev", + "libncurses-dev", "libwayland-dev", "libx11-xcb-dev", "libxcb-dri3-dev", From bc504cb06e6c8c107a8828f7511119b402577c7c Mon Sep 17 00:00:00 2001 From: Johnny Date: Thu, 8 May 2025 14:34:17 +0200 Subject: [PATCH 08/12] [fix] Update sccache download URLs to version 0.10.0 for various platforms (#4) --- .github/workflows/scripts/ti_build/sccache.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/scripts/ti_build/sccache.py b/.github/workflows/scripts/ti_build/sccache.py index a49e57c5834fe..5b895aea10a5c 100644 --- a/.github/workflows/scripts/ti_build/sccache.py +++ b/.github/workflows/scripts/ti_build/sccache.py @@ -31,18 +31,16 @@ def setup_sccache() -> Command: raise RuntimeError(f"Unsupported platform: {u.system} {u.machine}") if not exe.exists(): - if u.system == "Linux": - url = "https://github.com/mozilla/sccache/releases/download/v0.4.1/sccache-v0.4.1-x86_64-unknown-linux-musl.tar.gz" + if (u.system, u.machine) == ("Linux", "x86_64"): + url = "https://github.com/mozilla/sccache/releases/download/v0.10.0/sccache-v0.10.0-x86_64-unknown-linux-musl.tar.gz" + elif (u.system, u.machine) in (("Linux", "arm64"), ("Linux", "aarch64")): + url = "https://github.com/mozilla/sccache/releases/download/v0.10.0/sccache-v0.10.0-aarch64-unknown-linux-musl.tar.gz" elif (u.system, u.machine) == ("Darwin", "arm64"): - url = ( - "https://github.com/mozilla/sccache/releases/download/v0.4.1/sccache-v0.4.1-aarch64-apple-darwin.tar.gz" - ) + url = "https://github.com/mozilla/sccache/releases/download/v0.10.0/sccache-v0.10.0-aarch64-apple-darwin.tar.gz" elif (u.system, u.machine) == ("Darwin", "x86_64"): - url = ( - "https://github.com/mozilla/sccache/releases/download/v0.4.1/sccache-v0.4.1-x86_64-apple-darwin.tar.gz" - ) + url = "https://github.com/mozilla/sccache/releases/download/v0.10.0/sccache-v0.10.0-x86_64-apple-darwin.tar.gz" elif u.system == "Windows": - url = "https://github.com/mozilla/sccache/releases/download/v0.4.1/sccache-v0.4.1-x86_64-pc-windows-msvc.tar.gz" + url = "https://github.com/mozilla/sccache/releases/download/v0.10.0/sccache-v0.10.0-x86_64-pc-windows-msvc.tar.gz" else: raise RuntimeError(f"Unsupported platform: {u.system} {u.machine}") From fde8884a3fac954c6f151273076cf143db01251f Mon Sep 17 00:00:00 2001 From: Johnny Date: Thu, 8 May 2025 14:34:30 +0200 Subject: [PATCH 09/12] [fix] Update platform detection for manylinux support on ARM architectures (#3) --- python/taichi/_version_check.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python/taichi/_version_check.py b/python/taichi/_version_check.py index 4f6285e41a4e8..29191ef3040b0 100644 --- a/python/taichi/_version_check.py +++ b/python/taichi/_version_check.py @@ -18,8 +18,11 @@ def check_version(cur_uuid): payload = {"version": version, "platform": "", "python": ""} system = platform.system() - if system == "Linux": + u = platform.uname() + if (u.system, u.machine) == ("Linux", "x86_64"): payload["platform"] = "manylinux_2_27_x86_64" + elif (u.system, u.machine) in (("Linux", "arm64"), ("Linux", "aarch64")): + payload["platform"] = "manylinux_2_27_aarch64" elif system == "Windows": payload["platform"] = "win_amd64" elif system == "Darwin": From 998d76cf3a99f886a35d6485245b7810380d2c32 Mon Sep 17 00:00:00 2001 From: Johnny Date: Thu, 8 May 2025 14:34:39 +0200 Subject: [PATCH 10/12] Vulkan (#2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [update] Upgrade Vulkan SDK to version 1.4.309.0 and add support for ARM64 on Linux * [update] Refactor ImGui Vulkan integration for compatibility with version ≥ 1.90 * [logging] Include ranges header from spdlog for enhanced formatting capabilities --- .github/workflows/scripts/ti_build/vulkan.py | 22 +++++++++++++++----- taichi/analysis/verify.cpp | 2 +- taichi/common/logging.h | 1 + taichi/ui/ggui/gui.cpp | 13 ++++++++---- 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/.github/workflows/scripts/ti_build/vulkan.py b/.github/workflows/scripts/ti_build/vulkan.py index 5678180862c46..50e18da8ac60a 100644 --- a/.github/workflows/scripts/ti_build/vulkan.py +++ b/.github/workflows/scripts/ti_build/vulkan.py @@ -12,23 +12,35 @@ # -- code -- -@banner("Setup Vulkan 1.3.236.0") +@banner("Setup Vulkan 1.4.309.0") def setup_vulkan(): u = platform.uname() if u.system == "Linux": - url = "https://sdk.lunarg.com/sdk/download/1.3.236.0/linux/vulkansdk-linux-x86_64-1.3.236.0.tar.gz" - prefix = get_cache_home() / "vulkan-1.3.236.0" + url = "https://sdk.lunarg.com/sdk/download/1.4.309.0/linux/vulkansdk-linux-x86_64-1.4.309.0.tar.xz" + prefix = get_cache_home() / "vulkan-1.4.309.0" download_dep(url, prefix, strip=1) sdk = prefix / "x86_64" os.environ["VULKAN_SDK"] = str(sdk) path_prepend("PATH", sdk / "bin") path_prepend("LD_LIBRARY_PATH", sdk / "lib") os.environ["VK_LAYER_PATH"] = str(sdk / "etc" / "vulkan" / "explicit_layer.d") + elif (u.system, u.machine) in (("Linux", "arm64"), ("Linux", "aarch64")): + url = ( + "https://github.com/johnnynunez/vulkan-sdk-arm/releases/download/1.4.309.0/" + "vulkansdk-linux-arm64-ubuntu-24.04-arm-1.4.309.0.zip" + ) + prefix = get_cache_home() / "vulkan-1.4.309.0" + download_dep(url, prefix, strip=1) + sdk = prefix / "arm64" + os.environ["VULKAN_SDK"] = str(sdk) + path_prepend("PATH", sdk / "bin") + path_prepend("LD_LIBRARY_PATH", sdk / "lib") + os.environ["VK_LAYER_PATH"] = str(sdk / "etc" / "vulkan" / "explicit_layer.d") # elif (u.system, u.machine) == ("Darwin", "arm64"): # elif (u.system, u.machine) == ("Darwin", "x86_64"): elif (u.system, u.machine) == ("Windows", "AMD64"): - url = "https://sdk.lunarg.com/sdk/download/1.3.236.0/windows/VulkanSDK-1.3.236.0-Installer.exe" - prefix = get_cache_home() / "vulkan-1.3.236.0" + url = "https://sdk.lunarg.com/sdk/download/1.4.309.0/windows/VulkanSDK-1.4.309.0-Installer.exe" + prefix = get_cache_home() / "vulkan-1.4.309.0" download_dep( url, prefix, diff --git a/taichi/analysis/verify.cpp b/taichi/analysis/verify.cpp index 3fc857b93efc0..f11b1ee30b8b4 100644 --- a/taichi/analysis/verify.cpp +++ b/taichi/analysis/verify.cpp @@ -97,7 +97,7 @@ class IRVerifier : public BasicStmtVisitor { } else if (!stmt->has_body() && stmt->body) { TI_ERROR("offloaded {} ({})->body is {} (should be nullptr)", offloaded_task_type_name(stmt->task_type), stmt->name(), - fmt::ptr(stmt->body)); + fmt::ptr(stmt->body.get())); } stmt->all_blocks_accept(this); } diff --git a/taichi/common/logging.h b/taichi/common/logging.h index eddb2b07b515e..6236dbbc7c0a0 100644 --- a/taichi/common/logging.h +++ b/taichi/common/logging.h @@ -10,6 +10,7 @@ // before including "spdlog/fmt/fmt.h" #include "spdlog/common.h" #include "spdlog/fmt/fmt.h" +#include "spdlog/fmt/ranges.h" namespace spdlog { class logger; } diff --git a/taichi/ui/ggui/gui.cpp b/taichi/ui/ggui/gui.cpp index f5bc10833880b..5da1fd269eb81 100644 --- a/taichi/ui/ggui/gui.cpp +++ b/taichi/ui/ggui/gui.cpp @@ -44,7 +44,9 @@ Gui::Gui(AppContext *app_context, SwapChain *swap_chain, TaichiWindow *window) { void Gui::init_render_resources(VkRenderPass render_pass) { ImGui_ImplVulkan_LoadFunctions( - load_vk_function_for_gui); // this is because we're using volk. + VK_API_VERSION_1_0, // or app_context_->config.vk_api_version + load_vk_function_for_gui, // this is because we're using volk. + nullptr); auto &device = static_cast(app_context_->device()); @@ -60,7 +62,9 @@ void Gui::init_render_resources(VkRenderPass render_pass) { init_info.Allocator = VK_NULL_HANDLE; init_info.MinImageCount = swap_chain_->surface().get_image_count(); init_info.ImageCount = swap_chain_->surface().get_image_count(); - ImGui_ImplVulkan_Init(&init_info, render_pass); + // new signature takes only the struct + init_info.RenderPass = render_pass; + ImGui_ImplVulkan_Init(&init_info); render_pass_ = render_pass; // Upload Fonts @@ -73,10 +77,11 @@ void Gui::init_render_resources(VkRenderPass render_pass) { ->vk_command_buffer() ->buffer; - ImGui_ImplVulkan_CreateFontsTexture(command_buffer); + // ≥ 1.90: the helper records its own commands + ImGui_ImplVulkan_CreateFontsTexture(); stream->submit_synced(cmd_list.get()); - ImGui_ImplVulkan_DestroyFontUploadObjects(); + ImGui_ImplVulkan_DestroyFontsTexture(); } prepare_for_next_frame(); From 2efbff4986b28f582fd4ed606584c2a413c9f2e0 Mon Sep 17 00:00:00 2001 From: Johnny Date: Thu, 8 May 2025 14:34:50 +0200 Subject: [PATCH 11/12] [update] Update hash values for various dependencies (#1) --- external/DirectX-Headers | 2 +- external/FP16 | 2 +- external/PicoSHA2 | 2 +- external/SPIRV-Cross | 2 +- external/SPIRV-Headers | 2 +- external/SPIRV-Reflect | 2 +- external/SPIRV-Tools | 2 +- external/Vulkan-Headers | 2 +- external/VulkanMemoryAllocator | 2 +- external/backward_cpp | 2 +- external/eigen | 2 +- external/glfw | 2 +- external/glm | 2 +- external/googletest | 2 +- external/imgui | 2 +- external/spdlog | 2 +- external/volk | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/external/DirectX-Headers b/external/DirectX-Headers index fb9a40f1b8165..75f1a1fe154ab 160000 --- a/external/DirectX-Headers +++ b/external/DirectX-Headers @@ -1 +1 @@ -Subproject commit fb9a40f1b8165c848cf49fdb396722af7181ff97 +Subproject commit 75f1a1fe154abee0c28d9d4d58e3f7e3d56b331b diff --git a/external/FP16 b/external/FP16 index 0a92994d729ff..98b0a46bce017 160000 --- a/external/FP16 +++ b/external/FP16 @@ -1 +1 @@ -Subproject commit 0a92994d729ff76a58f692d3028ca1b64b145d91 +Subproject commit 98b0a46bce017382a6351a19577ec43a715b6835 diff --git a/external/PicoSHA2 b/external/PicoSHA2 index 1677374f23352..161cb3fc4170f 160000 --- a/external/PicoSHA2 +++ b/external/PicoSHA2 @@ -1 +1 @@ -Subproject commit 1677374f23352716fc52183255a40c1b8e1d53eb +Subproject commit 161cb3fc4170fa7a3eca9e582cebd27cc4d1fe29 diff --git a/external/SPIRV-Cross b/external/SPIRV-Cross index c77b09b57c278..22b22f5685d86 160000 --- a/external/SPIRV-Cross +++ b/external/SPIRV-Cross @@ -1 +1 @@ -Subproject commit c77b09b57c27837dc2d41aa371ed3d236ce9ce47 +Subproject commit 22b22f5685d868828be01c9ac00c31902e60afd9 diff --git a/external/SPIRV-Headers b/external/SPIRV-Headers index 34d04647d384e..6d0784e9f1ab9 160000 --- a/external/SPIRV-Headers +++ b/external/SPIRV-Headers @@ -1 +1 @@ -Subproject commit 34d04647d384e0aed037e7a2662a655fc39841bb +Subproject commit 6d0784e9f1ab92c17eeea94821b2465c14a52be9 diff --git a/external/SPIRV-Reflect b/external/SPIRV-Reflect index 7c9c841fa9f40..b21e9ad9ee35d 160000 --- a/external/SPIRV-Reflect +++ b/external/SPIRV-Reflect @@ -1 +1 @@ -Subproject commit 7c9c841fa9f40c09d334d5db6629ba318e46efaf +Subproject commit b21e9ad9ee35d29028bd479422d77696187c9004 diff --git a/external/SPIRV-Tools b/external/SPIRV-Tools index 46ca66e6991f1..e8864edbebe9f 160000 --- a/external/SPIRV-Tools +++ b/external/SPIRV-Tools @@ -1 +1 @@ -Subproject commit 46ca66e6991f16c89e17ebc9b86995143be2c706 +Subproject commit e8864edbebe9fb9872c6c95b2363b490c6105a15 diff --git a/external/Vulkan-Headers b/external/Vulkan-Headers index 409c16be502e3..9c77de5c3dd21 160000 --- a/external/Vulkan-Headers +++ b/external/Vulkan-Headers @@ -1 +1 @@ -Subproject commit 409c16be502e39fe70dd6fe2d9ad4842ef2c9a53 +Subproject commit 9c77de5c3dd216f28e407eec65ed9c0a296c1f74 diff --git a/external/VulkanMemoryAllocator b/external/VulkanMemoryAllocator index 539c0a8d8e373..66db1cdb9f050 160000 --- a/external/VulkanMemoryAllocator +++ b/external/VulkanMemoryAllocator @@ -1 +1 @@ -Subproject commit 539c0a8d8e3733c9f25ea9a184c85c77504f1653 +Subproject commit 66db1cdb9f050faabdb8c61123504cc32afbbb80 diff --git a/external/backward_cpp b/external/backward_cpp index 51f0700452cf7..0bfd0a07a6155 160000 --- a/external/backward_cpp +++ b/external/backward_cpp @@ -1 +1 @@ -Subproject commit 51f0700452cf71c57d43c2d028277b24cde32502 +Subproject commit 0bfd0a07a61551413ccd2ab9a9099af3bad40681 diff --git a/external/eigen b/external/eigen index 0fd6b4f71dd85..5e8edd21863b8 160000 --- a/external/eigen +++ b/external/eigen @@ -1 +1 @@ -Subproject commit 0fd6b4f71dd85b2009ee4d1aeb296e2c11fc9d68 +Subproject commit 5e8edd21863b8321fc6b9c82322e6cc8cfc47c14 diff --git a/external/glfw b/external/glfw index cf9263d56662e..a79677378b526 160000 --- a/external/glfw +++ b/external/glfw @@ -1 +1 @@ -Subproject commit cf9263d56662ee7fcc18add84d91243167cc0328 +Subproject commit a79677378b52688ae1adaccfa25b404c3d1dcaec diff --git a/external/glm b/external/glm index 06ed280db4e27..2d4c4b4dd31fd 160000 --- a/external/glm +++ b/external/glm @@ -1 +1 @@ -Subproject commit 06ed280db4e274fa5e1f36d5ea4f7dfd654ff9b0 +Subproject commit 2d4c4b4dd31fde06cfffad7915c2b3006402322f diff --git a/external/googletest b/external/googletest index e8b478a7356f2..90a41521142c9 160000 --- a/external/googletest +++ b/external/googletest @@ -1 +1 @@ -Subproject commit e8b478a7356f21efbada1aae15b49b332cc54e3f +Subproject commit 90a41521142c978131f38c6da07b4eb96a9f1ff6 diff --git a/external/imgui b/external/imgui index c7529c8ea8ef3..ba513ba804c87 160000 --- a/external/imgui +++ b/external/imgui @@ -1 +1 @@ -Subproject commit c7529c8ea8ef36e344d00cb38e1493b465ce6090 +Subproject commit ba513ba804c87635f7bcb3a054a463598a0a332d diff --git a/external/spdlog b/external/spdlog index c3aed4b683739..548b264254b7c 160000 --- a/external/spdlog +++ b/external/spdlog @@ -1 +1 @@ -Subproject commit c3aed4b68373955e1cc94307683d44dca1515d2b +Subproject commit 548b264254b7cbbf68f9003315ea958edacb91e5 diff --git a/external/volk b/external/volk index b87f88292b09b..8416efecf9803 160000 --- a/external/volk +++ b/external/volk @@ -1 +1 @@ -Subproject commit b87f88292b09bc899b24028984186581a1d24c4e +Subproject commit 8416efecf98036806de1dc7d668a10ba58ec52d3 From 55fc53bbe8ae978237826685a7132a367b94f0ba Mon Sep 17 00:00:00 2001 From: Johnny Date: Sun, 11 May 2025 09:58:31 +0200 Subject: [PATCH 12/12] Update vulkan.py --- .github/workflows/scripts/ti_build/vulkan.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/.github/workflows/scripts/ti_build/vulkan.py b/.github/workflows/scripts/ti_build/vulkan.py index 50e18da8ac60a..56ea9e7850272 100644 --- a/.github/workflows/scripts/ti_build/vulkan.py +++ b/.github/workflows/scripts/ti_build/vulkan.py @@ -12,12 +12,12 @@ # -- code -- -@banner("Setup Vulkan 1.4.309.0") +@banner("Setup Vulkan 1.4.313.0") def setup_vulkan(): u = platform.uname() if u.system == "Linux": - url = "https://sdk.lunarg.com/sdk/download/1.4.309.0/linux/vulkansdk-linux-x86_64-1.4.309.0.tar.xz" - prefix = get_cache_home() / "vulkan-1.4.309.0" + url = "https://sdk.lunarg.com/sdk/download/1.4.313.0/linux/vulkansdk-linux-x86_64-1.4.313.0.tar.xz" + prefix = get_cache_home() / "vulkan-1.4.313.0" download_dep(url, prefix, strip=1) sdk = prefix / "x86_64" os.environ["VULKAN_SDK"] = str(sdk) @@ -25,11 +25,8 @@ def setup_vulkan(): path_prepend("LD_LIBRARY_PATH", sdk / "lib") os.environ["VK_LAYER_PATH"] = str(sdk / "etc" / "vulkan" / "explicit_layer.d") elif (u.system, u.machine) in (("Linux", "arm64"), ("Linux", "aarch64")): - url = ( - "https://github.com/johnnynunez/vulkan-sdk-arm/releases/download/1.4.309.0/" - "vulkansdk-linux-arm64-ubuntu-24.04-arm-1.4.309.0.zip" - ) - prefix = get_cache_home() / "vulkan-1.4.309.0" + url = "https://github.com/johnnynunez/vulkan-sdk-arm/releases/download/1.4.313.0/vulkansdk-linux-arm64-ubuntu-24.04-arm-1.4.313.0.zip" + prefix = get_cache_home() / "vulkan-1.4.313.0" download_dep(url, prefix, strip=1) sdk = prefix / "arm64" os.environ["VULKAN_SDK"] = str(sdk) @@ -39,8 +36,8 @@ def setup_vulkan(): # elif (u.system, u.machine) == ("Darwin", "arm64"): # elif (u.system, u.machine) == ("Darwin", "x86_64"): elif (u.system, u.machine) == ("Windows", "AMD64"): - url = "https://sdk.lunarg.com/sdk/download/1.4.309.0/windows/VulkanSDK-1.4.309.0-Installer.exe" - prefix = get_cache_home() / "vulkan-1.4.309.0" + url = "https://sdk.lunarg.com/sdk/download/1.4.313.0/windows/VulkanSDK-1.4.313.0-Installer.exe" + prefix = get_cache_home() / "vulkan-1.4.313.0" download_dep( url, prefix,