* [PR PATCH] Vulkan 1.3.236
@ 2022-12-13 23:03 tibequadorian
2022-12-13 23:05 ` [PR PATCH] [Updated] " tibequadorian
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: tibequadorian @ 2022-12-13 23:03 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1244 bytes --]
There is a new pull request by tibequadorian against master on the void-packages repository
https://github.com/tibequadorian/void-packages vulkan-1.3.236
https://github.com/void-linux/void-packages/pull/41072
Vulkan 1.3.236
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **NO**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/41072.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-vulkan-1.3.236-41072.patch --]
[-- Type: text/x-diff, Size: 30724 bytes --]
From ba1d16337024f18ca1d6ea006142ad1d94081010 Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:31 +0100
Subject: [PATCH 1/6] SPIRV-Headers: update to 1.3.236.0.
---
| 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--git a/srcpkgs/SPIRV-Headers/template b/srcpkgs/SPIRV-Headers/template
index 8bb7d5f8b1ae..c9bda7940e83 100644
--- a/srcpkgs/SPIRV-Headers/template
+++ b/srcpkgs/SPIRV-Headers/template
@@ -1,7 +1,7 @@
# Template file for 'SPIRV-Headers'
pkgname=SPIRV-Headers
reverts="1.5.4.raytracing.fixed_1 1.5.3_2 1.5.3_1 1.5.1_1 1.4.1_1"
-version=1.3.231.1
+version=1.3.236.0
revision=1
build_style=cmake
short_desc="Machine-readable files for the SPIR-V Registry"
@@ -9,7 +9,7 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="MIT"
homepage="https://github.com/KhronosGroup/SPIRV-Headers"
distfiles="https://github.com/KhronosGroup/SPIRV-Headers/archive/sdk-${version}.tar.gz"
-checksum=fc340700b005e9a2adc98475b5afbbabd1bc931f789a2afd02d54ebc22522af3
+checksum=4d74c685fdd74469eba7c224dd671a0cb27df45fc9aa43cdd90e53bd4f2b2b78
post_install() {
vlicense LICENSE
From 8eb75c7cc21c6649af7486e596ca2df51eede66b Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:23 +0100
Subject: [PATCH 2/6] SPIRV-Tools: update to 1.3.236.0.
---
srcpkgs/SPIRV-Tools/template | 8 +++++---
srcpkgs/SPIRV-Tools/update | 1 +
2 files changed, 6 insertions(+), 3 deletions(-)
create mode 100644 srcpkgs/SPIRV-Tools/update
diff --git a/srcpkgs/SPIRV-Tools/template b/srcpkgs/SPIRV-Tools/template
index 6a280baa0c28..a3b3e9afbc14 100644
--- a/srcpkgs/SPIRV-Tools/template
+++ b/srcpkgs/SPIRV-Tools/template
@@ -1,6 +1,8 @@
# Template file for 'SPIRV-Tools'
pkgname=SPIRV-Tools
-version=2022.4
+version=1.3.236.0
+revers="2022.4_1 2022.3_1 2022.1_1 2020.6_1 2020.3_1 2020.1_1 2019.4_1 2019.3_1
+ 2019.2_1 2019.1_2 2019.1_1 2018.6_1 2018.5_1 2018.2_1"
revision=1
build_style=cmake
configure_args="-DSPIRV_SKIP_TESTS=ON -DSPIRV_WERROR=OFF
@@ -12,8 +14,8 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://github.com/KhronosGroup/SPIRV-Tools"
changelog="https://raw.githubusercontent.com/KhronosGroup/SPIRV-Tools/master/CHANGES"
-distfiles="https://github.com/KhronosGroup/SPIRV-Tools/archive/v${version}.tar.gz"
-checksum=a156215a2d7c6c5b267933ed691877a9a66f07d75970da33ce9ad627a71389d7
+distfiles="https://github.com/KhronosGroup/SPIRV-Tools/archive/sdk-${version}.tar.gz"
+checksum=6789c782a8ba8fa127c3d579f9362f0cdde7a9ccc2e8513cdf217bba579dfda9
LDFLAGS="-Wl,--no-undefined"
SPIRV-Tools-devel_package() {
diff --git a/srcpkgs/SPIRV-Tools/update b/srcpkgs/SPIRV-Tools/update
new file mode 100644
index 000000000000..2fa65238787a
--- /dev/null
+++ b/srcpkgs/SPIRV-Tools/update
@@ -0,0 +1 @@
+pattern="/sdk-\K[0-9.]+(?=.tar.gz)"
From 5c387dfca40567a166cc88db6f44d8dadcc8e78d Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:43 +0100
Subject: [PATCH 3/6] Vulkan-Headers: update to 1.3.236.0.
---
srcpkgs/Vulkan-Headers/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/Vulkan-Headers/template b/srcpkgs/Vulkan-Headers/template
index 071675e44522..5acc92d0488b 100644
--- a/srcpkgs/Vulkan-Headers/template
+++ b/srcpkgs/Vulkan-Headers/template
@@ -1,6 +1,6 @@
# Template file for 'Vulkan-Headers'
pkgname=Vulkan-Headers
-version=1.3.231.1
+version=1.3.236.0
revision=1
build_style=cmake
short_desc="Vulkan header files"
@@ -8,4 +8,4 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://www.khronos.org/vulkan/"
distfiles="https://github.com/KhronosGroup/Vulkan-Headers/archive/sdk-${version}.tar.gz"
-checksum=6e16051ccb28821b907a08025eedb82cc73e1056924b32f75880ecae2499f7f6
+checksum=2df85b3daa78ced7f910db870ea2aed10f718c703e18076b4549ca4005c9c451
From 27ee05d28b0380ecbed73b28c14806244b382abd Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:48 +0100
Subject: [PATCH 4/6] Vulkan-Tools: update to 1.3.236.0.
---
.../patches/vkcube-cross-build.patch | 127 ------------------
srcpkgs/Vulkan-Tools/template | 4 +-
2 files changed, 2 insertions(+), 129 deletions(-)
delete mode 100644 srcpkgs/Vulkan-Tools/patches/vkcube-cross-build.patch
diff --git a/srcpkgs/Vulkan-Tools/patches/vkcube-cross-build.patch b/srcpkgs/Vulkan-Tools/patches/vkcube-cross-build.patch
deleted file mode 100644
index 13ea2747498c..000000000000
--- a/srcpkgs/Vulkan-Tools/patches/vkcube-cross-build.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From e8234991418c5b0536e342bc849d5f8ed9eb6d6f Mon Sep 17 00:00:00 2001
-From: Simon McVittie <smcv@collabora.com>
-Date: Wed, 9 Nov 2022 15:32:39 +0000
-Subject: [PATCH] build: Compile vkcube and other demos, even when
- cross-compiling
-
-When building software for a non-x86 processor on an x86 build machine,
-or building 32-bit software on a 64-bit build machine, it's still useful
-to compile demo programs that can be copied into the target environment
-and run there, even if they won't necessarily be runnable on the build
-machine.
-
-This also addresses a build failure when cross-compiling and attempting
-to leave the demos enabled:
-
- CMake Error at cube/CMakeLists.txt:274 (install):
- install TARGETS given target "vkcube" which does not exist.
-
-(and similar for the other demos)
-
-Resolves: https://github.com/KhronosGroup/Vulkan-Tools/issues/592
-Signed-off-by: Simon McVittie <smcv@collabora.com>
----
- cube/CMakeLists.txt | 76 +++++++++++++++++++++------------------------
- 1 file changed, 35 insertions(+), 41 deletions(-)
-
-diff --git a/cube/CMakeLists.txt b/cube/CMakeLists.txt
-index 72e0ae92b..48805b3ee 100644
---- a/cube/CMakeLists.txt
-+++ b/cube/CMakeLists.txt
-@@ -228,21 +228,19 @@ include_directories(${CUBE_INCLUDE_DIRS})
- if(APPLE)
- include(macOS/cube/cube.cmake)
- elseif(NOT WIN32)
-- if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})
-- add_executable(vkcube
-- cube.c
-- ${PROJECT_SOURCE_DIR}/cube/cube.vert
-- ${PROJECT_SOURCE_DIR}/cube/cube.frag
-- cube.vert.inc
-- cube.frag.inc
-- ${OPTIONAL_WAYLAND_DATA_FILES})
-- target_link_libraries(vkcube Vulkan::Vulkan)
-- target_compile_definitions(vkcube PUBLIC ${CUBE_PLATFORM})
-- include(CheckLibraryExists)
-- CHECK_LIBRARY_EXISTS("rt" clock_gettime "" NEED_RT)
-- if (NEED_RT)
-- target_link_libraries(vkcube rt)
-- endif()
-+ add_executable(vkcube
-+ cube.c
-+ ${PROJECT_SOURCE_DIR}/cube/cube.vert
-+ ${PROJECT_SOURCE_DIR}/cube/cube.frag
-+ cube.vert.inc
-+ cube.frag.inc
-+ ${OPTIONAL_WAYLAND_DATA_FILES})
-+ target_link_libraries(vkcube Vulkan::Vulkan)
-+ target_compile_definitions(vkcube PUBLIC ${CUBE_PLATFORM})
-+ include(CheckLibraryExists)
-+ CHECK_LIBRARY_EXISTS("rt" clock_gettime "" NEED_RT)
-+ if (NEED_RT)
-+ target_link_libraries(vkcube rt)
- endif()
- else()
- if(CMAKE_CL_64)
-@@ -280,17 +278,15 @@ endif()
- if(APPLE)
- include(macOS/cubepp/cubepp.cmake)
- elseif(NOT WIN32)
-- if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})
-- add_executable(vkcubepp
-- cube.cpp
-- ${PROJECT_SOURCE_DIR}/cube/cube.vert
-- ${PROJECT_SOURCE_DIR}/cube/cube.frag
-- cube.vert.inc
-- cube.frag.inc
-- ${OPTIONAL_WAYLAND_DATA_FILES})
-- target_link_libraries(vkcubepp Vulkan::Vulkan)
-- target_compile_definitions(vkcubepp PUBLIC ${CUBE_PLATFORM})
-- endif()
-+ add_executable(vkcubepp
-+ cube.cpp
-+ ${PROJECT_SOURCE_DIR}/cube/cube.vert
-+ ${PROJECT_SOURCE_DIR}/cube/cube.frag
-+ cube.vert.inc
-+ cube.frag.inc
-+ ${OPTIONAL_WAYLAND_DATA_FILES})
-+ target_link_libraries(vkcubepp Vulkan::Vulkan)
-+ target_compile_definitions(vkcubepp PUBLIC ${CUBE_PLATFORM})
- else()
- if(CMAKE_CL_64)
- set(LIB_DIR "Win64")
-@@ -334,21 +330,19 @@ if(UNIX AND NOT APPLE) # i.e. Linux
- ${CMAKE_CURRENT_BINARY_DIR}/xdg-decoration-code.c
- ${CMAKE_CURRENT_BINARY_DIR}/xdg-decoration-client-header.h)
- include_directories(${CMAKE_CURRENT_BINARY_DIR})
-- if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})
-- add_executable(vkcube-wayland
-- cube.c
-- ${PROJECT_SOURCE_DIR}/cube/cube.vert
-- ${PROJECT_SOURCE_DIR}/cube/cube.frag
-- cube.vert.inc
-- cube.frag.inc
-- ${OPTIONAL_WAYLAND_DATA_FILES})
-- target_link_libraries(vkcube-wayland Vulkan::Vulkan)
-- target_compile_definitions(vkcube-wayland PUBLIC VK_USE_PLATFORM_WAYLAND_KHR)
-- include(CheckLibraryExists)
-- CHECK_LIBRARY_EXISTS("rt" clock_gettime "" NEED_RT)
-- if (NEED_RT)
-- target_link_libraries(vkcube-wayland rt)
-- endif()
-+ add_executable(vkcube-wayland
-+ cube.c
-+ ${PROJECT_SOURCE_DIR}/cube/cube.vert
-+ ${PROJECT_SOURCE_DIR}/cube/cube.frag
-+ cube.vert.inc
-+ cube.frag.inc
-+ ${OPTIONAL_WAYLAND_DATA_FILES})
-+ target_link_libraries(vkcube-wayland Vulkan::Vulkan)
-+ target_compile_definitions(vkcube-wayland PUBLIC VK_USE_PLATFORM_WAYLAND_KHR)
-+ include(CheckLibraryExists)
-+ CHECK_LIBRARY_EXISTS("rt" clock_gettime "" NEED_RT)
-+ if (NEED_RT)
-+ target_link_libraries(vkcube-wayland rt)
- endif()
- install(TARGETS vkcube-wayland RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- endif()
diff --git a/srcpkgs/Vulkan-Tools/template b/srcpkgs/Vulkan-Tools/template
index 88f31cc15f74..d27f16cd5cc9 100644
--- a/srcpkgs/Vulkan-Tools/template
+++ b/srcpkgs/Vulkan-Tools/template
@@ -1,6 +1,6 @@
# Template file for 'Vulkan-Tools'
pkgname=Vulkan-Tools
-version=1.3.231.1
+version=1.3.236.0
revision=1
build_style=cmake
configure_args="-DGLSLANG_INSTALL_DIR=/usr
@@ -14,4 +14,4 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://www.khronos.org/vulkan/"
distfiles="https://github.com/KhronosGroup/Vulkan-Tools/archive/sdk-${version}.tar.gz"
-checksum=0388207fdc0986ed8e03092a16d76913c7189d87a0d71eff4a914942b16b552a
+checksum=5b0d96acce7d7354a6bc055cafeca9191cda860975390780b3146b8ab1f8a8d3
From eab6d52caaaadec150dc4b211058ba2c1c4e6d06 Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:58 +0100
Subject: [PATCH 5/6] Vulkan-ValidationLayers: update to 1.3.236.0.
---
srcpkgs/Vulkan-ValidationLayers/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/Vulkan-ValidationLayers/template b/srcpkgs/Vulkan-ValidationLayers/template
index 8854a202a877..2a7ae19392b6 100644
--- a/srcpkgs/Vulkan-ValidationLayers/template
+++ b/srcpkgs/Vulkan-ValidationLayers/template
@@ -1,6 +1,6 @@
# Template file for 'Vulkan-ValidationLayers'
pkgname=Vulkan-ValidationLayers
-version=1.3.231.1
+version=1.3.236.0
revision=1
build_style=cmake
configure_args="-Wno-dev -DBUILD_LAYER_SUPPORT_FILES=ON
@@ -14,4 +14,4 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://www.khronos.org/vulkan/"
distfiles="https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/sdk-${version}.tar.gz"
-checksum=ea40af0f499e7e97a86ee54410c5c78e7f7bac40f65ae09a1549773b6501bf4d
+checksum=68f2cf70b1960f85e931ef56935e6ceda1beeb214f8fa319e6b95128b02b485a
From ef553ff08551f699b714119fedc072a23a151cb6 Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:01:02 +0100
Subject: [PATCH 6/6] vulkan-loader: update to 1.3.236.0.
---
.../patches/fix-gen_defines-cross.patch | 316 ------------------
srcpkgs/vulkan-loader/template | 4 +-
2 files changed, 2 insertions(+), 318 deletions(-)
delete mode 100644 srcpkgs/vulkan-loader/patches/fix-gen_defines-cross.patch
diff --git a/srcpkgs/vulkan-loader/patches/fix-gen_defines-cross.patch b/srcpkgs/vulkan-loader/patches/fix-gen_defines-cross.patch
deleted file mode 100644
index 3910009db2d9..000000000000
--- a/srcpkgs/vulkan-loader/patches/fix-gen_defines-cross.patch
+++ /dev/null
@@ -1,316 +0,0 @@
-From d12ff7d48181236b47f808173e044a11423c0f26 Mon Sep 17 00:00:00 2001
-From: Charles Giessen <charles@lunarg.com>
-Date: Fri, 9 Sep 2022 17:50:14 -0600
-Subject: [PATCH] Write gen_defines.asm using a python script
-
-This allows cross compilation to enable unkonwn function handling as
-gen_defines.asm will be generated without needing to run code meant for the
-target platform. Previously, asm_offset.c wrote the gen_defines.asm file
-by being run. Now, compilers emit their intermediate assembly output that the
-parse_asm_values.py script knows how to find the relevant information from.
-
-Additionally set the test framework `framework_config` build option to always
-copy, instead of copy_if_different. This is needed since cmake wouldn't update
-this file when changing from/to debug & release mode.
----
- loader/CMakeLists.txt | 36 +++++++++++--
- loader/asm_offset.c | 99 ++++++++++++----------------------
- scripts/parse_asm_values.py | 97 +++++++++++++++++++++++++++++++++
- tests/framework/CMakeLists.txt | 2 +-
- 4 files changed, 162 insertions(+), 72 deletions(-)
- create mode 100644 scripts/parse_asm_values.py
-
-diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
-index bf4308702..0be1c5df4 100644
---- a/loader/CMakeLists.txt
-+++ b/loader/CMakeLists.txt
-@@ -157,13 +157,25 @@ if(WIN32)
- endif()
-
- add_executable(asm_offset asm_offset.c)
-- target_link_libraries(asm_offset loader_specific_options)
-- add_custom_command(OUTPUT gen_defines.asm DEPENDS asm_offset COMMAND asm_offset MASM)
-+ target_link_libraries(asm_offset PRIVATE loader_specific_options)
-+ # Forces compiler to write the intermediate asm file, needed so that we can get sizeof/offset of info out of it.
-+ target_compile_options(asm_offset PRIVATE "/Fa$<TARGET_FILE_DIR:asm_offset>/asm_offset.asm" /FA)
-+ # Force off optimization so that the output assembly includes all the necessary info - optimizer would get rid of it otherwise.
-+ target_compile_options(asm_offset PRIVATE /Od)
-+
-+ find_package(PythonInterp REQUIRED)
-+ # Run parse_asm_values.py on asm_offset's assembly file to generate the gen_defines.asm, which the asm code depends on
-+ add_custom_command(TARGET asm_offset POST_BUILD
-+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/scripts/parse_asm_values.py "${CMAKE_CURRENT_BINARY_DIR}/gen_defines.asm"
-+ "$<TARGET_FILE_DIR:asm_offset>/asm_offset.asm" "MASM" "${CMAKE_CXX_COMPILER_ID}" "${CMAKE_SYSTEM_PROCESSOR}"
-+ BYPRODUCTS gen_defines.asm
-+ )
- add_custom_target(loader_asm_gen_files DEPENDS gen_defines.asm)
- set_target_properties(loader_asm_gen_files PROPERTIES FOLDER ${LOADER_HELPER_FOLDER})
-+
- add_library(loader-unknown-chain OBJECT unknown_ext_chain_masm.asm)
- target_link_libraries(loader-unknown-chain Vulkan::Headers)
-- target_include_directories(loader-unknown-chain PUBLIC $<TARGET_PROPERTY:loader_asm_gen_files,BINARY_DIR>)
-+ target_include_directories(loader-unknown-chain PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
- add_dependencies(loader-unknown-chain loader_asm_gen_files)
- else()
- message(WARNING "Could not find working MASM assembler\n${ASM_FAILURE_MSG}")
-@@ -204,9 +216,23 @@ else() # i.e.: Linux
- endif()
-
- if(ASSEMBLER_WORKS)
-- add_executable(asm_offset asm_offset.c)
-+ add_library(asm_offset STATIC asm_offset.c)
- target_link_libraries(asm_offset loader_specific_options)
-- add_custom_command(OUTPUT gen_defines.asm DEPENDS asm_offset COMMAND asm_offset GAS)
-+ # Forces compiler to write the intermediate asm file, needed so that we can get sizeof/offset of info out of it.
-+ target_compile_options(asm_offset PRIVATE -save-temps=obj)
-+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
-+ set(ASM_OFFSET_INTERMEDIATE_LOCATION "$<TARGET_FILE_DIR:asm_offset>/CMakeFiles/asm_offset.dir/asm_offset.c.s")
-+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
-+ set(ASM_OFFSET_INTERMEDIATE_LOCATION "$<TARGET_FILE_DIR:asm_offset>/CMakeFiles/asm_offset.dir/asm_offset.s")
-+ endif()
-+
-+ find_package(PythonInterp REQUIRED)
-+ # Run parse_asm_values.py on asm_offset's assembly file to generate the gen_defines.asm, which the asm code depends on
-+ add_custom_command(TARGET asm_offset POST_BUILD
-+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/scripts/parse_asm_values.py "$<TARGET_FILE_DIR:asm_offset>/gen_defines.asm"
-+ "${ASM_OFFSET_INTERMEDIATE_LOCATION}" "GAS" "${CMAKE_CXX_COMPILER_ID}" "${CMAKE_SYSTEM_PROCESSOR}"
-+ BYPRODUCTS gen_defines.asm
-+ )
- add_custom_target(loader_asm_gen_files DEPENDS gen_defines.asm)
- else()
- if(USE_GAS)
-diff --git a/loader/asm_offset.c b/loader/asm_offset.c
-index 80b71065c..82230b7d5 100644
---- a/loader/asm_offset.c
-+++ b/loader/asm_offset.c
-@@ -26,6 +26,36 @@
- #include "loader_common.h"
- #include "log.h"
-
-+#if defined(__GNUC__) || defined(__clang__)
-+void produce_asm_define() {
-+ // GCC and clang make it easy to print easy to regex for values
-+ __asm__("# VULKAN_LOADER_ERROR_BIT = %c0" : : "i"(VULKAN_LOADER_ERROR_BIT));
-+ __asm__("# PTR_SIZE = %c0" : : "i"(sizeof(void *)));
-+ __asm__("# CHAR_PTR_SIZE = %c0" : : "i"(sizeof(char *)));
-+ __asm__("# FUNCTION_OFFSET_INSTANCE = %c0" : : "i"(offsetof(struct loader_instance, phys_dev_ext_disp_functions)));
-+ __asm__("# PHYS_DEV_OFFSET_INST_DISPATCH = %c0" : : "i"(offsetof(struct loader_instance_dispatch_table, phys_dev_ext)));
-+ __asm__("# PHYS_DEV_OFFSET_PHYS_DEV_TRAMP = %c0" : : "i"(offsetof(struct loader_physical_device_tramp, phys_dev)));
-+ __asm__("# ICD_TERM_OFFSET_PHYS_DEV_TERM = %c0" : : "i"(offsetof(struct loader_physical_device_term, this_icd_term)));
-+ __asm__("# PHYS_DEV_OFFSET_PHYS_DEV_TERM = %c0" : : "i"(offsetof(struct loader_physical_device_term, phys_dev)));
-+ __asm__("# INSTANCE_OFFSET_ICD_TERM = %c0" : : "i"(offsetof(struct loader_icd_term, this_instance)));
-+ __asm__("# DISPATCH_OFFSET_ICD_TERM = %c0" : : "i"(offsetof(struct loader_icd_term, phys_dev_ext)));
-+ __asm__("# EXT_OFFSET_DEVICE_DISPATCH = %c0" : : "i"(offsetof(struct loader_dev_dispatch_table, ext_dispatch)));
-+}
-+#elif defined(_WIN32)
-+// MSVC will print the name of the value and the value in hex
-+// Must disable optimization for this translation unit, otherwise the compiler strips out the variables
-+static const uint32_t PTR_SIZE = sizeof(void *);
-+static const uint32_t CHAR_PTR_SIZE = sizeof(char *);
-+static const uint32_t FUNCTION_OFFSET_INSTANCE = offsetof(struct loader_instance, phys_dev_ext_disp_functions);
-+static const uint32_t PHYS_DEV_OFFSET_INST_DISPATCH = offsetof(struct loader_instance_dispatch_table, phys_dev_ext);
-+static const uint32_t PHYS_DEV_OFFSET_PHYS_DEV_TRAMP = offsetof(struct loader_physical_device_tramp, phys_dev);
-+static const uint32_t ICD_TERM_OFFSET_PHYS_DEV_TERM = offsetof(struct loader_physical_device_term, this_icd_term);
-+static const uint32_t PHYS_DEV_OFFSET_PHYS_DEV_TERM = offsetof(struct loader_physical_device_term, phys_dev);
-+static const uint32_t INSTANCE_OFFSET_ICD_TERM = offsetof(struct loader_icd_term, this_instance);
-+static const uint32_t DISPATCH_OFFSET_ICD_TERM = offsetof(struct loader_icd_term, phys_dev_ext);
-+static const uint32_t EXT_OFFSET_DEVICE_DISPATCH = offsetof(struct loader_dev_dispatch_table, ext_dispatch);
-+#endif
-+
- #if !defined(_MSC_VER) || (_MSC_VER >= 1900)
- #define SIZE_T_FMT "%-8zu"
- #else
-@@ -38,69 +68,6 @@ struct ValueInfo {
- const char *comment;
- };
-
--int main(int argc, char **argv) {
-- const char *assembler = NULL;
-- for (int i = 0; i < argc; ++i) {
-- if (!strcmp(argv[i], "MASM")) {
-- assembler = "MASM";
-- } else if (!strcmp(argv[i], "GAS")) {
-- assembler = "GAS";
-- }
-- }
-- if (assembler == NULL) {
-- return 1;
-- }
--
-- struct ValueInfo values[] = {
-- // clang-format off
-- { .name = "VULKAN_LOADER_ERROR_BIT", .value = (size_t) VULKAN_LOADER_ERROR_BIT,
-- .comment = "The numerical value of the enum value 'VULKAN_LOADER_ERROR_BIT'" },
-- { .name = "PTR_SIZE", .value = sizeof(void*),
-- .comment = "The size of a pointer" },
-- { .name = "CHAR_PTR_SIZE", .value = sizeof(char *),
-- .comment = "The size of a 'const char *' struct" },
-- { .name = "FUNCTION_OFFSET_INSTANCE", .value = offsetof(struct loader_instance, phys_dev_ext_disp_functions),
-- .comment = "The offset of 'phys_dev_ext_disp_functions' within a 'loader_instance' struct" },
-- { .name = "PHYS_DEV_OFFSET_INST_DISPATCH", .value = offsetof(struct loader_instance_dispatch_table, phys_dev_ext),
-- .comment = "The offset of 'phys_dev_ext' within in 'loader_instance_dispatch_table' struct" },
-- { .name = "PHYS_DEV_OFFSET_PHYS_DEV_TRAMP", .value = offsetof(struct loader_physical_device_tramp, phys_dev),
-- .comment = "The offset of 'phys_dev' within a 'loader_physical_device_tramp' struct" },
-- { .name = "ICD_TERM_OFFSET_PHYS_DEV_TERM", .value = offsetof(struct loader_physical_device_term, this_icd_term),
-- .comment = "The offset of 'this_icd_term' within a 'loader_physical_device_term' struct" },
-- { .name = "PHYS_DEV_OFFSET_PHYS_DEV_TERM", .value = offsetof(struct loader_physical_device_term, phys_dev),
-- .comment = "The offset of 'phys_dev' within a 'loader_physical_device_term' struct" },
-- { .name = "INSTANCE_OFFSET_ICD_TERM", .value = offsetof(struct loader_icd_term, this_instance),
-- .comment = "The offset of 'this_instance' within a 'loader_icd_term' struct" },
-- { .name = "DISPATCH_OFFSET_ICD_TERM", .value = offsetof(struct loader_icd_term, phys_dev_ext),
-- .comment = "The offset of 'phys_dev_ext' within a 'loader_icd_term' struct" },
-- { .name = "EXT_OFFSET_DEVICE_DISPATCH", .value = offsetof(struct loader_dev_dispatch_table, ext_dispatch),
-- .comment = "The offset of 'ext_dispatch' within a 'loader_dev_dispatch_table' struct" },
-- // clang-format on
-- };
--
-- FILE *file = fopen("gen_defines.asm", "w");
-- fprintf(file, "\n");
-- if (!strcmp(assembler, "MASM")) {
-- for (size_t i = 0; i < sizeof(values) / sizeof(values[0]); ++i) {
-- fprintf(file, "%-32s equ " SIZE_T_FMT "; %s\n", values[i].name, values[i].value, values[i].comment);
-- }
-- } else if (!strcmp(assembler, "GAS")) {
--#if defined(__x86_64__) || defined(__i386__)
-- const char *comment_delimiter = "#";
--#if defined(__x86_64__)
-- fprintf(file, ".set X86_64, 1\n");
--#endif // defined(__x86_64__)
--#elif defined(__aarch64__)
-- const char *comment_delimiter = "//";
-- fprintf(file, ".set AARCH_64, 1\n");
--#else
-- // Default comment delimiter
-- const char *comment_delimiter = "#";
--#endif
-- for (size_t i = 0; i < sizeof(values) / sizeof(values[0]); ++i) {
-- fprintf(file, ".set %-32s, " SIZE_T_FMT "%s %s\n", values[i].name, values[i].value, comment_delimiter,
-- values[i].comment);
-- }
-- }
-- return fclose(file);
--}
-+// This file is not intended to be executed, as the generated asm contains all the relevant data which
-+// the parse_asm_values.py script needs to write gen_defines.asm
-+int main(int argc, char **argv) { return 0; }
-diff --git a/scripts/parse_asm_values.py b/scripts/parse_asm_values.py
-new file mode 100644
-index 000000000..bff263d2a
---- /dev/null
-+++ b/scripts/parse_asm_values.py
-@@ -0,0 +1,97 @@
-+#!/usr/bin/python3 -i
-+#
-+# Copyright (c) 2022 The Khronos Group Inc.
-+# Copyright (c) 2022 LunarG, Inc.
-+
-+# Licensed under the Apache License, Version 2.0 (the "License");
-+# you may not use this file except in compliance with the License.
-+# You may obtain a copy of the License at
-+#
-+# http://www.apache.org/licenses/LICENSE-2.0
-+#
-+# Unless required by applicable law or agreed to in writing, software
-+# distributed under the License is distributed on an "AS IS" BASIS,
-+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+# See the License for the specific language governing permissions and
-+# limitations under the License.
-+#
-+# Author: Charles Giessen <charles@lunarg.com>
-+
-+# This script reads in the 'intermediate output' of a compiler to look for sizeof/offsetof information
-+# necessary for the assembler portions of the loader. This is achieved by forcing the compiler to output
-+# the intermediate assembly output and looking for specific patterns which contain the relevant information
-+
-+import sys
-+import os.path
-+from os.path import exists
-+import re
-+
-+
-+# Where to write the "gen_defines.asm" file
-+destination_file = sys.argv[1]
-+# The location the build system puts the intermediate asm file which depends on the compiler
-+source_asm_file = sys.argv[2]
-+# Whether we are using "MASM" or "GAS" for the assembler
-+assembler_type = sys.argv[3]
-+# Whether we are using gcc, clang, or msvc
-+compiler = sys.argv[4]
-+# taken from CMAKE_SYSTEM_PROCESSOR - x86_64 or aarch64
-+arch = sys.argv[5]
-+
-+if destination_file is None or source_asm_file is None or assembler_type is None or compiler is None or arch is None:
-+ print("Required command line arguments were not provided")
-+ sys.exit(1)
-+
-+defines = ["VULKAN_LOADER_ERROR_BIT",
-+ "PTR_SIZE",
-+ "CHAR_PTR_SIZE",
-+ "FUNCTION_OFFSET_INSTANCE",
-+ "PHYS_DEV_OFFSET_INST_DISPATCH",
-+ "PHYS_DEV_OFFSET_PHYS_DEV_TRAMP",
-+ "ICD_TERM_OFFSET_PHYS_DEV_TERM",
-+ "PHYS_DEV_OFFSET_PHYS_DEV_TERM",
-+ "INSTANCE_OFFSET_ICD_TERM",
-+ "DISPATCH_OFFSET_ICD_TERM",
-+ "EXT_OFFSET_DEVICE_DISPATCH" ]
-+
-+try:
-+ with open(source_asm_file, 'r') as f:
-+ asm_intermediate_file = f.read()
-+except IOError:
-+ print("Could not open assembler file:", source_asm_file)
-+ sys.exit(1)
-+
-+with open(destination_file, "w", encoding="utf-8") as dest:
-+ if assembler_type == "MASM":
-+ # special case vulkan error bit due to it not appearing in the asm - its defined in the header as 8 so it shouldn't change
-+ dest.write("VULKAN_LOADER_ERROR_BIT equ 8;\n")
-+ elif assembler_type == "GAS":
-+ # let the assembler know which platform to use
-+ if arch == "x86_64":
-+ dest.write(".set X86_64, 1\n")
-+ elif arch == "aarch64":
-+ dest.write(".set AARCH_64, 1\n")
-+
-+ for d in defines:
-+ match = None
-+ if compiler == "MSVC":
-+ if d == "VULKAN_LOADER_ERROR_BIT":
-+ continue # skip due to special case
-+ match = re.search(d + " DD [ ]*([0-9a-f]+)H", asm_intermediate_file)
-+ elif compiler == "Clang" or compiler == "GNU":
-+ match = re.search(d + " = ([0-9]+)", asm_intermediate_file)
-+
-+ if match:
-+ if compiler == "MSVC":
-+ value = str(int(match.group(1), 16))
-+ elif compiler == "Clang" or compiler == "GNU":
-+ value = match.group(1)
-+ if assembler_type == "MASM":
-+ # MASM uses hex values, decode them here
-+ dest.write(d + " equ " + value +";\n")
-+ elif assembler_type == "GAS":
-+ dest.write(".set " + d + ", " + value + "\n")
-+ else:
-+ print("Couldn't find ", d)
-+ sys.exit(1)
-+
-diff --git a/tests/framework/CMakeLists.txt b/tests/framework/CMakeLists.txt
-index 1ecc82cfd..3aedff55a 100644
---- a/tests/framework/CMakeLists.txt
-+++ b/tests/framework/CMakeLists.txt
-@@ -85,12 +85,12 @@ add_custom_command(
- PRE_BUILD
- COMMAND ${CMAKE_COMMAND} "-E" "copy_if_different" "${CMAKE_CURRENT_BINARY_DIR}/framework_config_$<CONFIG>.h" "${CMAKE_CURRENT_BINARY_DIR}/framework_config.h"
- VERBATIM
-- PRE_BUILD
- DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/framework_config_$<CONFIG>.h"
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/framework_config.h"
- COMMENT "creating framework_config.h file ({event: PRE_BUILD}, {filename: framework_config.h })"
- )
- add_custom_target (generate_framework_config DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/framework_config.h")
-+add_dependencies (generate_framework_config vulkan)
- add_dependencies (testing_framework_util generate_framework_config)
-
- add_library(testing_dependencies STATIC test_environment.cpp test_environment.h)
diff --git a/srcpkgs/vulkan-loader/template b/srcpkgs/vulkan-loader/template
index b93c4b9dc636..ab5b83e6ceae 100644
--- a/srcpkgs/vulkan-loader/template
+++ b/srcpkgs/vulkan-loader/template
@@ -1,6 +1,6 @@
# Template file for 'vulkan-loader'
pkgname=vulkan-loader
-version=1.3.231.2
+version=1.3.236.0
revision=1
build_style=cmake
configure_args="-Wno-dev -DVULKAN_HEADERS_INSTALL_DIR=${XBPS_CROSS_BASE}/usr
@@ -13,4 +13,4 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://www.khronos.org/vulkan/"
distfiles="https://github.com/KhronosGroup/Vulkan-Loader/archive/sdk-${version}.tar.gz"
-checksum=d9d103a6481a19ab9c9b880c1264e3026931741d3184b9930157551453bd4f92
+checksum=157d2230b50bb5be3ef9b9467aa90d1c109d5f188a49b11f741246d7ca583bf3
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PR PATCH] [Updated] Vulkan 1.3.236
2022-12-13 23:03 [PR PATCH] Vulkan 1.3.236 tibequadorian
@ 2022-12-13 23:05 ` tibequadorian
2022-12-13 23:06 ` tibequadorian
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: tibequadorian @ 2022-12-13 23:05 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1249 bytes --]
There is an updated pull request by tibequadorian against master on the void-packages repository
https://github.com/tibequadorian/void-packages vulkan-1.3.236
https://github.com/void-linux/void-packages/pull/41072
Vulkan 1.3.236
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **NO**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/41072.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-vulkan-1.3.236-41072.patch --]
[-- Type: text/x-diff, Size: 30725 bytes --]
From 0bcac357f3a4539ef8222bec83385df0d400fe7c Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:31 +0100
Subject: [PATCH 1/6] SPIRV-Headers: update to 1.3.236.0.
---
| 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--git a/srcpkgs/SPIRV-Headers/template b/srcpkgs/SPIRV-Headers/template
index 8bb7d5f8b1ae..c9bda7940e83 100644
--- a/srcpkgs/SPIRV-Headers/template
+++ b/srcpkgs/SPIRV-Headers/template
@@ -1,7 +1,7 @@
# Template file for 'SPIRV-Headers'
pkgname=SPIRV-Headers
reverts="1.5.4.raytracing.fixed_1 1.5.3_2 1.5.3_1 1.5.1_1 1.4.1_1"
-version=1.3.231.1
+version=1.3.236.0
revision=1
build_style=cmake
short_desc="Machine-readable files for the SPIR-V Registry"
@@ -9,7 +9,7 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="MIT"
homepage="https://github.com/KhronosGroup/SPIRV-Headers"
distfiles="https://github.com/KhronosGroup/SPIRV-Headers/archive/sdk-${version}.tar.gz"
-checksum=fc340700b005e9a2adc98475b5afbbabd1bc931f789a2afd02d54ebc22522af3
+checksum=4d74c685fdd74469eba7c224dd671a0cb27df45fc9aa43cdd90e53bd4f2b2b78
post_install() {
vlicense LICENSE
From ee8ea2410657e3ffefe21ec21978a068f0e6302a Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:23 +0100
Subject: [PATCH 2/6] SPIRV-Tools: update to 1.3.236.0.
---
srcpkgs/SPIRV-Tools/template | 8 +++++---
srcpkgs/SPIRV-Tools/update | 1 +
2 files changed, 6 insertions(+), 3 deletions(-)
create mode 100644 srcpkgs/SPIRV-Tools/update
diff --git a/srcpkgs/SPIRV-Tools/template b/srcpkgs/SPIRV-Tools/template
index 6a280baa0c28..69264d0c41b5 100644
--- a/srcpkgs/SPIRV-Tools/template
+++ b/srcpkgs/SPIRV-Tools/template
@@ -1,6 +1,8 @@
# Template file for 'SPIRV-Tools'
pkgname=SPIRV-Tools
-version=2022.4
+version=1.3.236.0
+reverts="2022.4_1 2022.3_1 2022.1_1 2020.6_1 2020.3_1 2020.1_1 2019.4_1
+ 2019.3_1 2019.2_1 2019.1_2 2019.1_1 2018.6_1 2018.5_1 2018.2_1"
revision=1
build_style=cmake
configure_args="-DSPIRV_SKIP_TESTS=ON -DSPIRV_WERROR=OFF
@@ -12,8 +14,8 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://github.com/KhronosGroup/SPIRV-Tools"
changelog="https://raw.githubusercontent.com/KhronosGroup/SPIRV-Tools/master/CHANGES"
-distfiles="https://github.com/KhronosGroup/SPIRV-Tools/archive/v${version}.tar.gz"
-checksum=a156215a2d7c6c5b267933ed691877a9a66f07d75970da33ce9ad627a71389d7
+distfiles="https://github.com/KhronosGroup/SPIRV-Tools/archive/sdk-${version}.tar.gz"
+checksum=6789c782a8ba8fa127c3d579f9362f0cdde7a9ccc2e8513cdf217bba579dfda9
LDFLAGS="-Wl,--no-undefined"
SPIRV-Tools-devel_package() {
diff --git a/srcpkgs/SPIRV-Tools/update b/srcpkgs/SPIRV-Tools/update
new file mode 100644
index 000000000000..2fa65238787a
--- /dev/null
+++ b/srcpkgs/SPIRV-Tools/update
@@ -0,0 +1 @@
+pattern="/sdk-\K[0-9.]+(?=.tar.gz)"
From 0d758ae5d26b5b76fc5fa77c8354a2cd7abca769 Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:43 +0100
Subject: [PATCH 3/6] Vulkan-Headers: update to 1.3.236.0.
---
srcpkgs/Vulkan-Headers/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/Vulkan-Headers/template b/srcpkgs/Vulkan-Headers/template
index 071675e44522..5acc92d0488b 100644
--- a/srcpkgs/Vulkan-Headers/template
+++ b/srcpkgs/Vulkan-Headers/template
@@ -1,6 +1,6 @@
# Template file for 'Vulkan-Headers'
pkgname=Vulkan-Headers
-version=1.3.231.1
+version=1.3.236.0
revision=1
build_style=cmake
short_desc="Vulkan header files"
@@ -8,4 +8,4 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://www.khronos.org/vulkan/"
distfiles="https://github.com/KhronosGroup/Vulkan-Headers/archive/sdk-${version}.tar.gz"
-checksum=6e16051ccb28821b907a08025eedb82cc73e1056924b32f75880ecae2499f7f6
+checksum=2df85b3daa78ced7f910db870ea2aed10f718c703e18076b4549ca4005c9c451
From 2d4ed3f182655fa28faa1db6930e2b679e7c2b18 Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:48 +0100
Subject: [PATCH 4/6] Vulkan-Tools: update to 1.3.236.0.
---
.../patches/vkcube-cross-build.patch | 127 ------------------
srcpkgs/Vulkan-Tools/template | 4 +-
2 files changed, 2 insertions(+), 129 deletions(-)
delete mode 100644 srcpkgs/Vulkan-Tools/patches/vkcube-cross-build.patch
diff --git a/srcpkgs/Vulkan-Tools/patches/vkcube-cross-build.patch b/srcpkgs/Vulkan-Tools/patches/vkcube-cross-build.patch
deleted file mode 100644
index 13ea2747498c..000000000000
--- a/srcpkgs/Vulkan-Tools/patches/vkcube-cross-build.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From e8234991418c5b0536e342bc849d5f8ed9eb6d6f Mon Sep 17 00:00:00 2001
-From: Simon McVittie <smcv@collabora.com>
-Date: Wed, 9 Nov 2022 15:32:39 +0000
-Subject: [PATCH] build: Compile vkcube and other demos, even when
- cross-compiling
-
-When building software for a non-x86 processor on an x86 build machine,
-or building 32-bit software on a 64-bit build machine, it's still useful
-to compile demo programs that can be copied into the target environment
-and run there, even if they won't necessarily be runnable on the build
-machine.
-
-This also addresses a build failure when cross-compiling and attempting
-to leave the demos enabled:
-
- CMake Error at cube/CMakeLists.txt:274 (install):
- install TARGETS given target "vkcube" which does not exist.
-
-(and similar for the other demos)
-
-Resolves: https://github.com/KhronosGroup/Vulkan-Tools/issues/592
-Signed-off-by: Simon McVittie <smcv@collabora.com>
----
- cube/CMakeLists.txt | 76 +++++++++++++++++++++------------------------
- 1 file changed, 35 insertions(+), 41 deletions(-)
-
-diff --git a/cube/CMakeLists.txt b/cube/CMakeLists.txt
-index 72e0ae92b..48805b3ee 100644
---- a/cube/CMakeLists.txt
-+++ b/cube/CMakeLists.txt
-@@ -228,21 +228,19 @@ include_directories(${CUBE_INCLUDE_DIRS})
- if(APPLE)
- include(macOS/cube/cube.cmake)
- elseif(NOT WIN32)
-- if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})
-- add_executable(vkcube
-- cube.c
-- ${PROJECT_SOURCE_DIR}/cube/cube.vert
-- ${PROJECT_SOURCE_DIR}/cube/cube.frag
-- cube.vert.inc
-- cube.frag.inc
-- ${OPTIONAL_WAYLAND_DATA_FILES})
-- target_link_libraries(vkcube Vulkan::Vulkan)
-- target_compile_definitions(vkcube PUBLIC ${CUBE_PLATFORM})
-- include(CheckLibraryExists)
-- CHECK_LIBRARY_EXISTS("rt" clock_gettime "" NEED_RT)
-- if (NEED_RT)
-- target_link_libraries(vkcube rt)
-- endif()
-+ add_executable(vkcube
-+ cube.c
-+ ${PROJECT_SOURCE_DIR}/cube/cube.vert
-+ ${PROJECT_SOURCE_DIR}/cube/cube.frag
-+ cube.vert.inc
-+ cube.frag.inc
-+ ${OPTIONAL_WAYLAND_DATA_FILES})
-+ target_link_libraries(vkcube Vulkan::Vulkan)
-+ target_compile_definitions(vkcube PUBLIC ${CUBE_PLATFORM})
-+ include(CheckLibraryExists)
-+ CHECK_LIBRARY_EXISTS("rt" clock_gettime "" NEED_RT)
-+ if (NEED_RT)
-+ target_link_libraries(vkcube rt)
- endif()
- else()
- if(CMAKE_CL_64)
-@@ -280,17 +278,15 @@ endif()
- if(APPLE)
- include(macOS/cubepp/cubepp.cmake)
- elseif(NOT WIN32)
-- if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})
-- add_executable(vkcubepp
-- cube.cpp
-- ${PROJECT_SOURCE_DIR}/cube/cube.vert
-- ${PROJECT_SOURCE_DIR}/cube/cube.frag
-- cube.vert.inc
-- cube.frag.inc
-- ${OPTIONAL_WAYLAND_DATA_FILES})
-- target_link_libraries(vkcubepp Vulkan::Vulkan)
-- target_compile_definitions(vkcubepp PUBLIC ${CUBE_PLATFORM})
-- endif()
-+ add_executable(vkcubepp
-+ cube.cpp
-+ ${PROJECT_SOURCE_DIR}/cube/cube.vert
-+ ${PROJECT_SOURCE_DIR}/cube/cube.frag
-+ cube.vert.inc
-+ cube.frag.inc
-+ ${OPTIONAL_WAYLAND_DATA_FILES})
-+ target_link_libraries(vkcubepp Vulkan::Vulkan)
-+ target_compile_definitions(vkcubepp PUBLIC ${CUBE_PLATFORM})
- else()
- if(CMAKE_CL_64)
- set(LIB_DIR "Win64")
-@@ -334,21 +330,19 @@ if(UNIX AND NOT APPLE) # i.e. Linux
- ${CMAKE_CURRENT_BINARY_DIR}/xdg-decoration-code.c
- ${CMAKE_CURRENT_BINARY_DIR}/xdg-decoration-client-header.h)
- include_directories(${CMAKE_CURRENT_BINARY_DIR})
-- if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})
-- add_executable(vkcube-wayland
-- cube.c
-- ${PROJECT_SOURCE_DIR}/cube/cube.vert
-- ${PROJECT_SOURCE_DIR}/cube/cube.frag
-- cube.vert.inc
-- cube.frag.inc
-- ${OPTIONAL_WAYLAND_DATA_FILES})
-- target_link_libraries(vkcube-wayland Vulkan::Vulkan)
-- target_compile_definitions(vkcube-wayland PUBLIC VK_USE_PLATFORM_WAYLAND_KHR)
-- include(CheckLibraryExists)
-- CHECK_LIBRARY_EXISTS("rt" clock_gettime "" NEED_RT)
-- if (NEED_RT)
-- target_link_libraries(vkcube-wayland rt)
-- endif()
-+ add_executable(vkcube-wayland
-+ cube.c
-+ ${PROJECT_SOURCE_DIR}/cube/cube.vert
-+ ${PROJECT_SOURCE_DIR}/cube/cube.frag
-+ cube.vert.inc
-+ cube.frag.inc
-+ ${OPTIONAL_WAYLAND_DATA_FILES})
-+ target_link_libraries(vkcube-wayland Vulkan::Vulkan)
-+ target_compile_definitions(vkcube-wayland PUBLIC VK_USE_PLATFORM_WAYLAND_KHR)
-+ include(CheckLibraryExists)
-+ CHECK_LIBRARY_EXISTS("rt" clock_gettime "" NEED_RT)
-+ if (NEED_RT)
-+ target_link_libraries(vkcube-wayland rt)
- endif()
- install(TARGETS vkcube-wayland RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- endif()
diff --git a/srcpkgs/Vulkan-Tools/template b/srcpkgs/Vulkan-Tools/template
index 88f31cc15f74..d27f16cd5cc9 100644
--- a/srcpkgs/Vulkan-Tools/template
+++ b/srcpkgs/Vulkan-Tools/template
@@ -1,6 +1,6 @@
# Template file for 'Vulkan-Tools'
pkgname=Vulkan-Tools
-version=1.3.231.1
+version=1.3.236.0
revision=1
build_style=cmake
configure_args="-DGLSLANG_INSTALL_DIR=/usr
@@ -14,4 +14,4 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://www.khronos.org/vulkan/"
distfiles="https://github.com/KhronosGroup/Vulkan-Tools/archive/sdk-${version}.tar.gz"
-checksum=0388207fdc0986ed8e03092a16d76913c7189d87a0d71eff4a914942b16b552a
+checksum=5b0d96acce7d7354a6bc055cafeca9191cda860975390780b3146b8ab1f8a8d3
From cb74aa23260af3010124ff4f73f70604095c588a Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:58 +0100
Subject: [PATCH 5/6] Vulkan-ValidationLayers: update to 1.3.236.0.
---
srcpkgs/Vulkan-ValidationLayers/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/Vulkan-ValidationLayers/template b/srcpkgs/Vulkan-ValidationLayers/template
index 8854a202a877..2a7ae19392b6 100644
--- a/srcpkgs/Vulkan-ValidationLayers/template
+++ b/srcpkgs/Vulkan-ValidationLayers/template
@@ -1,6 +1,6 @@
# Template file for 'Vulkan-ValidationLayers'
pkgname=Vulkan-ValidationLayers
-version=1.3.231.1
+version=1.3.236.0
revision=1
build_style=cmake
configure_args="-Wno-dev -DBUILD_LAYER_SUPPORT_FILES=ON
@@ -14,4 +14,4 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://www.khronos.org/vulkan/"
distfiles="https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/sdk-${version}.tar.gz"
-checksum=ea40af0f499e7e97a86ee54410c5c78e7f7bac40f65ae09a1549773b6501bf4d
+checksum=68f2cf70b1960f85e931ef56935e6ceda1beeb214f8fa319e6b95128b02b485a
From 1aa20c99bcc4f7a6b38be235306fc190b06b1122 Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:01:02 +0100
Subject: [PATCH 6/6] vulkan-loader: update to 1.3.236.0.
---
.../patches/fix-gen_defines-cross.patch | 316 ------------------
srcpkgs/vulkan-loader/template | 4 +-
2 files changed, 2 insertions(+), 318 deletions(-)
delete mode 100644 srcpkgs/vulkan-loader/patches/fix-gen_defines-cross.patch
diff --git a/srcpkgs/vulkan-loader/patches/fix-gen_defines-cross.patch b/srcpkgs/vulkan-loader/patches/fix-gen_defines-cross.patch
deleted file mode 100644
index 3910009db2d9..000000000000
--- a/srcpkgs/vulkan-loader/patches/fix-gen_defines-cross.patch
+++ /dev/null
@@ -1,316 +0,0 @@
-From d12ff7d48181236b47f808173e044a11423c0f26 Mon Sep 17 00:00:00 2001
-From: Charles Giessen <charles@lunarg.com>
-Date: Fri, 9 Sep 2022 17:50:14 -0600
-Subject: [PATCH] Write gen_defines.asm using a python script
-
-This allows cross compilation to enable unkonwn function handling as
-gen_defines.asm will be generated without needing to run code meant for the
-target platform. Previously, asm_offset.c wrote the gen_defines.asm file
-by being run. Now, compilers emit their intermediate assembly output that the
-parse_asm_values.py script knows how to find the relevant information from.
-
-Additionally set the test framework `framework_config` build option to always
-copy, instead of copy_if_different. This is needed since cmake wouldn't update
-this file when changing from/to debug & release mode.
----
- loader/CMakeLists.txt | 36 +++++++++++--
- loader/asm_offset.c | 99 ++++++++++++----------------------
- scripts/parse_asm_values.py | 97 +++++++++++++++++++++++++++++++++
- tests/framework/CMakeLists.txt | 2 +-
- 4 files changed, 162 insertions(+), 72 deletions(-)
- create mode 100644 scripts/parse_asm_values.py
-
-diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
-index bf4308702..0be1c5df4 100644
---- a/loader/CMakeLists.txt
-+++ b/loader/CMakeLists.txt
-@@ -157,13 +157,25 @@ if(WIN32)
- endif()
-
- add_executable(asm_offset asm_offset.c)
-- target_link_libraries(asm_offset loader_specific_options)
-- add_custom_command(OUTPUT gen_defines.asm DEPENDS asm_offset COMMAND asm_offset MASM)
-+ target_link_libraries(asm_offset PRIVATE loader_specific_options)
-+ # Forces compiler to write the intermediate asm file, needed so that we can get sizeof/offset of info out of it.
-+ target_compile_options(asm_offset PRIVATE "/Fa$<TARGET_FILE_DIR:asm_offset>/asm_offset.asm" /FA)
-+ # Force off optimization so that the output assembly includes all the necessary info - optimizer would get rid of it otherwise.
-+ target_compile_options(asm_offset PRIVATE /Od)
-+
-+ find_package(PythonInterp REQUIRED)
-+ # Run parse_asm_values.py on asm_offset's assembly file to generate the gen_defines.asm, which the asm code depends on
-+ add_custom_command(TARGET asm_offset POST_BUILD
-+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/scripts/parse_asm_values.py "${CMAKE_CURRENT_BINARY_DIR}/gen_defines.asm"
-+ "$<TARGET_FILE_DIR:asm_offset>/asm_offset.asm" "MASM" "${CMAKE_CXX_COMPILER_ID}" "${CMAKE_SYSTEM_PROCESSOR}"
-+ BYPRODUCTS gen_defines.asm
-+ )
- add_custom_target(loader_asm_gen_files DEPENDS gen_defines.asm)
- set_target_properties(loader_asm_gen_files PROPERTIES FOLDER ${LOADER_HELPER_FOLDER})
-+
- add_library(loader-unknown-chain OBJECT unknown_ext_chain_masm.asm)
- target_link_libraries(loader-unknown-chain Vulkan::Headers)
-- target_include_directories(loader-unknown-chain PUBLIC $<TARGET_PROPERTY:loader_asm_gen_files,BINARY_DIR>)
-+ target_include_directories(loader-unknown-chain PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
- add_dependencies(loader-unknown-chain loader_asm_gen_files)
- else()
- message(WARNING "Could not find working MASM assembler\n${ASM_FAILURE_MSG}")
-@@ -204,9 +216,23 @@ else() # i.e.: Linux
- endif()
-
- if(ASSEMBLER_WORKS)
-- add_executable(asm_offset asm_offset.c)
-+ add_library(asm_offset STATIC asm_offset.c)
- target_link_libraries(asm_offset loader_specific_options)
-- add_custom_command(OUTPUT gen_defines.asm DEPENDS asm_offset COMMAND asm_offset GAS)
-+ # Forces compiler to write the intermediate asm file, needed so that we can get sizeof/offset of info out of it.
-+ target_compile_options(asm_offset PRIVATE -save-temps=obj)
-+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
-+ set(ASM_OFFSET_INTERMEDIATE_LOCATION "$<TARGET_FILE_DIR:asm_offset>/CMakeFiles/asm_offset.dir/asm_offset.c.s")
-+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
-+ set(ASM_OFFSET_INTERMEDIATE_LOCATION "$<TARGET_FILE_DIR:asm_offset>/CMakeFiles/asm_offset.dir/asm_offset.s")
-+ endif()
-+
-+ find_package(PythonInterp REQUIRED)
-+ # Run parse_asm_values.py on asm_offset's assembly file to generate the gen_defines.asm, which the asm code depends on
-+ add_custom_command(TARGET asm_offset POST_BUILD
-+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/scripts/parse_asm_values.py "$<TARGET_FILE_DIR:asm_offset>/gen_defines.asm"
-+ "${ASM_OFFSET_INTERMEDIATE_LOCATION}" "GAS" "${CMAKE_CXX_COMPILER_ID}" "${CMAKE_SYSTEM_PROCESSOR}"
-+ BYPRODUCTS gen_defines.asm
-+ )
- add_custom_target(loader_asm_gen_files DEPENDS gen_defines.asm)
- else()
- if(USE_GAS)
-diff --git a/loader/asm_offset.c b/loader/asm_offset.c
-index 80b71065c..82230b7d5 100644
---- a/loader/asm_offset.c
-+++ b/loader/asm_offset.c
-@@ -26,6 +26,36 @@
- #include "loader_common.h"
- #include "log.h"
-
-+#if defined(__GNUC__) || defined(__clang__)
-+void produce_asm_define() {
-+ // GCC and clang make it easy to print easy to regex for values
-+ __asm__("# VULKAN_LOADER_ERROR_BIT = %c0" : : "i"(VULKAN_LOADER_ERROR_BIT));
-+ __asm__("# PTR_SIZE = %c0" : : "i"(sizeof(void *)));
-+ __asm__("# CHAR_PTR_SIZE = %c0" : : "i"(sizeof(char *)));
-+ __asm__("# FUNCTION_OFFSET_INSTANCE = %c0" : : "i"(offsetof(struct loader_instance, phys_dev_ext_disp_functions)));
-+ __asm__("# PHYS_DEV_OFFSET_INST_DISPATCH = %c0" : : "i"(offsetof(struct loader_instance_dispatch_table, phys_dev_ext)));
-+ __asm__("# PHYS_DEV_OFFSET_PHYS_DEV_TRAMP = %c0" : : "i"(offsetof(struct loader_physical_device_tramp, phys_dev)));
-+ __asm__("# ICD_TERM_OFFSET_PHYS_DEV_TERM = %c0" : : "i"(offsetof(struct loader_physical_device_term, this_icd_term)));
-+ __asm__("# PHYS_DEV_OFFSET_PHYS_DEV_TERM = %c0" : : "i"(offsetof(struct loader_physical_device_term, phys_dev)));
-+ __asm__("# INSTANCE_OFFSET_ICD_TERM = %c0" : : "i"(offsetof(struct loader_icd_term, this_instance)));
-+ __asm__("# DISPATCH_OFFSET_ICD_TERM = %c0" : : "i"(offsetof(struct loader_icd_term, phys_dev_ext)));
-+ __asm__("# EXT_OFFSET_DEVICE_DISPATCH = %c0" : : "i"(offsetof(struct loader_dev_dispatch_table, ext_dispatch)));
-+}
-+#elif defined(_WIN32)
-+// MSVC will print the name of the value and the value in hex
-+// Must disable optimization for this translation unit, otherwise the compiler strips out the variables
-+static const uint32_t PTR_SIZE = sizeof(void *);
-+static const uint32_t CHAR_PTR_SIZE = sizeof(char *);
-+static const uint32_t FUNCTION_OFFSET_INSTANCE = offsetof(struct loader_instance, phys_dev_ext_disp_functions);
-+static const uint32_t PHYS_DEV_OFFSET_INST_DISPATCH = offsetof(struct loader_instance_dispatch_table, phys_dev_ext);
-+static const uint32_t PHYS_DEV_OFFSET_PHYS_DEV_TRAMP = offsetof(struct loader_physical_device_tramp, phys_dev);
-+static const uint32_t ICD_TERM_OFFSET_PHYS_DEV_TERM = offsetof(struct loader_physical_device_term, this_icd_term);
-+static const uint32_t PHYS_DEV_OFFSET_PHYS_DEV_TERM = offsetof(struct loader_physical_device_term, phys_dev);
-+static const uint32_t INSTANCE_OFFSET_ICD_TERM = offsetof(struct loader_icd_term, this_instance);
-+static const uint32_t DISPATCH_OFFSET_ICD_TERM = offsetof(struct loader_icd_term, phys_dev_ext);
-+static const uint32_t EXT_OFFSET_DEVICE_DISPATCH = offsetof(struct loader_dev_dispatch_table, ext_dispatch);
-+#endif
-+
- #if !defined(_MSC_VER) || (_MSC_VER >= 1900)
- #define SIZE_T_FMT "%-8zu"
- #else
-@@ -38,69 +68,6 @@ struct ValueInfo {
- const char *comment;
- };
-
--int main(int argc, char **argv) {
-- const char *assembler = NULL;
-- for (int i = 0; i < argc; ++i) {
-- if (!strcmp(argv[i], "MASM")) {
-- assembler = "MASM";
-- } else if (!strcmp(argv[i], "GAS")) {
-- assembler = "GAS";
-- }
-- }
-- if (assembler == NULL) {
-- return 1;
-- }
--
-- struct ValueInfo values[] = {
-- // clang-format off
-- { .name = "VULKAN_LOADER_ERROR_BIT", .value = (size_t) VULKAN_LOADER_ERROR_BIT,
-- .comment = "The numerical value of the enum value 'VULKAN_LOADER_ERROR_BIT'" },
-- { .name = "PTR_SIZE", .value = sizeof(void*),
-- .comment = "The size of a pointer" },
-- { .name = "CHAR_PTR_SIZE", .value = sizeof(char *),
-- .comment = "The size of a 'const char *' struct" },
-- { .name = "FUNCTION_OFFSET_INSTANCE", .value = offsetof(struct loader_instance, phys_dev_ext_disp_functions),
-- .comment = "The offset of 'phys_dev_ext_disp_functions' within a 'loader_instance' struct" },
-- { .name = "PHYS_DEV_OFFSET_INST_DISPATCH", .value = offsetof(struct loader_instance_dispatch_table, phys_dev_ext),
-- .comment = "The offset of 'phys_dev_ext' within in 'loader_instance_dispatch_table' struct" },
-- { .name = "PHYS_DEV_OFFSET_PHYS_DEV_TRAMP", .value = offsetof(struct loader_physical_device_tramp, phys_dev),
-- .comment = "The offset of 'phys_dev' within a 'loader_physical_device_tramp' struct" },
-- { .name = "ICD_TERM_OFFSET_PHYS_DEV_TERM", .value = offsetof(struct loader_physical_device_term, this_icd_term),
-- .comment = "The offset of 'this_icd_term' within a 'loader_physical_device_term' struct" },
-- { .name = "PHYS_DEV_OFFSET_PHYS_DEV_TERM", .value = offsetof(struct loader_physical_device_term, phys_dev),
-- .comment = "The offset of 'phys_dev' within a 'loader_physical_device_term' struct" },
-- { .name = "INSTANCE_OFFSET_ICD_TERM", .value = offsetof(struct loader_icd_term, this_instance),
-- .comment = "The offset of 'this_instance' within a 'loader_icd_term' struct" },
-- { .name = "DISPATCH_OFFSET_ICD_TERM", .value = offsetof(struct loader_icd_term, phys_dev_ext),
-- .comment = "The offset of 'phys_dev_ext' within a 'loader_icd_term' struct" },
-- { .name = "EXT_OFFSET_DEVICE_DISPATCH", .value = offsetof(struct loader_dev_dispatch_table, ext_dispatch),
-- .comment = "The offset of 'ext_dispatch' within a 'loader_dev_dispatch_table' struct" },
-- // clang-format on
-- };
--
-- FILE *file = fopen("gen_defines.asm", "w");
-- fprintf(file, "\n");
-- if (!strcmp(assembler, "MASM")) {
-- for (size_t i = 0; i < sizeof(values) / sizeof(values[0]); ++i) {
-- fprintf(file, "%-32s equ " SIZE_T_FMT "; %s\n", values[i].name, values[i].value, values[i].comment);
-- }
-- } else if (!strcmp(assembler, "GAS")) {
--#if defined(__x86_64__) || defined(__i386__)
-- const char *comment_delimiter = "#";
--#if defined(__x86_64__)
-- fprintf(file, ".set X86_64, 1\n");
--#endif // defined(__x86_64__)
--#elif defined(__aarch64__)
-- const char *comment_delimiter = "//";
-- fprintf(file, ".set AARCH_64, 1\n");
--#else
-- // Default comment delimiter
-- const char *comment_delimiter = "#";
--#endif
-- for (size_t i = 0; i < sizeof(values) / sizeof(values[0]); ++i) {
-- fprintf(file, ".set %-32s, " SIZE_T_FMT "%s %s\n", values[i].name, values[i].value, comment_delimiter,
-- values[i].comment);
-- }
-- }
-- return fclose(file);
--}
-+// This file is not intended to be executed, as the generated asm contains all the relevant data which
-+// the parse_asm_values.py script needs to write gen_defines.asm
-+int main(int argc, char **argv) { return 0; }
-diff --git a/scripts/parse_asm_values.py b/scripts/parse_asm_values.py
-new file mode 100644
-index 000000000..bff263d2a
---- /dev/null
-+++ b/scripts/parse_asm_values.py
-@@ -0,0 +1,97 @@
-+#!/usr/bin/python3 -i
-+#
-+# Copyright (c) 2022 The Khronos Group Inc.
-+# Copyright (c) 2022 LunarG, Inc.
-+
-+# Licensed under the Apache License, Version 2.0 (the "License");
-+# you may not use this file except in compliance with the License.
-+# You may obtain a copy of the License at
-+#
-+# http://www.apache.org/licenses/LICENSE-2.0
-+#
-+# Unless required by applicable law or agreed to in writing, software
-+# distributed under the License is distributed on an "AS IS" BASIS,
-+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+# See the License for the specific language governing permissions and
-+# limitations under the License.
-+#
-+# Author: Charles Giessen <charles@lunarg.com>
-+
-+# This script reads in the 'intermediate output' of a compiler to look for sizeof/offsetof information
-+# necessary for the assembler portions of the loader. This is achieved by forcing the compiler to output
-+# the intermediate assembly output and looking for specific patterns which contain the relevant information
-+
-+import sys
-+import os.path
-+from os.path import exists
-+import re
-+
-+
-+# Where to write the "gen_defines.asm" file
-+destination_file = sys.argv[1]
-+# The location the build system puts the intermediate asm file which depends on the compiler
-+source_asm_file = sys.argv[2]
-+# Whether we are using "MASM" or "GAS" for the assembler
-+assembler_type = sys.argv[3]
-+# Whether we are using gcc, clang, or msvc
-+compiler = sys.argv[4]
-+# taken from CMAKE_SYSTEM_PROCESSOR - x86_64 or aarch64
-+arch = sys.argv[5]
-+
-+if destination_file is None or source_asm_file is None or assembler_type is None or compiler is None or arch is None:
-+ print("Required command line arguments were not provided")
-+ sys.exit(1)
-+
-+defines = ["VULKAN_LOADER_ERROR_BIT",
-+ "PTR_SIZE",
-+ "CHAR_PTR_SIZE",
-+ "FUNCTION_OFFSET_INSTANCE",
-+ "PHYS_DEV_OFFSET_INST_DISPATCH",
-+ "PHYS_DEV_OFFSET_PHYS_DEV_TRAMP",
-+ "ICD_TERM_OFFSET_PHYS_DEV_TERM",
-+ "PHYS_DEV_OFFSET_PHYS_DEV_TERM",
-+ "INSTANCE_OFFSET_ICD_TERM",
-+ "DISPATCH_OFFSET_ICD_TERM",
-+ "EXT_OFFSET_DEVICE_DISPATCH" ]
-+
-+try:
-+ with open(source_asm_file, 'r') as f:
-+ asm_intermediate_file = f.read()
-+except IOError:
-+ print("Could not open assembler file:", source_asm_file)
-+ sys.exit(1)
-+
-+with open(destination_file, "w", encoding="utf-8") as dest:
-+ if assembler_type == "MASM":
-+ # special case vulkan error bit due to it not appearing in the asm - its defined in the header as 8 so it shouldn't change
-+ dest.write("VULKAN_LOADER_ERROR_BIT equ 8;\n")
-+ elif assembler_type == "GAS":
-+ # let the assembler know which platform to use
-+ if arch == "x86_64":
-+ dest.write(".set X86_64, 1\n")
-+ elif arch == "aarch64":
-+ dest.write(".set AARCH_64, 1\n")
-+
-+ for d in defines:
-+ match = None
-+ if compiler == "MSVC":
-+ if d == "VULKAN_LOADER_ERROR_BIT":
-+ continue # skip due to special case
-+ match = re.search(d + " DD [ ]*([0-9a-f]+)H", asm_intermediate_file)
-+ elif compiler == "Clang" or compiler == "GNU":
-+ match = re.search(d + " = ([0-9]+)", asm_intermediate_file)
-+
-+ if match:
-+ if compiler == "MSVC":
-+ value = str(int(match.group(1), 16))
-+ elif compiler == "Clang" or compiler == "GNU":
-+ value = match.group(1)
-+ if assembler_type == "MASM":
-+ # MASM uses hex values, decode them here
-+ dest.write(d + " equ " + value +";\n")
-+ elif assembler_type == "GAS":
-+ dest.write(".set " + d + ", " + value + "\n")
-+ else:
-+ print("Couldn't find ", d)
-+ sys.exit(1)
-+
-diff --git a/tests/framework/CMakeLists.txt b/tests/framework/CMakeLists.txt
-index 1ecc82cfd..3aedff55a 100644
---- a/tests/framework/CMakeLists.txt
-+++ b/tests/framework/CMakeLists.txt
-@@ -85,12 +85,12 @@ add_custom_command(
- PRE_BUILD
- COMMAND ${CMAKE_COMMAND} "-E" "copy_if_different" "${CMAKE_CURRENT_BINARY_DIR}/framework_config_$<CONFIG>.h" "${CMAKE_CURRENT_BINARY_DIR}/framework_config.h"
- VERBATIM
-- PRE_BUILD
- DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/framework_config_$<CONFIG>.h"
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/framework_config.h"
- COMMENT "creating framework_config.h file ({event: PRE_BUILD}, {filename: framework_config.h })"
- )
- add_custom_target (generate_framework_config DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/framework_config.h")
-+add_dependencies (generate_framework_config vulkan)
- add_dependencies (testing_framework_util generate_framework_config)
-
- add_library(testing_dependencies STATIC test_environment.cpp test_environment.h)
diff --git a/srcpkgs/vulkan-loader/template b/srcpkgs/vulkan-loader/template
index b93c4b9dc636..ab5b83e6ceae 100644
--- a/srcpkgs/vulkan-loader/template
+++ b/srcpkgs/vulkan-loader/template
@@ -1,6 +1,6 @@
# Template file for 'vulkan-loader'
pkgname=vulkan-loader
-version=1.3.231.2
+version=1.3.236.0
revision=1
build_style=cmake
configure_args="-Wno-dev -DVULKAN_HEADERS_INSTALL_DIR=${XBPS_CROSS_BASE}/usr
@@ -13,4 +13,4 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://www.khronos.org/vulkan/"
distfiles="https://github.com/KhronosGroup/Vulkan-Loader/archive/sdk-${version}.tar.gz"
-checksum=d9d103a6481a19ab9c9b880c1264e3026931741d3184b9930157551453bd4f92
+checksum=157d2230b50bb5be3ef9b9467aa90d1c109d5f188a49b11f741246d7ca583bf3
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PR PATCH] [Updated] Vulkan 1.3.236
2022-12-13 23:03 [PR PATCH] Vulkan 1.3.236 tibequadorian
2022-12-13 23:05 ` [PR PATCH] [Updated] " tibequadorian
@ 2022-12-13 23:06 ` tibequadorian
2023-04-26 1:53 ` github-actions
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: tibequadorian @ 2022-12-13 23:06 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1249 bytes --]
There is an updated pull request by tibequadorian against master on the void-packages repository
https://github.com/tibequadorian/void-packages vulkan-1.3.236
https://github.com/void-linux/void-packages/pull/41072
Vulkan 1.3.236
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **NO**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/41072.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-vulkan-1.3.236-41072.patch --]
[-- Type: text/x-diff, Size: 30725 bytes --]
From 0bcac357f3a4539ef8222bec83385df0d400fe7c Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:31 +0100
Subject: [PATCH 1/6] SPIRV-Headers: update to 1.3.236.0.
---
| 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--git a/srcpkgs/SPIRV-Headers/template b/srcpkgs/SPIRV-Headers/template
index 8bb7d5f8b1ae..c9bda7940e83 100644
--- a/srcpkgs/SPIRV-Headers/template
+++ b/srcpkgs/SPIRV-Headers/template
@@ -1,7 +1,7 @@
# Template file for 'SPIRV-Headers'
pkgname=SPIRV-Headers
reverts="1.5.4.raytracing.fixed_1 1.5.3_2 1.5.3_1 1.5.1_1 1.4.1_1"
-version=1.3.231.1
+version=1.3.236.0
revision=1
build_style=cmake
short_desc="Machine-readable files for the SPIR-V Registry"
@@ -9,7 +9,7 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="MIT"
homepage="https://github.com/KhronosGroup/SPIRV-Headers"
distfiles="https://github.com/KhronosGroup/SPIRV-Headers/archive/sdk-${version}.tar.gz"
-checksum=fc340700b005e9a2adc98475b5afbbabd1bc931f789a2afd02d54ebc22522af3
+checksum=4d74c685fdd74469eba7c224dd671a0cb27df45fc9aa43cdd90e53bd4f2b2b78
post_install() {
vlicense LICENSE
From c766a85fe2ee7528827da310262b875bfd571280 Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:23 +0100
Subject: [PATCH 2/6] SPIRV-Tools: update to 1.3.236.0.
---
srcpkgs/SPIRV-Tools/template | 8 +++++---
srcpkgs/SPIRV-Tools/update | 1 +
2 files changed, 6 insertions(+), 3 deletions(-)
create mode 100644 srcpkgs/SPIRV-Tools/update
diff --git a/srcpkgs/SPIRV-Tools/template b/srcpkgs/SPIRV-Tools/template
index 6a280baa0c28..93f64605374b 100644
--- a/srcpkgs/SPIRV-Tools/template
+++ b/srcpkgs/SPIRV-Tools/template
@@ -1,6 +1,8 @@
# Template file for 'SPIRV-Tools'
pkgname=SPIRV-Tools
-version=2022.4
+reverts="2022.4_1 2022.3_1 2022.1_1 2020.6_1 2020.3_1 2020.1_1 2019.4_1
+ 2019.3_1 2019.2_1 2019.1_2 2019.1_1 2018.6_1 2018.5_1 2018.2_1"
+version=1.3.236.0
revision=1
build_style=cmake
configure_args="-DSPIRV_SKIP_TESTS=ON -DSPIRV_WERROR=OFF
@@ -12,8 +14,8 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://github.com/KhronosGroup/SPIRV-Tools"
changelog="https://raw.githubusercontent.com/KhronosGroup/SPIRV-Tools/master/CHANGES"
-distfiles="https://github.com/KhronosGroup/SPIRV-Tools/archive/v${version}.tar.gz"
-checksum=a156215a2d7c6c5b267933ed691877a9a66f07d75970da33ce9ad627a71389d7
+distfiles="https://github.com/KhronosGroup/SPIRV-Tools/archive/sdk-${version}.tar.gz"
+checksum=6789c782a8ba8fa127c3d579f9362f0cdde7a9ccc2e8513cdf217bba579dfda9
LDFLAGS="-Wl,--no-undefined"
SPIRV-Tools-devel_package() {
diff --git a/srcpkgs/SPIRV-Tools/update b/srcpkgs/SPIRV-Tools/update
new file mode 100644
index 000000000000..2fa65238787a
--- /dev/null
+++ b/srcpkgs/SPIRV-Tools/update
@@ -0,0 +1 @@
+pattern="/sdk-\K[0-9.]+(?=.tar.gz)"
From c5e766c2fece1bb155dfd50e3351d72758123169 Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:43 +0100
Subject: [PATCH 3/6] Vulkan-Headers: update to 1.3.236.0.
---
srcpkgs/Vulkan-Headers/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/Vulkan-Headers/template b/srcpkgs/Vulkan-Headers/template
index 071675e44522..5acc92d0488b 100644
--- a/srcpkgs/Vulkan-Headers/template
+++ b/srcpkgs/Vulkan-Headers/template
@@ -1,6 +1,6 @@
# Template file for 'Vulkan-Headers'
pkgname=Vulkan-Headers
-version=1.3.231.1
+version=1.3.236.0
revision=1
build_style=cmake
short_desc="Vulkan header files"
@@ -8,4 +8,4 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://www.khronos.org/vulkan/"
distfiles="https://github.com/KhronosGroup/Vulkan-Headers/archive/sdk-${version}.tar.gz"
-checksum=6e16051ccb28821b907a08025eedb82cc73e1056924b32f75880ecae2499f7f6
+checksum=2df85b3daa78ced7f910db870ea2aed10f718c703e18076b4549ca4005c9c451
From aff0187d957c100c4154c597b6888ac957fb2fb2 Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:48 +0100
Subject: [PATCH 4/6] Vulkan-Tools: update to 1.3.236.0.
---
.../patches/vkcube-cross-build.patch | 127 ------------------
srcpkgs/Vulkan-Tools/template | 4 +-
2 files changed, 2 insertions(+), 129 deletions(-)
delete mode 100644 srcpkgs/Vulkan-Tools/patches/vkcube-cross-build.patch
diff --git a/srcpkgs/Vulkan-Tools/patches/vkcube-cross-build.patch b/srcpkgs/Vulkan-Tools/patches/vkcube-cross-build.patch
deleted file mode 100644
index 13ea2747498c..000000000000
--- a/srcpkgs/Vulkan-Tools/patches/vkcube-cross-build.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From e8234991418c5b0536e342bc849d5f8ed9eb6d6f Mon Sep 17 00:00:00 2001
-From: Simon McVittie <smcv@collabora.com>
-Date: Wed, 9 Nov 2022 15:32:39 +0000
-Subject: [PATCH] build: Compile vkcube and other demos, even when
- cross-compiling
-
-When building software for a non-x86 processor on an x86 build machine,
-or building 32-bit software on a 64-bit build machine, it's still useful
-to compile demo programs that can be copied into the target environment
-and run there, even if they won't necessarily be runnable on the build
-machine.
-
-This also addresses a build failure when cross-compiling and attempting
-to leave the demos enabled:
-
- CMake Error at cube/CMakeLists.txt:274 (install):
- install TARGETS given target "vkcube" which does not exist.
-
-(and similar for the other demos)
-
-Resolves: https://github.com/KhronosGroup/Vulkan-Tools/issues/592
-Signed-off-by: Simon McVittie <smcv@collabora.com>
----
- cube/CMakeLists.txt | 76 +++++++++++++++++++++------------------------
- 1 file changed, 35 insertions(+), 41 deletions(-)
-
-diff --git a/cube/CMakeLists.txt b/cube/CMakeLists.txt
-index 72e0ae92b..48805b3ee 100644
---- a/cube/CMakeLists.txt
-+++ b/cube/CMakeLists.txt
-@@ -228,21 +228,19 @@ include_directories(${CUBE_INCLUDE_DIRS})
- if(APPLE)
- include(macOS/cube/cube.cmake)
- elseif(NOT WIN32)
-- if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})
-- add_executable(vkcube
-- cube.c
-- ${PROJECT_SOURCE_DIR}/cube/cube.vert
-- ${PROJECT_SOURCE_DIR}/cube/cube.frag
-- cube.vert.inc
-- cube.frag.inc
-- ${OPTIONAL_WAYLAND_DATA_FILES})
-- target_link_libraries(vkcube Vulkan::Vulkan)
-- target_compile_definitions(vkcube PUBLIC ${CUBE_PLATFORM})
-- include(CheckLibraryExists)
-- CHECK_LIBRARY_EXISTS("rt" clock_gettime "" NEED_RT)
-- if (NEED_RT)
-- target_link_libraries(vkcube rt)
-- endif()
-+ add_executable(vkcube
-+ cube.c
-+ ${PROJECT_SOURCE_DIR}/cube/cube.vert
-+ ${PROJECT_SOURCE_DIR}/cube/cube.frag
-+ cube.vert.inc
-+ cube.frag.inc
-+ ${OPTIONAL_WAYLAND_DATA_FILES})
-+ target_link_libraries(vkcube Vulkan::Vulkan)
-+ target_compile_definitions(vkcube PUBLIC ${CUBE_PLATFORM})
-+ include(CheckLibraryExists)
-+ CHECK_LIBRARY_EXISTS("rt" clock_gettime "" NEED_RT)
-+ if (NEED_RT)
-+ target_link_libraries(vkcube rt)
- endif()
- else()
- if(CMAKE_CL_64)
-@@ -280,17 +278,15 @@ endif()
- if(APPLE)
- include(macOS/cubepp/cubepp.cmake)
- elseif(NOT WIN32)
-- if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})
-- add_executable(vkcubepp
-- cube.cpp
-- ${PROJECT_SOURCE_DIR}/cube/cube.vert
-- ${PROJECT_SOURCE_DIR}/cube/cube.frag
-- cube.vert.inc
-- cube.frag.inc
-- ${OPTIONAL_WAYLAND_DATA_FILES})
-- target_link_libraries(vkcubepp Vulkan::Vulkan)
-- target_compile_definitions(vkcubepp PUBLIC ${CUBE_PLATFORM})
-- endif()
-+ add_executable(vkcubepp
-+ cube.cpp
-+ ${PROJECT_SOURCE_DIR}/cube/cube.vert
-+ ${PROJECT_SOURCE_DIR}/cube/cube.frag
-+ cube.vert.inc
-+ cube.frag.inc
-+ ${OPTIONAL_WAYLAND_DATA_FILES})
-+ target_link_libraries(vkcubepp Vulkan::Vulkan)
-+ target_compile_definitions(vkcubepp PUBLIC ${CUBE_PLATFORM})
- else()
- if(CMAKE_CL_64)
- set(LIB_DIR "Win64")
-@@ -334,21 +330,19 @@ if(UNIX AND NOT APPLE) # i.e. Linux
- ${CMAKE_CURRENT_BINARY_DIR}/xdg-decoration-code.c
- ${CMAKE_CURRENT_BINARY_DIR}/xdg-decoration-client-header.h)
- include_directories(${CMAKE_CURRENT_BINARY_DIR})
-- if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})
-- add_executable(vkcube-wayland
-- cube.c
-- ${PROJECT_SOURCE_DIR}/cube/cube.vert
-- ${PROJECT_SOURCE_DIR}/cube/cube.frag
-- cube.vert.inc
-- cube.frag.inc
-- ${OPTIONAL_WAYLAND_DATA_FILES})
-- target_link_libraries(vkcube-wayland Vulkan::Vulkan)
-- target_compile_definitions(vkcube-wayland PUBLIC VK_USE_PLATFORM_WAYLAND_KHR)
-- include(CheckLibraryExists)
-- CHECK_LIBRARY_EXISTS("rt" clock_gettime "" NEED_RT)
-- if (NEED_RT)
-- target_link_libraries(vkcube-wayland rt)
-- endif()
-+ add_executable(vkcube-wayland
-+ cube.c
-+ ${PROJECT_SOURCE_DIR}/cube/cube.vert
-+ ${PROJECT_SOURCE_DIR}/cube/cube.frag
-+ cube.vert.inc
-+ cube.frag.inc
-+ ${OPTIONAL_WAYLAND_DATA_FILES})
-+ target_link_libraries(vkcube-wayland Vulkan::Vulkan)
-+ target_compile_definitions(vkcube-wayland PUBLIC VK_USE_PLATFORM_WAYLAND_KHR)
-+ include(CheckLibraryExists)
-+ CHECK_LIBRARY_EXISTS("rt" clock_gettime "" NEED_RT)
-+ if (NEED_RT)
-+ target_link_libraries(vkcube-wayland rt)
- endif()
- install(TARGETS vkcube-wayland RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- endif()
diff --git a/srcpkgs/Vulkan-Tools/template b/srcpkgs/Vulkan-Tools/template
index 88f31cc15f74..d27f16cd5cc9 100644
--- a/srcpkgs/Vulkan-Tools/template
+++ b/srcpkgs/Vulkan-Tools/template
@@ -1,6 +1,6 @@
# Template file for 'Vulkan-Tools'
pkgname=Vulkan-Tools
-version=1.3.231.1
+version=1.3.236.0
revision=1
build_style=cmake
configure_args="-DGLSLANG_INSTALL_DIR=/usr
@@ -14,4 +14,4 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://www.khronos.org/vulkan/"
distfiles="https://github.com/KhronosGroup/Vulkan-Tools/archive/sdk-${version}.tar.gz"
-checksum=0388207fdc0986ed8e03092a16d76913c7189d87a0d71eff4a914942b16b552a
+checksum=5b0d96acce7d7354a6bc055cafeca9191cda860975390780b3146b8ab1f8a8d3
From d7735ecaee885087d519e92f5aeeb0f52b286738 Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:00:58 +0100
Subject: [PATCH 5/6] Vulkan-ValidationLayers: update to 1.3.236.0.
---
srcpkgs/Vulkan-ValidationLayers/template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/Vulkan-ValidationLayers/template b/srcpkgs/Vulkan-ValidationLayers/template
index 8854a202a877..2a7ae19392b6 100644
--- a/srcpkgs/Vulkan-ValidationLayers/template
+++ b/srcpkgs/Vulkan-ValidationLayers/template
@@ -1,6 +1,6 @@
# Template file for 'Vulkan-ValidationLayers'
pkgname=Vulkan-ValidationLayers
-version=1.3.231.1
+version=1.3.236.0
revision=1
build_style=cmake
configure_args="-Wno-dev -DBUILD_LAYER_SUPPORT_FILES=ON
@@ -14,4 +14,4 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://www.khronos.org/vulkan/"
distfiles="https://github.com/KhronosGroup/Vulkan-ValidationLayers/archive/sdk-${version}.tar.gz"
-checksum=ea40af0f499e7e97a86ee54410c5c78e7f7bac40f65ae09a1549773b6501bf4d
+checksum=68f2cf70b1960f85e931ef56935e6ceda1beeb214f8fa319e6b95128b02b485a
From 83cf981e29192f7e107db99740f4d025f09075cb Mon Sep 17 00:00:00 2001
From: tibequadorian <tibequadorian@posteo.de>
Date: Wed, 14 Dec 2022 00:01:02 +0100
Subject: [PATCH 6/6] vulkan-loader: update to 1.3.236.0.
---
.../patches/fix-gen_defines-cross.patch | 316 ------------------
srcpkgs/vulkan-loader/template | 4 +-
2 files changed, 2 insertions(+), 318 deletions(-)
delete mode 100644 srcpkgs/vulkan-loader/patches/fix-gen_defines-cross.patch
diff --git a/srcpkgs/vulkan-loader/patches/fix-gen_defines-cross.patch b/srcpkgs/vulkan-loader/patches/fix-gen_defines-cross.patch
deleted file mode 100644
index 3910009db2d9..000000000000
--- a/srcpkgs/vulkan-loader/patches/fix-gen_defines-cross.patch
+++ /dev/null
@@ -1,316 +0,0 @@
-From d12ff7d48181236b47f808173e044a11423c0f26 Mon Sep 17 00:00:00 2001
-From: Charles Giessen <charles@lunarg.com>
-Date: Fri, 9 Sep 2022 17:50:14 -0600
-Subject: [PATCH] Write gen_defines.asm using a python script
-
-This allows cross compilation to enable unkonwn function handling as
-gen_defines.asm will be generated without needing to run code meant for the
-target platform. Previously, asm_offset.c wrote the gen_defines.asm file
-by being run. Now, compilers emit their intermediate assembly output that the
-parse_asm_values.py script knows how to find the relevant information from.
-
-Additionally set the test framework `framework_config` build option to always
-copy, instead of copy_if_different. This is needed since cmake wouldn't update
-this file when changing from/to debug & release mode.
----
- loader/CMakeLists.txt | 36 +++++++++++--
- loader/asm_offset.c | 99 ++++++++++++----------------------
- scripts/parse_asm_values.py | 97 +++++++++++++++++++++++++++++++++
- tests/framework/CMakeLists.txt | 2 +-
- 4 files changed, 162 insertions(+), 72 deletions(-)
- create mode 100644 scripts/parse_asm_values.py
-
-diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
-index bf4308702..0be1c5df4 100644
---- a/loader/CMakeLists.txt
-+++ b/loader/CMakeLists.txt
-@@ -157,13 +157,25 @@ if(WIN32)
- endif()
-
- add_executable(asm_offset asm_offset.c)
-- target_link_libraries(asm_offset loader_specific_options)
-- add_custom_command(OUTPUT gen_defines.asm DEPENDS asm_offset COMMAND asm_offset MASM)
-+ target_link_libraries(asm_offset PRIVATE loader_specific_options)
-+ # Forces compiler to write the intermediate asm file, needed so that we can get sizeof/offset of info out of it.
-+ target_compile_options(asm_offset PRIVATE "/Fa$<TARGET_FILE_DIR:asm_offset>/asm_offset.asm" /FA)
-+ # Force off optimization so that the output assembly includes all the necessary info - optimizer would get rid of it otherwise.
-+ target_compile_options(asm_offset PRIVATE /Od)
-+
-+ find_package(PythonInterp REQUIRED)
-+ # Run parse_asm_values.py on asm_offset's assembly file to generate the gen_defines.asm, which the asm code depends on
-+ add_custom_command(TARGET asm_offset POST_BUILD
-+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/scripts/parse_asm_values.py "${CMAKE_CURRENT_BINARY_DIR}/gen_defines.asm"
-+ "$<TARGET_FILE_DIR:asm_offset>/asm_offset.asm" "MASM" "${CMAKE_CXX_COMPILER_ID}" "${CMAKE_SYSTEM_PROCESSOR}"
-+ BYPRODUCTS gen_defines.asm
-+ )
- add_custom_target(loader_asm_gen_files DEPENDS gen_defines.asm)
- set_target_properties(loader_asm_gen_files PROPERTIES FOLDER ${LOADER_HELPER_FOLDER})
-+
- add_library(loader-unknown-chain OBJECT unknown_ext_chain_masm.asm)
- target_link_libraries(loader-unknown-chain Vulkan::Headers)
-- target_include_directories(loader-unknown-chain PUBLIC $<TARGET_PROPERTY:loader_asm_gen_files,BINARY_DIR>)
-+ target_include_directories(loader-unknown-chain PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
- add_dependencies(loader-unknown-chain loader_asm_gen_files)
- else()
- message(WARNING "Could not find working MASM assembler\n${ASM_FAILURE_MSG}")
-@@ -204,9 +216,23 @@ else() # i.e.: Linux
- endif()
-
- if(ASSEMBLER_WORKS)
-- add_executable(asm_offset asm_offset.c)
-+ add_library(asm_offset STATIC asm_offset.c)
- target_link_libraries(asm_offset loader_specific_options)
-- add_custom_command(OUTPUT gen_defines.asm DEPENDS asm_offset COMMAND asm_offset GAS)
-+ # Forces compiler to write the intermediate asm file, needed so that we can get sizeof/offset of info out of it.
-+ target_compile_options(asm_offset PRIVATE -save-temps=obj)
-+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
-+ set(ASM_OFFSET_INTERMEDIATE_LOCATION "$<TARGET_FILE_DIR:asm_offset>/CMakeFiles/asm_offset.dir/asm_offset.c.s")
-+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
-+ set(ASM_OFFSET_INTERMEDIATE_LOCATION "$<TARGET_FILE_DIR:asm_offset>/CMakeFiles/asm_offset.dir/asm_offset.s")
-+ endif()
-+
-+ find_package(PythonInterp REQUIRED)
-+ # Run parse_asm_values.py on asm_offset's assembly file to generate the gen_defines.asm, which the asm code depends on
-+ add_custom_command(TARGET asm_offset POST_BUILD
-+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/scripts/parse_asm_values.py "$<TARGET_FILE_DIR:asm_offset>/gen_defines.asm"
-+ "${ASM_OFFSET_INTERMEDIATE_LOCATION}" "GAS" "${CMAKE_CXX_COMPILER_ID}" "${CMAKE_SYSTEM_PROCESSOR}"
-+ BYPRODUCTS gen_defines.asm
-+ )
- add_custom_target(loader_asm_gen_files DEPENDS gen_defines.asm)
- else()
- if(USE_GAS)
-diff --git a/loader/asm_offset.c b/loader/asm_offset.c
-index 80b71065c..82230b7d5 100644
---- a/loader/asm_offset.c
-+++ b/loader/asm_offset.c
-@@ -26,6 +26,36 @@
- #include "loader_common.h"
- #include "log.h"
-
-+#if defined(__GNUC__) || defined(__clang__)
-+void produce_asm_define() {
-+ // GCC and clang make it easy to print easy to regex for values
-+ __asm__("# VULKAN_LOADER_ERROR_BIT = %c0" : : "i"(VULKAN_LOADER_ERROR_BIT));
-+ __asm__("# PTR_SIZE = %c0" : : "i"(sizeof(void *)));
-+ __asm__("# CHAR_PTR_SIZE = %c0" : : "i"(sizeof(char *)));
-+ __asm__("# FUNCTION_OFFSET_INSTANCE = %c0" : : "i"(offsetof(struct loader_instance, phys_dev_ext_disp_functions)));
-+ __asm__("# PHYS_DEV_OFFSET_INST_DISPATCH = %c0" : : "i"(offsetof(struct loader_instance_dispatch_table, phys_dev_ext)));
-+ __asm__("# PHYS_DEV_OFFSET_PHYS_DEV_TRAMP = %c0" : : "i"(offsetof(struct loader_physical_device_tramp, phys_dev)));
-+ __asm__("# ICD_TERM_OFFSET_PHYS_DEV_TERM = %c0" : : "i"(offsetof(struct loader_physical_device_term, this_icd_term)));
-+ __asm__("# PHYS_DEV_OFFSET_PHYS_DEV_TERM = %c0" : : "i"(offsetof(struct loader_physical_device_term, phys_dev)));
-+ __asm__("# INSTANCE_OFFSET_ICD_TERM = %c0" : : "i"(offsetof(struct loader_icd_term, this_instance)));
-+ __asm__("# DISPATCH_OFFSET_ICD_TERM = %c0" : : "i"(offsetof(struct loader_icd_term, phys_dev_ext)));
-+ __asm__("# EXT_OFFSET_DEVICE_DISPATCH = %c0" : : "i"(offsetof(struct loader_dev_dispatch_table, ext_dispatch)));
-+}
-+#elif defined(_WIN32)
-+// MSVC will print the name of the value and the value in hex
-+// Must disable optimization for this translation unit, otherwise the compiler strips out the variables
-+static const uint32_t PTR_SIZE = sizeof(void *);
-+static const uint32_t CHAR_PTR_SIZE = sizeof(char *);
-+static const uint32_t FUNCTION_OFFSET_INSTANCE = offsetof(struct loader_instance, phys_dev_ext_disp_functions);
-+static const uint32_t PHYS_DEV_OFFSET_INST_DISPATCH = offsetof(struct loader_instance_dispatch_table, phys_dev_ext);
-+static const uint32_t PHYS_DEV_OFFSET_PHYS_DEV_TRAMP = offsetof(struct loader_physical_device_tramp, phys_dev);
-+static const uint32_t ICD_TERM_OFFSET_PHYS_DEV_TERM = offsetof(struct loader_physical_device_term, this_icd_term);
-+static const uint32_t PHYS_DEV_OFFSET_PHYS_DEV_TERM = offsetof(struct loader_physical_device_term, phys_dev);
-+static const uint32_t INSTANCE_OFFSET_ICD_TERM = offsetof(struct loader_icd_term, this_instance);
-+static const uint32_t DISPATCH_OFFSET_ICD_TERM = offsetof(struct loader_icd_term, phys_dev_ext);
-+static const uint32_t EXT_OFFSET_DEVICE_DISPATCH = offsetof(struct loader_dev_dispatch_table, ext_dispatch);
-+#endif
-+
- #if !defined(_MSC_VER) || (_MSC_VER >= 1900)
- #define SIZE_T_FMT "%-8zu"
- #else
-@@ -38,69 +68,6 @@ struct ValueInfo {
- const char *comment;
- };
-
--int main(int argc, char **argv) {
-- const char *assembler = NULL;
-- for (int i = 0; i < argc; ++i) {
-- if (!strcmp(argv[i], "MASM")) {
-- assembler = "MASM";
-- } else if (!strcmp(argv[i], "GAS")) {
-- assembler = "GAS";
-- }
-- }
-- if (assembler == NULL) {
-- return 1;
-- }
--
-- struct ValueInfo values[] = {
-- // clang-format off
-- { .name = "VULKAN_LOADER_ERROR_BIT", .value = (size_t) VULKAN_LOADER_ERROR_BIT,
-- .comment = "The numerical value of the enum value 'VULKAN_LOADER_ERROR_BIT'" },
-- { .name = "PTR_SIZE", .value = sizeof(void*),
-- .comment = "The size of a pointer" },
-- { .name = "CHAR_PTR_SIZE", .value = sizeof(char *),
-- .comment = "The size of a 'const char *' struct" },
-- { .name = "FUNCTION_OFFSET_INSTANCE", .value = offsetof(struct loader_instance, phys_dev_ext_disp_functions),
-- .comment = "The offset of 'phys_dev_ext_disp_functions' within a 'loader_instance' struct" },
-- { .name = "PHYS_DEV_OFFSET_INST_DISPATCH", .value = offsetof(struct loader_instance_dispatch_table, phys_dev_ext),
-- .comment = "The offset of 'phys_dev_ext' within in 'loader_instance_dispatch_table' struct" },
-- { .name = "PHYS_DEV_OFFSET_PHYS_DEV_TRAMP", .value = offsetof(struct loader_physical_device_tramp, phys_dev),
-- .comment = "The offset of 'phys_dev' within a 'loader_physical_device_tramp' struct" },
-- { .name = "ICD_TERM_OFFSET_PHYS_DEV_TERM", .value = offsetof(struct loader_physical_device_term, this_icd_term),
-- .comment = "The offset of 'this_icd_term' within a 'loader_physical_device_term' struct" },
-- { .name = "PHYS_DEV_OFFSET_PHYS_DEV_TERM", .value = offsetof(struct loader_physical_device_term, phys_dev),
-- .comment = "The offset of 'phys_dev' within a 'loader_physical_device_term' struct" },
-- { .name = "INSTANCE_OFFSET_ICD_TERM", .value = offsetof(struct loader_icd_term, this_instance),
-- .comment = "The offset of 'this_instance' within a 'loader_icd_term' struct" },
-- { .name = "DISPATCH_OFFSET_ICD_TERM", .value = offsetof(struct loader_icd_term, phys_dev_ext),
-- .comment = "The offset of 'phys_dev_ext' within a 'loader_icd_term' struct" },
-- { .name = "EXT_OFFSET_DEVICE_DISPATCH", .value = offsetof(struct loader_dev_dispatch_table, ext_dispatch),
-- .comment = "The offset of 'ext_dispatch' within a 'loader_dev_dispatch_table' struct" },
-- // clang-format on
-- };
--
-- FILE *file = fopen("gen_defines.asm", "w");
-- fprintf(file, "\n");
-- if (!strcmp(assembler, "MASM")) {
-- for (size_t i = 0; i < sizeof(values) / sizeof(values[0]); ++i) {
-- fprintf(file, "%-32s equ " SIZE_T_FMT "; %s\n", values[i].name, values[i].value, values[i].comment);
-- }
-- } else if (!strcmp(assembler, "GAS")) {
--#if defined(__x86_64__) || defined(__i386__)
-- const char *comment_delimiter = "#";
--#if defined(__x86_64__)
-- fprintf(file, ".set X86_64, 1\n");
--#endif // defined(__x86_64__)
--#elif defined(__aarch64__)
-- const char *comment_delimiter = "//";
-- fprintf(file, ".set AARCH_64, 1\n");
--#else
-- // Default comment delimiter
-- const char *comment_delimiter = "#";
--#endif
-- for (size_t i = 0; i < sizeof(values) / sizeof(values[0]); ++i) {
-- fprintf(file, ".set %-32s, " SIZE_T_FMT "%s %s\n", values[i].name, values[i].value, comment_delimiter,
-- values[i].comment);
-- }
-- }
-- return fclose(file);
--}
-+// This file is not intended to be executed, as the generated asm contains all the relevant data which
-+// the parse_asm_values.py script needs to write gen_defines.asm
-+int main(int argc, char **argv) { return 0; }
-diff --git a/scripts/parse_asm_values.py b/scripts/parse_asm_values.py
-new file mode 100644
-index 000000000..bff263d2a
---- /dev/null
-+++ b/scripts/parse_asm_values.py
-@@ -0,0 +1,97 @@
-+#!/usr/bin/python3 -i
-+#
-+# Copyright (c) 2022 The Khronos Group Inc.
-+# Copyright (c) 2022 LunarG, Inc.
-+
-+# Licensed under the Apache License, Version 2.0 (the "License");
-+# you may not use this file except in compliance with the License.
-+# You may obtain a copy of the License at
-+#
-+# http://www.apache.org/licenses/LICENSE-2.0
-+#
-+# Unless required by applicable law or agreed to in writing, software
-+# distributed under the License is distributed on an "AS IS" BASIS,
-+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+# See the License for the specific language governing permissions and
-+# limitations under the License.
-+#
-+# Author: Charles Giessen <charles@lunarg.com>
-+
-+# This script reads in the 'intermediate output' of a compiler to look for sizeof/offsetof information
-+# necessary for the assembler portions of the loader. This is achieved by forcing the compiler to output
-+# the intermediate assembly output and looking for specific patterns which contain the relevant information
-+
-+import sys
-+import os.path
-+from os.path import exists
-+import re
-+
-+
-+# Where to write the "gen_defines.asm" file
-+destination_file = sys.argv[1]
-+# The location the build system puts the intermediate asm file which depends on the compiler
-+source_asm_file = sys.argv[2]
-+# Whether we are using "MASM" or "GAS" for the assembler
-+assembler_type = sys.argv[3]
-+# Whether we are using gcc, clang, or msvc
-+compiler = sys.argv[4]
-+# taken from CMAKE_SYSTEM_PROCESSOR - x86_64 or aarch64
-+arch = sys.argv[5]
-+
-+if destination_file is None or source_asm_file is None or assembler_type is None or compiler is None or arch is None:
-+ print("Required command line arguments were not provided")
-+ sys.exit(1)
-+
-+defines = ["VULKAN_LOADER_ERROR_BIT",
-+ "PTR_SIZE",
-+ "CHAR_PTR_SIZE",
-+ "FUNCTION_OFFSET_INSTANCE",
-+ "PHYS_DEV_OFFSET_INST_DISPATCH",
-+ "PHYS_DEV_OFFSET_PHYS_DEV_TRAMP",
-+ "ICD_TERM_OFFSET_PHYS_DEV_TERM",
-+ "PHYS_DEV_OFFSET_PHYS_DEV_TERM",
-+ "INSTANCE_OFFSET_ICD_TERM",
-+ "DISPATCH_OFFSET_ICD_TERM",
-+ "EXT_OFFSET_DEVICE_DISPATCH" ]
-+
-+try:
-+ with open(source_asm_file, 'r') as f:
-+ asm_intermediate_file = f.read()
-+except IOError:
-+ print("Could not open assembler file:", source_asm_file)
-+ sys.exit(1)
-+
-+with open(destination_file, "w", encoding="utf-8") as dest:
-+ if assembler_type == "MASM":
-+ # special case vulkan error bit due to it not appearing in the asm - its defined in the header as 8 so it shouldn't change
-+ dest.write("VULKAN_LOADER_ERROR_BIT equ 8;\n")
-+ elif assembler_type == "GAS":
-+ # let the assembler know which platform to use
-+ if arch == "x86_64":
-+ dest.write(".set X86_64, 1\n")
-+ elif arch == "aarch64":
-+ dest.write(".set AARCH_64, 1\n")
-+
-+ for d in defines:
-+ match = None
-+ if compiler == "MSVC":
-+ if d == "VULKAN_LOADER_ERROR_BIT":
-+ continue # skip due to special case
-+ match = re.search(d + " DD [ ]*([0-9a-f]+)H", asm_intermediate_file)
-+ elif compiler == "Clang" or compiler == "GNU":
-+ match = re.search(d + " = ([0-9]+)", asm_intermediate_file)
-+
-+ if match:
-+ if compiler == "MSVC":
-+ value = str(int(match.group(1), 16))
-+ elif compiler == "Clang" or compiler == "GNU":
-+ value = match.group(1)
-+ if assembler_type == "MASM":
-+ # MASM uses hex values, decode them here
-+ dest.write(d + " equ " + value +";\n")
-+ elif assembler_type == "GAS":
-+ dest.write(".set " + d + ", " + value + "\n")
-+ else:
-+ print("Couldn't find ", d)
-+ sys.exit(1)
-+
-diff --git a/tests/framework/CMakeLists.txt b/tests/framework/CMakeLists.txt
-index 1ecc82cfd..3aedff55a 100644
---- a/tests/framework/CMakeLists.txt
-+++ b/tests/framework/CMakeLists.txt
-@@ -85,12 +85,12 @@ add_custom_command(
- PRE_BUILD
- COMMAND ${CMAKE_COMMAND} "-E" "copy_if_different" "${CMAKE_CURRENT_BINARY_DIR}/framework_config_$<CONFIG>.h" "${CMAKE_CURRENT_BINARY_DIR}/framework_config.h"
- VERBATIM
-- PRE_BUILD
- DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/framework_config_$<CONFIG>.h"
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/framework_config.h"
- COMMENT "creating framework_config.h file ({event: PRE_BUILD}, {filename: framework_config.h })"
- )
- add_custom_target (generate_framework_config DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/framework_config.h")
-+add_dependencies (generate_framework_config vulkan)
- add_dependencies (testing_framework_util generate_framework_config)
-
- add_library(testing_dependencies STATIC test_environment.cpp test_environment.h)
diff --git a/srcpkgs/vulkan-loader/template b/srcpkgs/vulkan-loader/template
index b93c4b9dc636..ab5b83e6ceae 100644
--- a/srcpkgs/vulkan-loader/template
+++ b/srcpkgs/vulkan-loader/template
@@ -1,6 +1,6 @@
# Template file for 'vulkan-loader'
pkgname=vulkan-loader
-version=1.3.231.2
+version=1.3.236.0
revision=1
build_style=cmake
configure_args="-Wno-dev -DVULKAN_HEADERS_INSTALL_DIR=${XBPS_CROSS_BASE}/usr
@@ -13,4 +13,4 @@ maintainer="tibequadorian <tibequadorian@posteo.de>"
license="Apache-2.0"
homepage="https://www.khronos.org/vulkan/"
distfiles="https://github.com/KhronosGroup/Vulkan-Loader/archive/sdk-${version}.tar.gz"
-checksum=d9d103a6481a19ab9c9b880c1264e3026931741d3184b9930157551453bd4f92
+checksum=157d2230b50bb5be3ef9b9467aa90d1c109d5f188a49b11f741246d7ca583bf3
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Vulkan 1.3.236
2022-12-13 23:03 [PR PATCH] Vulkan 1.3.236 tibequadorian
2022-12-13 23:05 ` [PR PATCH] [Updated] " tibequadorian
2022-12-13 23:06 ` tibequadorian
@ 2023-04-26 1:53 ` github-actions
2023-05-11 1:52 ` [PR PATCH] [Closed]: " github-actions
2023-10-09 18:11 ` Jipok
4 siblings, 0 replies; 6+ messages in thread
From: github-actions @ 2023-04-26 1:53 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 305 bytes --]
New comment by github-actions[bot] on void-packages repository
https://github.com/void-linux/void-packages/pull/41072#issuecomment-1522647318
Comment:
Pull Requests become stale 90 days after last activity and are closed 14 days after that. If this pull request is still relevant bump it or assign it.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PR PATCH] [Closed]: Vulkan 1.3.236
2022-12-13 23:03 [PR PATCH] Vulkan 1.3.236 tibequadorian
` (2 preceding siblings ...)
2023-04-26 1:53 ` github-actions
@ 2023-05-11 1:52 ` github-actions
2023-10-09 18:11 ` Jipok
4 siblings, 0 replies; 6+ messages in thread
From: github-actions @ 2023-05-11 1:52 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1235 bytes --]
There's a closed pull request on the void-packages repository
Vulkan 1.3.236
https://github.com/void-linux/void-packages/pull/41072
Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->
It was necessary to switch SPIRV-Tools to sdk version releases. Alpine Linux [has already done this](https://pkgs.alpinelinux.org/packages?name=spirv-tools).
#### Testing the changes
- I tested the changes in this PR: **NO**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Vulkan 1.3.236
2022-12-13 23:03 [PR PATCH] Vulkan 1.3.236 tibequadorian
` (3 preceding siblings ...)
2023-05-11 1:52 ` [PR PATCH] [Closed]: " github-actions
@ 2023-10-09 18:11 ` Jipok
4 siblings, 0 replies; 6+ messages in thread
From: Jipok @ 2023-10-09 18:11 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 191 bytes --]
New comment by Jipok on void-packages repository
https://github.com/void-linux/void-packages/pull/41072#issuecomment-1753444048
Comment:
@tibequadorian can you reopen pr? This is relevant.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-10-09 18:11 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-13 23:03 [PR PATCH] Vulkan 1.3.236 tibequadorian
2022-12-13 23:05 ` [PR PATCH] [Updated] " tibequadorian
2022-12-13 23:06 ` tibequadorian
2023-04-26 1:53 ` github-actions
2023-05-11 1:52 ` [PR PATCH] [Closed]: " github-actions
2023-10-09 18:11 ` Jipok
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).