From ec9c17cd87576ef254e433f491eb524aaa11d5ad Mon Sep 17 00:00:00 2001 From: Nikolai Siukosev Date: Wed, 16 Oct 2024 06:36:25 +0400 Subject: [PATCH] [vulkan-sdk-*] Update to 1.3.296 --- ...01-Fix-glslangValidator-installation.patch | 57 ------ ports/glslang/portfile.cmake | 4 +- ports/glslang/vcpkg.json | 2 +- ports/lunarg-vulkantools/portfile.cmake | 2 +- ports/lunarg-vulkantools/vcpkg.json | 2 +- ports/spirv-cross/portfile.cmake | 2 +- ports/spirv-cross/vcpkg.json | 2 +- ports/spirv-headers/portfile.cmake | 2 +- ports/spirv-headers/vcpkg.json | 2 +- ports/spirv-reflect/portfile.cmake | 2 +- ports/spirv-reflect/vcpkg.json | 2 +- ports/spirv-tools/portfile.cmake | 2 +- ports/spirv-tools/vcpkg.json | 2 +- ports/volk/portfile.cmake | 4 +- ports/volk/vcpkg.json | 2 +- ports/vulkan-headers/portfile.cmake | 2 +- ports/vulkan-headers/vcpkg.json | 3 +- .../0001-fix-comments-and-lib.patch | 164 ++++++++++++++++++ ports/vulkan-loader/portfile.cmake | 7 +- ports/vulkan-loader/vcpkg.json | 2 +- ports/vulkan-sdk-components/vcpkg.json | 2 +- ports/vulkan-tools/portfile.cmake | 2 +- ports/vulkan-tools/vcpkg.json | 2 +- ports/vulkan-utility-libraries/portfile.cmake | 2 +- ports/vulkan-utility-libraries/vcpkg.json | 2 +- ports/vulkan-validationlayers/portfile.cmake | 2 +- ports/vulkan-validationlayers/vcpkg.json | 2 +- versions/baseline.json | 28 +-- versions/g-/glslang.json | 5 + versions/l-/lunarg-vulkantools.json | 5 + versions/s-/spirv-cross.json | 5 + versions/s-/spirv-headers.json | 5 + versions/s-/spirv-reflect.json | 5 + versions/s-/spirv-tools.json | 5 + versions/v-/volk.json | 5 + versions/v-/vulkan-headers.json | 5 + versions/v-/vulkan-loader.json | 5 + versions/v-/vulkan-sdk-components.json | 5 + versions/v-/vulkan-tools.json | 5 + versions/v-/vulkan-utility-libraries.json | 5 + versions/v-/vulkan-validationlayers.json | 5 + 41 files changed, 274 insertions(+), 100 deletions(-) delete mode 100644 ports/glslang/0001-Fix-glslangValidator-installation.patch create mode 100644 ports/vulkan-loader/0001-fix-comments-and-lib.patch diff --git a/ports/glslang/0001-Fix-glslangValidator-installation.patch b/ports/glslang/0001-Fix-glslangValidator-installation.patch deleted file mode 100644 index df1c000b321ca0..00000000000000 --- a/ports/glslang/0001-Fix-glslangValidator-installation.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 3992259996aee72a65b99a0731584b2d69fcf32e Mon Sep 17 00:00:00 2001 -From: friendlyanon -Date: Tue, 2 Jul 2024 19:55:24 +0200 -Subject: [PATCH] Fix `glslangValidator` installation - -This caused the glslang[tools] vcpkg feature to not install properly, -because the glslangValidator executable didn't exist for tool -installation. ---- - StandAlone/CMakeLists.txt | 25 ++++++++++++++++--------- - 1 file changed, 16 insertions(+), 9 deletions(-) - -diff --git a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt -index e0fdb487..9ecdcd23 100644 ---- a/StandAlone/CMakeLists.txt -+++ b/StandAlone/CMakeLists.txt -@@ -90,21 +90,28 @@ endif() - # Create a symbolic link to glslang named glslangValidator for backwards compatibility - set(legacy_glslang_name "glslangValidator${CMAKE_EXECUTABLE_SUFFIX}") - set(link_method create_symlink) --if (WIN32 OR MINGW) --set(link_method copy_if_different) -+if(WIN32 OR MINGW) -+ set(link_method copy_if_different) - endif() --add_custom_command(TARGET glslang-standalone -- POST_BUILD -- COMMAND ${CMAKE_COMMAND} -E ${link_method} $ ${legacy_glslang_name} -- WORKING_DIRECTORY $) -+ -+add_custom_command( -+ TARGET glslang-standalone POST_BUILD -+ COMMAND "${CMAKE_COMMAND}" -E "${link_method}" "\$" "${legacy_glslang_name}" -+ WORKING_DIRECTORY "\$" -+ VERBATIM -+) - - if(GLSLANG_ENABLE_INSTALL) - install(TARGETS glslang-standalone EXPORT glslang-targets) - - # Create the same symlink at install time -- install(CODE "execute_process( \ -- COMMAND ${CMAKE_COMMAND} -E ${link_method} $ ${legacy_glslang_name} \ -- WORKING_DIRECTORY \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})") -+ install(CODE "\ -+ message(STATUS \"Installing (${link_method}): \$ -> \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}\") -+ execute_process( -+ COMMAND \"\${CMAKE_COMMAND}\" -E ${link_method} [=[\$]=] [=[${legacy_glslang_name}]=] -+ WORKING_DIRECTORY \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}\" -+ ) -+ ") - - if(ENABLE_SPVREMAPPER) - install(TARGETS spirv-remap EXPORT glslang-targets) --- -2.29.1.windows.1 - diff --git a/ports/glslang/portfile.cmake b/ports/glslang/portfile.cmake index cc1e003d648794..ac3eb8e47d1c8f 100644 --- a/ports/glslang/portfile.cmake +++ b/ports/glslang/portfile.cmake @@ -4,10 +4,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/glslang REF "${VERSION}" - SHA512 ce6d09cc4d98b01d162ec5a196eec017c4a5f25eaf98c6612695d911f8d136c2f7193ff8f2c07931b2e94182d2c654833adc3b645f0c225e1d07c4e6e7abfd76 + SHA512 b246c6f280891b7c9b6cd0b5e85e03ccf1fe173cdfc40e566339a5698176cbcfe23eb7aeaba277f071222d76b9f2a00376d790d4d604aedad82e6196fab7fc70 HEAD_REF master - PATCHES - 0001-Fix-glslangValidator-installation.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/glslang/vcpkg.json b/ports/glslang/vcpkg.json index 6ab00bdb3f0650..d171ebaff83ee7 100644 --- a/ports/glslang/vcpkg.json +++ b/ports/glslang/vcpkg.json @@ -1,6 +1,6 @@ { "name": "glslang", - "version": "14.3.0", + "version": "15.0.0", "description": "Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.", "homepage": "https://github.com/KhronosGroup/glslang", "license": "Apache-2.0 AND BSD-3-Clause AND MIT AND GPL-3.0-or-later", diff --git a/ports/lunarg-vulkantools/portfile.cmake b/ports/lunarg-vulkantools/portfile.cmake index 0d1f52507e97a4..26ad69c9fbd6a0 100644 --- a/ports/lunarg-vulkantools/portfile.cmake +++ b/ports/lunarg-vulkantools/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LunarG/VulkanTools REF "vulkan-sdk-${VERSION}" - SHA512 6F5081BDA20BDC79CCA89E515B5DA902884562460312FCAE6FDF4DB8029D00401B445E96BD37DA05EA8FB0CC169DE93E2821550DAC90C49CE2EBD7489593F256 + SHA512 2d1f5d91aa79b206640e65bba2dadfe881524e9a5e1694df5092e6d59d00f06cd981bd026c0c12528f6b243da7564be98211ce6f6538bd1fd51698f91aa24d47 HEAD_REF main ) diff --git a/ports/lunarg-vulkantools/vcpkg.json b/ports/lunarg-vulkantools/vcpkg.json index 15ed08ccd6a717..7b4b654f457646 100644 --- a/ports/lunarg-vulkantools/vcpkg.json +++ b/ports/lunarg-vulkantools/vcpkg.json @@ -1,6 +1,6 @@ { "name": "lunarg-vulkantools", - "version": "1.3.290.0", + "version": "1.3.296.0", "description": "Tools to aid in Vulkan development", "homepage": "https://github.com/LunarG/VulkanTools", "license": null, diff --git a/ports/spirv-cross/portfile.cmake b/ports/spirv-cross/portfile.cmake index 7e1a9f60f54e9e..14c29cd78b8ec3 100644 --- a/ports/spirv-cross/portfile.cmake +++ b/ports/spirv-cross/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Cross REF vulkan-sdk-${VERSION} - SHA512 923ba1564aee36bc6ebd61ee30ec43d61dbc28c23b172fa9a81688f1ca899a950e221a8b07134ccef14c6d5818c0f0fc33a53b8e38f28a956e1119b3974825e7 + SHA512 943453df60744fe32123df7e366b27d30d57947b22bf7c087090e70f398305b37a47826abc60cdf912f0240c4ff3190e9d0f03d1d4e85f73c13b8a6196611640 HEAD_REF master ) diff --git a/ports/spirv-cross/vcpkg.json b/ports/spirv-cross/vcpkg.json index e7a2531290887f..66d4afb8a0a358 100644 --- a/ports/spirv-cross/vcpkg.json +++ b/ports/spirv-cross/vcpkg.json @@ -1,6 +1,6 @@ { "name": "spirv-cross", - "version": "1.3.290.0", + "version": "1.3.296.0", "description": "SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.", "homepage": "https://github.com/KhronosGroup/SPIRV-Cross", "dependencies": [ diff --git a/ports/spirv-headers/portfile.cmake b/ports/spirv-headers/portfile.cmake index 5ac11d20a660e2..1b67110b3ea1c1 100644 --- a/ports/spirv-headers/portfile.cmake +++ b/ports/spirv-headers/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Headers REF "vulkan-sdk-${VERSION}" - SHA512 d3328cd4ddf87d075afacfb7ada01dbd16a3ff39b831e9ebe4ce3c32af0ff0c8822811b0e0d273a54b4acaba29b63b099efcf0150424bd9074d24d04a9974d89 + SHA512 b4f975d3051eda41ef5c3a6efc832607a165adfd6f43d7af171d2c0446b227bdcb5de0017a081fa9e7a3d2710ba8583fadbc06c0a364043b2778b02818d01040 HEAD_REF master ) diff --git a/ports/spirv-headers/vcpkg.json b/ports/spirv-headers/vcpkg.json index 7100d1fbc5c080..e68b2d564df583 100644 --- a/ports/spirv-headers/vcpkg.json +++ b/ports/spirv-headers/vcpkg.json @@ -1,6 +1,6 @@ { "name": "spirv-headers", - "version": "1.3.290.0", + "version": "1.3.296.0", "description": "Machine-readable files for the SPIR-V Registry", "homepage": "https://github.com/KhronosGroup/SPIRV-Headers", "dependencies": [ diff --git a/ports/spirv-reflect/portfile.cmake b/ports/spirv-reflect/portfile.cmake index 383a042c100375..dbeeb2c92cb333 100644 --- a/ports/spirv-reflect/portfile.cmake +++ b/ports/spirv-reflect/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Reflect REF "vulkan-sdk-${VERSION}" - SHA512 5de92dbd04424fb09f6c2a4c890572b2789017b737822d5bc8ab713aeede0796cdcc7ffe74e3ffe25cdd4c626e94bd60757e1cc625ede02b8fe3994b07588b44 + SHA512 770d46172fed140816dcecc3155bce62ce319f5cbe99bb58e81994e07aed14ebc8f65675c6e47dde2148e2706603ba470f364ab41bcbfbc05c69e25be7c5a898 HEAD_REF main PATCHES export-targets.patch diff --git a/ports/spirv-reflect/vcpkg.json b/ports/spirv-reflect/vcpkg.json index d4cdb9a233c09d..79c278e05b4a6f 100644 --- a/ports/spirv-reflect/vcpkg.json +++ b/ports/spirv-reflect/vcpkg.json @@ -1,6 +1,6 @@ { "name": "spirv-reflect", - "version": "1.3.290.0", + "version": "1.3.296.0", "description": "SPIRV-Reflect is a lightweight library that provides a C/C++ reflection API for SPIR-V shader bytecode in Vulkan applications.", "homepage": "https://github.com/KhronosGroup/SPIRV-Reflect", "license": "Apache-2.0", diff --git a/ports/spirv-tools/portfile.cmake b/ports/spirv-tools/portfile.cmake index 250bf23e70f45a..27443376de3261 100644 --- a/ports/spirv-tools/portfile.cmake +++ b/ports/spirv-tools/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Tools REF "vulkan-sdk-${VERSION}" - SHA512 d4e8440c0843fb084dde4a576b95442783ab8204670b199798bd87f754d77f3c258bb69ab1d4dd7859c1d2c681ed8813309c76c6f70b5a7d8d21b6a48ef63b67 + SHA512 62f0a6034bd016aedfb8975bbd3bb134ef928bd6bafbb61d9f73c46760019597b9841b80243c86e5e5e0576824cd20255067e447590eb0d2d51593439152215e PATCHES cmake-config-dir.diff spirv-tools-shared.diff diff --git a/ports/spirv-tools/vcpkg.json b/ports/spirv-tools/vcpkg.json index 340fac928652d7..55a05633385fc7 100644 --- a/ports/spirv-tools/vcpkg.json +++ b/ports/spirv-tools/vcpkg.json @@ -1,6 +1,6 @@ { "name": "spirv-tools", - "version": "1.3.290.0", + "version": "1.3.296.0", "description": "API and commands for processing SPIR-V modules", "homepage": "https://github.com/KhronosGroup/SPIRV-Tools", "license": "Apache-2.0", diff --git a/ports/volk/portfile.cmake b/ports/volk/portfile.cmake index 1d133f4c403d8d..3f8dfd2d13a18b 100644 --- a/ports/volk/portfile.cmake +++ b/ports/volk/portfile.cmake @@ -4,8 +4,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeux/volk - REF "${VERSION}" - SHA512 1e0b05f0a7aa9e185b4b7ef42d53c1a23ccb8511cd3c2821e8976c11130ea196a24612ca18319fc2c0ac99bc2b1d334fc62ea9863f45800007b9bc92978da665 + REF "vulkan-sdk-${VERSION}" + SHA512 bc57ab2d0408fba6d66c91eb477392e217ec5b4185db1191c9ed7750f3773c513674b0bb4f3378a0ee38038d0447aa868ca79842192c6060a6e8b33ca81552f0 HEAD_REF master ) diff --git a/ports/volk/vcpkg.json b/ports/volk/vcpkg.json index cca79fdf542725..80c8952c152933 100644 --- a/ports/volk/vcpkg.json +++ b/ports/volk/vcpkg.json @@ -1,6 +1,6 @@ { "name": "volk", - "version": "1.3.295", + "version": "1.3.296", "description": [ "Meta loader for Vulkan API.", "Note that the static library target volk::volk is built without platform-specific defines.", diff --git a/ports/vulkan-headers/portfile.cmake b/ports/vulkan-headers/portfile.cmake index 2b9bf8c0757921..a2ba84aed4ba59 100644 --- a/ports/vulkan-headers/portfile.cmake +++ b/ports/vulkan-headers/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/Vulkan-Headers REF "vulkan-sdk-${VERSION}" - SHA512 2bba1b9f3b97e22066ad89bce48a999dd253baf47ed3c76575777e7fc03199c67b1f8b301c1e152eaf4ce63351af9901bcea3a34f2d8cdcea81c25648bfb4706 + SHA512 475cd0c3249c7998e5e85390651a6652e229d65e42adf3b4d18f9f7509037d217e87de01632c9b4142d26ab295cd2272c2e88f897a5420d693a82ff7e4003157 HEAD_REF main ) diff --git a/ports/vulkan-headers/vcpkg.json b/ports/vulkan-headers/vcpkg.json index 0bb65d811b2e88..00c0cdb447ce5e 100644 --- a/ports/vulkan-headers/vcpkg.json +++ b/ports/vulkan-headers/vcpkg.json @@ -1,7 +1,6 @@ { "name": "vulkan-headers", - "version": "1.3.290.0", - "port-version": 1, + "version": "1.3.296.0", "description": "Vulkan header files and API registry", "homepage": "https://github.com/KhronosGroup/Vulkan-Headers", "license": "Apache-2.0 OR MIT", diff --git a/ports/vulkan-loader/0001-fix-comments-and-lib.patch b/ports/vulkan-loader/0001-fix-comments-and-lib.patch new file mode 100644 index 00000000000000..5cd1850fb0d648 --- /dev/null +++ b/ports/vulkan-loader/0001-fix-comments-and-lib.patch @@ -0,0 +1,164 @@ +From b6a995d41975d36d232b787305a401e831502b50 Mon Sep 17 00:00:00 2001 +From: Charles Giessen +Date: Wed, 16 Oct 2024 14:16:55 -0500 +Subject: [PATCH 1/2] Use correct comment character in marmasm.asm + +--- + loader/unknown_ext_chain_marmasm.asm | 78 ++++++++++++++-------------- + 1 file changed, 39 insertions(+), 39 deletions(-) + +diff --git a/loader/unknown_ext_chain_marmasm.asm b/loader/unknown_ext_chain_marmasm.asm +index 1bc82451b..f2f352a17 100644 +--- a/loader/unknown_ext_chain_marmasm.asm ++++ b/loader/unknown_ext_chain_marmasm.asm +@@ -49,22 +49,22 @@ $label PhysDevExtTermin $num + ALIGN + EXPORT vkPhysDevExtTermin$num [FUNC] + vkPhysDevExtTermin$num FUNCTION +- ldr x9, [x0, ICD_TERM_OFFSET_PHYS_DEV_TERM] // Load the loader_icd_term* in x9 +- mov x11, (DISPATCH_OFFSET_ICD_TERM + (PTR_SIZE * $num)) // Put the offset into the dispatch table in x11 +- ldr x10, [x9, x11] // Load the address of the next function in the dispatch chain +- cbz x10, terminError$num // Go to the error section if the next function in the chain is NULL +- ldr x0, [x0, PHYS_DEV_OFFSET_PHYS_DEV_TERM] // Unwrap the VkPhysicalDevice in x0 +- br x10 // Jump to the next function in the chain ++ ldr x9, [x0, ICD_TERM_OFFSET_PHYS_DEV_TERM] ; Load the loader_icd_term* in x9 ++ mov x11, (DISPATCH_OFFSET_ICD_TERM + (PTR_SIZE * $num)) ; Put the offset into the dispatch table in x11 ++ ldr x10, [x9, x11] ; Load the address of the next function in the dispatch chain ++ cbz x10, terminError$num ; Go to the error section if the next function in the chain is NULL ++ ldr x0, [x0, PHYS_DEV_OFFSET_PHYS_DEV_TERM] ; Unwrap the VkPhysicalDevice in x0 ++ br x10 ; Jump to the next function in the chain + terminError$num +- mov x10, (FUNCTION_OFFSET_INSTANCE + (CHAR_PTR_SIZE * $num)) // Offset of the function name string in the instance +- ldr x11, [x9, INSTANCE_OFFSET_ICD_TERM] // Load the instance pointer +- mov x0, x11 // Vulkan instance pointer (first arg) +- mov x1, VULKAN_LOADER_ERROR_BIT // The error logging bit (second arg) +- mov x2, #0 // Zero (third arg) +- ldr x3, [x11, x10] // The function name (fourth arg) +- bl loader_log_asm_function_not_supported // Log the error message before we crash ++ mov x10, (FUNCTION_OFFSET_INSTANCE + (CHAR_PTR_SIZE * $num)) ; Offset of the function name string in the instance ++ ldr x11, [x9, INSTANCE_OFFSET_ICD_TERM] ; Load the instance pointer ++ mov x0, x11 ; Vulkan instance pointer (first arg) ++ mov x1, VULKAN_LOADER_ERROR_BIT ; The error logging bit (second arg) ++ mov x2, #0 ; Zero (third arg) ++ ldr x3, [x11, x10] ; The function name (fourth arg) ++ bl loader_log_asm_function_not_supported ; Log the error message before we crash + mov x0, #0 +- br x0 // Crash intentionally by jumping to address zero ++ br x0 ; Crash intentionally by jumping to address zero + ENDFUNC + MEND + +@@ -73,9 +73,9 @@ terminError$num + ALIGN + EXPORT vkdev_ext$num [FUNC] + vkdev_ext$num FUNCTION +- ldr x9, [x0] // Load the loader_instance_dispatch_table* into x9 +- mov x10, (EXT_OFFSET_DEVICE_DISPATCH + (PTR_SIZE * $num)) // Offset of the desired function in the dispatch table +- ldr x11, [x9, x10] // Load the function address ++ ldr x9, [x0] ; Load the loader_instance_dispatch_table* into x9 ++ mov x10, (EXT_OFFSET_DEVICE_DISPATCH + (PTR_SIZE * $num)) ; Offset of the desired function in the dispatch table ++ ldr x11, [x9, x10] ; Load the function address + br x11 + ENDFUNC + MEND +@@ -88,11 +88,11 @@ vkdev_ext$num FUNCTION + ALIGN + EXPORT vkPhysDevExtTramp$num [FUNC] + vkPhysDevExtTramp$num FUNCTION +- ldr r4, [r0] // Load the loader_instance_dispatch_table* into r4 +- ldr r0, [r0, #PHYS_DEV_OFFSET_PHYS_DEV_TRAMP] // Load the unwrapped VkPhysicalDevice into r0 +- mov r5, #(PHYS_DEV_OFFSET_INST_DISPATCH + (PTR_SIZE * $num)) // Put the offset of the entry in the dispatch table for the function +- ldr r6, [r4, r5] // Load the address to branch to out of the dispatch table +- bx r6 // Branch to the next member of the dispatch chain ++ ldr r4, [r0] ; Load the loader_instance_dispatch_table* into r4 ++ ldr r0, [r0, #PHYS_DEV_OFFSET_PHYS_DEV_TRAMP] ; Load the unwrapped VkPhysicalDevice into r0 ++ mov r5, #(PHYS_DEV_OFFSET_INST_DISPATCH + (PTR_SIZE * $num)) ; Put the offset of the entry in the dispatch table for the function ++ ldr r6, [r4, r5] ; Load the address to branch to out of the dispatch table ++ bx r6 ; Branch to the next member of the dispatch chain + ENDFUNC + MEND + +@@ -101,22 +101,22 @@ $label PhysDevExtTermin $num + ALIGN + EXPORT vkPhysDevExtTermin$num [FUNC] + vkPhysDevExtTermin$num FUNCTION +- ldr r4, [r0, #ICD_TERM_OFFSET_PHYS_DEV_TERM] // Load the loader_icd_term* in r4 +- mov r6, #(DISPATCH_OFFSET_ICD_TERM + (PTR_SIZE * $num)) // Put the offset into the dispatch table in r6 +- ldr r5, [r4, r6] // Load the address of the next function in the dispatch chain +- cbz r5, terminError$num // Go to the error section if the next function in the chain is NULL +- ldr r0, [r0, #PHYS_DEV_OFFSET_PHYS_DEV_TERM] // Unwrap the VkPhysicalDevice in r0 +- bx r5 // Jump to the next function in the chain ++ ldr r4, [r0, #ICD_TERM_OFFSET_PHYS_DEV_TERM] ; Load the loader_icd_term* in r4 ++ mov r6, #(DISPATCH_OFFSET_ICD_TERM + (PTR_SIZE * $num)) ; Put the offset into the dispatch table in r6 ++ ldr r5, [r4, r6] ; Load the address of the next function in the dispatch chain ++ cbz r5, terminError$num ; Go to the error section if the next function in the chain is NULL ++ ldr r0, [r0, #PHYS_DEV_OFFSET_PHYS_DEV_TERM] ; Unwrap the VkPhysicalDevice in r0 ++ bx r5 ; Jump to the next function in the chain + terminError$num +- mov r5, #(FUNCTION_OFFSET_INSTANCE + (CHAR_PTR_SIZE * $num)) // Offset of the function name string in the instance +- ldr r6, [r4, #INSTANCE_OFFSET_ICD_TERM] // Load the instance pointer +- mov r0, r6 // Vulkan instance pointer (first arg) +- mov r1, #VULKAN_LOADER_ERROR_BIT // The error logging bit (second arg) +- mov r2, #0 // Zero (third arg) +- ldr r3, [r6, r5] // The function name (fourth arg) +- bl loader_log_asm_function_not_supported // Log the error message before we crash ++ mov r5, #(FUNCTION_OFFSET_INSTANCE + (CHAR_PTR_SIZE * $num)) ; Offset of the function name string in the instance ++ ldr r6, [r4, #INSTANCE_OFFSET_ICD_TERM] ; Load the instance pointer ++ mov r0, r6 ; Vulkan instance pointer (first arg) ++ mov r1, #VULKAN_LOADER_ERROR_BIT ; The error logging bit (second arg) ++ mov r2, #0 ; Zero (third arg) ++ ldr r3, [r6, r5] ; The function name (fourth arg) ++ bl loader_log_asm_function_not_supported ; Log the error message before we crash + mov r0, #0 +- bx r0 // Crash intentionally by jumping to address zero ++ bx r0 ; Crash intentionally by jumping to address zero + ENDFUNC + MEND + +@@ -125,9 +125,9 @@ terminError$num + ALIGN + EXPORT vkdev_ext$num [FUNC] + vkdev_ext$num FUNCTION +- ldr r4, [r0] // Load the loader_instance_dispatch_table* into r4 +- mov r5, #(EXT_OFFSET_DEVICE_DISPATCH + (PTR_SIZE * $num)) // Offset of the desired function in the dispatch table +- ldr r6, [r4, r5] // Load the function address ++ ldr r4, [r0] ; Load the loader_instance_dispatch_table* into r4 ++ mov r5, #(EXT_OFFSET_DEVICE_DISPATCH + (PTR_SIZE * $num)) ; Offset of the desired function in the dispatch table ++ ldr r6, [r4, r5] ; Load the function address + bx r6 + ENDFUNC + MEND + +From 9c0f025abfac98ddf6f6ec4bc8d8663c2ee54cf2 Mon Sep 17 00:00:00 2001 +From: Charles Giessen +Date: Wed, 16 Oct 2024 14:53:21 -0500 +Subject: [PATCH 2/2] Add Ninja + MSVC/clang-cl workaround for MARMASM + +The workaround that enables ninja + MSVC/clang-cl support in the loader +only applied to MASM, which isn't helpful for MARMASM builds. + +This workaround did not get added to the build as ninja support was not +considered required for release of the ARM SDK. However, other parties +have started using the ARM build of the loader and reported the issue, +necessitating this fix. +--- + loader/CMakeLists.txt | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt +index 6296ebff1..a9781f846 100644 +--- a/loader/CMakeLists.txt ++++ b/loader/CMakeLists.txt +@@ -246,7 +246,11 @@ end + + # Work around bug in CMake Ninja + MSVC/clang-cl, see https://discourse.cmake.org/t/building-lib-file-from-asm-cmake-bug/1959 + if (CMAKE_C_COMPILER_ID STREQUAL "MSVC" OR (CMAKE_C_COMPILER_ID STREQUAL "Clang" AND CMAKE_C_COMPILER_FRONTEND_VARIANT MATCHES "MSVC")) +- set(CMAKE_ASM_MASM_CREATE_STATIC_LIBRARY " /OUT: ") ++ if(SYSTEM_PROCESSOR MATCHES "arm") ++ set(CMAKE_ASM_MARMASM_CREATE_STATIC_LIBRARY " /OUT: ") ++ else() ++ set(CMAKE_ASM_MASM_CREATE_STATIC_LIBRARY " /OUT: ") ++ endif() + endif() + else() + message(WARNING "Could not find working ${} assembler\n${ASM_FAILURE_MSG}") diff --git a/ports/vulkan-loader/portfile.cmake b/ports/vulkan-loader/portfile.cmake index 1a5f700f8d40b4..770eb6f930ca96 100644 --- a/ports/vulkan-loader/portfile.cmake +++ b/ports/vulkan-loader/portfile.cmake @@ -4,14 +4,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/Vulkan-Loader REF "vulkan-sdk-${VERSION}" - SHA512 42ecf05e498f6422cea9d6ef70df5a936536524c1ff4d8cb391b5c55dd409082a6b2fc2eee5b395306c782ca32a7344faceef3e5385b382fb5a7e6564cfce4b5 + SHA512 535b7f324348e9edf44ff6a6a6e9eabe6e3a4bfad79bef789d1dc0cbbe3de36b6495a05236323d155631b081b89c18bb8668c79d1f735b59fc85ebee555aa682 HEAD_REF main + PATCHES + 0001-fix-comments-and-lib.patch ) +vcpkg_find_acquire_program(PYTHON3) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTS:BOOL=OFF + -DPython3_EXECUTABLE=${PYTHON3} ) vcpkg_cmake_install() vcpkg_fixup_pkgconfig() diff --git a/ports/vulkan-loader/vcpkg.json b/ports/vulkan-loader/vcpkg.json index 32b5872e3d4dbe..e59e5099bc405c 100644 --- a/ports/vulkan-loader/vcpkg.json +++ b/ports/vulkan-loader/vcpkg.json @@ -1,6 +1,6 @@ { "name": "vulkan-loader", - "version": "1.3.290.0", + "version": "1.3.296.0", "description": "Vulkan Development Tools", "homepage": "https://github.com/KhronosGroup/Vulkan-Loader", "license": null, diff --git a/ports/vulkan-sdk-components/vcpkg.json b/ports/vulkan-sdk-components/vcpkg.json index f40abf56b43ee7..508c55ab6e7cfc 100644 --- a/ports/vulkan-sdk-components/vcpkg.json +++ b/ports/vulkan-sdk-components/vcpkg.json @@ -1,7 +1,7 @@ { "$comment": "Dependencies extracted from e.g. https://sdk.lunarg.com/sdk/download/1.3.290.0/windows/config.json", "name": "vulkan-sdk-components", - "version": "1.3.290.0", + "version": "1.3.296.0", "description": "Installs packages which are part of the Vulkan SDK.", "license": null, "supports": "!uwp & !xbox", diff --git a/ports/vulkan-tools/portfile.cmake b/ports/vulkan-tools/portfile.cmake index 1372ff6c6d8907..5632018c05497e 100644 --- a/ports/vulkan-tools/portfile.cmake +++ b/ports/vulkan-tools/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/Vulkan-Tools REF "vulkan-sdk-${VERSION}" - SHA512 e5f6daa12ba2e8098f939cc06e732efd89f616fd9babf00d2fb8b9a73671143961a4c5b84879a4f9c4a7312bb393874f065222602e3619db5ad7fb9f8b868422 + SHA512 66bc89272f150198cd52f2971ad67a2fd6c922ac4bafb420c0d54788ca6bab2246e8a153a09eccce15a87e1fe16fdeef16af1c6b6b13386bff79dd73858f3cae HEAD_REF main PATCHES fix-parallel-config.patch diff --git a/ports/vulkan-tools/vcpkg.json b/ports/vulkan-tools/vcpkg.json index beff4aff9557b2..3633cbb686cda2 100644 --- a/ports/vulkan-tools/vcpkg.json +++ b/ports/vulkan-tools/vcpkg.json @@ -1,6 +1,6 @@ { "name": "vulkan-tools", - "version": "1.3.290.0", + "version": "1.3.296.0", "description": "Vulkan Development Tools", "homepage": "https://github.com/KhronosGroup/Vulkan-Tools", "license": "Apache-2.0", diff --git a/ports/vulkan-utility-libraries/portfile.cmake b/ports/vulkan-utility-libraries/portfile.cmake index f87f870df846a5..8280b5aac5a25b 100644 --- a/ports/vulkan-utility-libraries/portfile.cmake +++ b/ports/vulkan-utility-libraries/portfile.cmake @@ -2,7 +2,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/Vulkan-Utility-Libraries REF "vulkan-sdk-${VERSION}" - SHA512 73637d7fb511aa00b267d415e4bef780f8b3ffc206a6da4c3447472fbb3e358de6c1ea15601e4c951b6bfb49b736c2449d58dd257f2870388b5b3f9fd396dc62 + SHA512 03466c78fbd43461990014a02deb06d2c4668c6230f336d3d9710e93aefa56d0ffadf959892c6d85c409088705e8ecf5fdd0a037b99af767b832f17fe4a44454 HEAD_REF main ) diff --git a/ports/vulkan-utility-libraries/vcpkg.json b/ports/vulkan-utility-libraries/vcpkg.json index 54d38f090aa93a..58a20aa8a8faed 100644 --- a/ports/vulkan-utility-libraries/vcpkg.json +++ b/ports/vulkan-utility-libraries/vcpkg.json @@ -1,6 +1,6 @@ { "name": "vulkan-utility-libraries", - "version": "1.3.290.0", + "version": "1.3.296.0", "description": "Utility libraries for Vulkan developers", "homepage": "https://github.com/KhronosGroup/Vulkan-Utility-Libraries", "license": null, diff --git a/ports/vulkan-validationlayers/portfile.cmake b/ports/vulkan-validationlayers/portfile.cmake index f3979846e30b86..0f9a7a673b99a2 100644 --- a/ports/vulkan-validationlayers/portfile.cmake +++ b/ports/vulkan-validationlayers/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/Vulkan-ValidationLayers REF "vulkan-sdk-${VERSION}" - SHA512 9f1d512b4bafbcef586789e933f903c383bbb9644d0a978a390da16e03ee2395c39c9c7b622e437e1c74880409df0a3cfc3a44b066cc0efeaee8d1edb9349d26 + SHA512 457edee35a347456391c9b36bdf5d457f05210b6a8889d0623498582d3385bed474fbd7dae66406d20f70d96238ca752414eaa844b86b431ec7f8cf721d46d08 HEAD_REF main ) diff --git a/ports/vulkan-validationlayers/vcpkg.json b/ports/vulkan-validationlayers/vcpkg.json index f4cfed0cf80e15..a3b7e77124f26d 100644 --- a/ports/vulkan-validationlayers/vcpkg.json +++ b/ports/vulkan-validationlayers/vcpkg.json @@ -1,6 +1,6 @@ { "name": "vulkan-validationlayers", - "version": "1.3.290.0", + "version": "1.3.296.0", "description": "Vulkan Validation Layers (VVL)", "homepage": "https://github.com/KhronosGroup/Vulkan-ValidationLayers", "license": null, diff --git a/versions/baseline.json b/versions/baseline.json index faf37fb1481c02..79c106992c31aa 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -3161,7 +3161,7 @@ "port-version": 3 }, "glslang": { - "baseline": "14.3.0", + "baseline": "15.0.0", "port-version": 0 }, "glui": { @@ -5637,7 +5637,7 @@ "port-version": 1 }, "lunarg-vulkantools": { - "baseline": "1.3.290.0", + "baseline": "1.3.296.0", "port-version": 0 }, "lunasvg": { @@ -8553,19 +8553,19 @@ "port-version": 4 }, "spirv-cross": { - "baseline": "1.3.290.0", + "baseline": "1.3.296.0", "port-version": 0 }, "spirv-headers": { - "baseline": "1.3.290.0", + "baseline": "1.3.296.0", "port-version": 0 }, "spirv-reflect": { - "baseline": "1.3.290.0", + "baseline": "1.3.296.0", "port-version": 0 }, "spirv-tools": { - "baseline": "1.3.290.0", + "baseline": "1.3.296.0", "port-version": 0 }, "spout2": { @@ -9425,7 +9425,7 @@ "port-version": 0 }, "volk": { - "baseline": "1.3.295", + "baseline": "1.3.296", "port-version": 0 }, "vowpal-wabbit": { @@ -9465,15 +9465,15 @@ "port-version": 0 }, "vulkan-headers": { - "baseline": "1.3.290.0", - "port-version": 1 + "baseline": "1.3.296.0", + "port-version": 0 }, "vulkan-hpp": { "baseline": "deprecated", "port-version": 0 }, "vulkan-loader": { - "baseline": "1.3.290.0", + "baseline": "1.3.296.0", "port-version": 0 }, "vulkan-memory-allocator": { @@ -9485,19 +9485,19 @@ "port-version": 0 }, "vulkan-sdk-components": { - "baseline": "1.3.290.0", + "baseline": "1.3.296.0", "port-version": 0 }, "vulkan-tools": { - "baseline": "1.3.290.0", + "baseline": "1.3.296.0", "port-version": 0 }, "vulkan-utility-libraries": { - "baseline": "1.3.290.0", + "baseline": "1.3.296.0", "port-version": 0 }, "vulkan-validationlayers": { - "baseline": "1.3.290.0", + "baseline": "1.3.296.0", "port-version": 0 }, "vvenc": { diff --git a/versions/g-/glslang.json b/versions/g-/glslang.json index 38e0d42af72162..46dca341d689c9 100644 --- a/versions/g-/glslang.json +++ b/versions/g-/glslang.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "238083db89713c6762c7f785176b28183154deed", + "version": "15.0.0", + "port-version": 0 + }, { "git-tree": "e38873f484b047a06604fafc6175ae0d2285b042", "version": "14.3.0", diff --git a/versions/l-/lunarg-vulkantools.json b/versions/l-/lunarg-vulkantools.json index cad66f17dee70d..5bf191edff4a5f 100644 --- a/versions/l-/lunarg-vulkantools.json +++ b/versions/l-/lunarg-vulkantools.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "97ada8faec728f24d5eb3ed8453a92c924d7ab0b", + "version": "1.3.296.0", + "port-version": 0 + }, { "git-tree": "240a486e9ff90eb839c20595efb197234f2cee57", "version": "1.3.290.0", diff --git a/versions/s-/spirv-cross.json b/versions/s-/spirv-cross.json index cce847105054b2..181d26588ea2ce 100644 --- a/versions/s-/spirv-cross.json +++ b/versions/s-/spirv-cross.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6d60b4e07708e480d90bbd89f95101d910feb181", + "version": "1.3.296.0", + "port-version": 0 + }, { "git-tree": "915b615224c502d1efa827d287af5a5ae58081ad", "version": "1.3.290.0", diff --git a/versions/s-/spirv-headers.json b/versions/s-/spirv-headers.json index 8eff891cf22a39..898205e12ee47f 100644 --- a/versions/s-/spirv-headers.json +++ b/versions/s-/spirv-headers.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f1e872bb8327f8ab7b0cc5640673236419b497d0", + "version": "1.3.296.0", + "port-version": 0 + }, { "git-tree": "13b31b81e09a949e0a18df0e57f7b76311c2591f", "version": "1.3.290.0", diff --git a/versions/s-/spirv-reflect.json b/versions/s-/spirv-reflect.json index 461ceb54c36916..ac436b11157573 100644 --- a/versions/s-/spirv-reflect.json +++ b/versions/s-/spirv-reflect.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "fa076328489d6f554dcbdcc114aa53c0261cbeae", + "version": "1.3.296.0", + "port-version": 0 + }, { "git-tree": "0b14b5a6608af8938cfad18a3ea3c1ebe6c30ba8", "version": "1.3.290.0", diff --git a/versions/s-/spirv-tools.json b/versions/s-/spirv-tools.json index c4f30c5ac617be..62cd8873dfa30e 100644 --- a/versions/s-/spirv-tools.json +++ b/versions/s-/spirv-tools.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d7623e3b9a2791fc6adde89c36602e5d314e1dd8", + "version": "1.3.296.0", + "port-version": 0 + }, { "git-tree": "2d453d5afb41ffadc2625644c74b4423e2991e6b", "version": "1.3.290.0", diff --git a/versions/v-/volk.json b/versions/v-/volk.json index 88e118916d7540..f6f183d6953c72 100644 --- a/versions/v-/volk.json +++ b/versions/v-/volk.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "61510725dc5e5580f3c57a2939131e64519c3eef", + "version": "1.3.296", + "port-version": 0 + }, { "git-tree": "19f1fa697f50ea058f29a73545b1b1efef436404", "version": "1.3.295", diff --git a/versions/v-/vulkan-headers.json b/versions/v-/vulkan-headers.json index 76daab9c311085..89149fce69a3ea 100644 --- a/versions/v-/vulkan-headers.json +++ b/versions/v-/vulkan-headers.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "4dd5a13664c79d5df78837e35061568ad41c07a8", + "version": "1.3.296.0", + "port-version": 0 + }, { "git-tree": "3335b4bdf60e3c09fafd8541329aba7c275c5a1a", "version": "1.3.290.0", diff --git a/versions/v-/vulkan-loader.json b/versions/v-/vulkan-loader.json index d1bb79527d48f0..98df9da4be1f8a 100644 --- a/versions/v-/vulkan-loader.json +++ b/versions/v-/vulkan-loader.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6ff5e777666c586b39164f3f74e08ac242febfaf", + "version": "1.3.296.0", + "port-version": 0 + }, { "git-tree": "587eccab043d27e654b2d48091677f08fb099233", "version": "1.3.290.0", diff --git a/versions/v-/vulkan-sdk-components.json b/versions/v-/vulkan-sdk-components.json index f44aeb88a8438d..097f415f965264 100644 --- a/versions/v-/vulkan-sdk-components.json +++ b/versions/v-/vulkan-sdk-components.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7a0f9cbc644e8d49e5cabb85ad57d201787447c5", + "version": "1.3.296.0", + "port-version": 0 + }, { "git-tree": "7371dbb1e2d1e53ff7e507067e9dd90b3708d0b6", "version": "1.3.290.0", diff --git a/versions/v-/vulkan-tools.json b/versions/v-/vulkan-tools.json index 6addcdf7b09459..5646923cf41fa9 100644 --- a/versions/v-/vulkan-tools.json +++ b/versions/v-/vulkan-tools.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "00c6695f71fdd4ba603c6efde0b9bf4c6344298f", + "version": "1.3.296.0", + "port-version": 0 + }, { "git-tree": "bc9bba0720b8490ec2da60a3c2ae63716442d428", "version": "1.3.290.0", diff --git a/versions/v-/vulkan-utility-libraries.json b/versions/v-/vulkan-utility-libraries.json index 850805ed828a5e..268addc5e6905d 100644 --- a/versions/v-/vulkan-utility-libraries.json +++ b/versions/v-/vulkan-utility-libraries.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "513317b99a7f1cebfd357c948f330f59ab2ff966", + "version": "1.3.296.0", + "port-version": 0 + }, { "git-tree": "c53a45159266fe31815e92e69b95d1a9cc479321", "version": "1.3.290.0", diff --git a/versions/v-/vulkan-validationlayers.json b/versions/v-/vulkan-validationlayers.json index e8c27815c3a21a..cbe9899c59a129 100644 --- a/versions/v-/vulkan-validationlayers.json +++ b/versions/v-/vulkan-validationlayers.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "93913bad76f726fbd8cd239ce8227db3245b2de7", + "version": "1.3.296.0", + "port-version": 0 + }, { "git-tree": "08ea5f84250843428fab203e3f3bc59bc1502aec", "version": "1.3.290.0",