Selaa lähdekoodia

update vulkan (#630)

* update vulkan

* fix vulkan-tools
Hoildkv 4 vuotta sitten
vanhempi
commit
4f71b37e1b

+ 3 - 1
packages/d/directxshadercompiler/xmake.lua

@@ -5,10 +5,12 @@ package("directxshadercompiler")
     set_license("LLVM")
 
     local date = {["1.5.2010"] = "2020_10-22",
-                  ["1.6.2104"] = "2021_04-20"}
+                  ["1.6.2104"] = "2021_04-20",
+                  ["1.6.2106"] = "2021_07_01"}
     add_urls("https://github.com/microsoft/DirectXShaderCompiler/releases/download/v$(version).zip", {version = function (version) return version .. "/dxc_" .. date[tostring(version)] end})
     add_versions("1.5.2010", "b691f63778f470ebeb94874426779b2f60685fc8711adf1b1f9f01535d9b67f8")
     add_versions("1.6.2104", "ee5e96d58134957443ded04be132e2e19240c534d7602e3ab8fd5adc5156014a")
+    add_versions("1.6.2106", "053b2d90c227cae84e7ce636bc4f7c25acd224c31c11a324885acbf5dd8b7aac")
 
     on_install("windows|x64", function (package)
         os.cp("bin/x64/*", package:installdir("bin"))

+ 1 - 0
packages/g/glslang/xmake.lua

@@ -7,6 +7,7 @@ package("glslang")
     add_urls("https://github.com/KhronosGroup/glslang.git")
     add_versions("1.2.154+1", "bacaef3237c515e40d1a24722be48c0a0b30f75f")
     add_versions("1.2.162+0", "c594de23cdd790d64ad5f9c8b059baae0ee2941d")
+    add_versions("1.2.189+1", "2fb89a0072ae7316af1c856f22663fde4928128a")
 
     add_deps("cmake", "python 3.x", {kind = "binary"})
     add_deps("spirv-tools")

+ 1 - 0
packages/m/moltenvk/xmake.lua

@@ -7,6 +7,7 @@ package("moltenvk")
     add_urls("https://github.com/KhronosGroup/MoltenVK/archive/v$(version).tar.gz")
     add_versions("1.1.0", "0538fa1c23ddae495c7f82ccd0db90790a90b7017a258ca7575fbae8021f3058")
     add_versions("1.1.4", "f9bba6d3bf3648e7685c247cb6d126d62508af614bc549cedd5859a7da64967e")
+    add_versions("1.1.5", "2cdcb8dbf2acdcd8cbe70b109dadc05a901038c84970afbe4863e5e23f33deae")
 
     on_install("macosx", function (package)
         local configs = {"--macos"}

+ 24 - 0
packages/r/robin-hood-hashing/xmake.lua

@@ -0,0 +1,24 @@
+package("robin-hood-hashing")
+
+    set_kind("library", {headeronly = true})
+    set_homepage("https://github.com/martinus/robin-hood-hashing")
+    set_description("Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20")
+    set_license("MIT")
+
+    add_urls("https://github.com/martinus/robin-hood-hashing/archive/refs/tags/$(version).tar.gz",
+             "https://github.com/martinus/robin-hood-hashing.git")
+    add_versions("3.11.3", "dcf2b7fa9ef9dd0c67102d94c28e8df3effbe1845e0ed1f31f4772ca5e857fc4")
+
+    add_deps("cmake")
+    on_install(function (package)
+        import("package.tools.cmake").install(package, {"-DRH_STANDALONE_PROJECT=OFF"})
+    end)
+
+    on_test(function (package)
+        assert(package:check_cxxsnippets({test = [[
+            void test() {
+                robin_hood::unordered_flat_map<int, int> map;
+                map[123] = 333;
+            }
+        ]]}, {configs = {languages = "c++14"}, includes = "robin_hood.h"}))
+    end)

+ 1 - 0
packages/s/spirv-cross/xmake.lua

@@ -7,6 +7,7 @@ package("spirv-cross")
     add_urls("https://github.com/KhronosGroup/SPIRV-Cross.git")
     add_versions("1.2.154+1", "e6f5ce6b8998f551f3400ad743b77be51bbe3019")
     add_versions("1.2.162+0", "6d10da0224bd3214c9a507832e62d9fb6ae9620d")
+    add_versions("1.2.189+1", "0e2880ab990e79ce6cc8c79c219feda42d98b1e8")
 
     add_deps("cmake")
     add_links("spirv-cross-c", "spirv-cross-cpp", "spirv-cross-reflect", "spirv-cross-msl", "spirv-cross-util", "spirv-cross-hlsl", "spirv-cross-glsl", "spirv-cross-core")

+ 5 - 1
packages/s/spirv-headers/xmake.lua

@@ -1,12 +1,16 @@
 package("spirv-headers")
 
+    set_kind("library", {headeronly = true})
     set_homepage("https://github.com/KhronosGroup/SPIRV-Headers/")
     set_description("SPIR-V Headers")
     set_license("MIT")
 
-    local map = {["1.5.4+2"] = "1.5.4.raytracing.fixed"}
+    local map = {["1.5.4+2"] = "1.5.4.raytracing.fixed",
+                 -- Workaround since no new releases are available for spirv-headers, will be removed in future
+                 ["1.5.5"] = "e71feddb3f17c5586ff7f4cfb5ed1258b800574b"}
     add_urls("https://github.com/KhronosGroup/SPIRV-Headers/archive/$(version).tar.gz", {version = function (version) return map[tostring(version)] end})
     add_versions("1.5.4+2", "df2ad2520be4d95a479fa248921065885bbf435a658349a7fc164ad7b26b68c6")
+    add_versions("1.5.5", "9eb56548460fd8850250ebf78071528fb66c2a5db2ef535edc1d493b2581ec66")
 
     add_deps("cmake")
 

+ 1 - 0
packages/s/spirv-reflect/xmake.lua

@@ -7,6 +7,7 @@ package("spirv-reflect")
     add_urls("https://github.com/KhronosGroup/SPIRV-Reflect.git")
     add_versions("1.2.154+1", "5de48fe8d3ef434e846d64ed758adc5d26335ae5")
     add_versions("1.2.162+0", "481e34d666031eae28423f3b723a1a8c717d7636")
+    add_versions("1.2.189+1", "272e050728de8d4a4ce9e7101c1244e6ff56e5b0")
 
     add_deps("spirv-headers")
 

+ 9 - 1
packages/s/spirv-tools/xmake.lua

@@ -7,11 +7,15 @@ package("spirv-tools")
     add_urls("https://github.com/KhronosGroup/SPIRV-Tools/archive/v$(version).tar.gz")
     add_versions("2020.5", "947ee994ba416380bd7ccc1c6377ac28a4802a55ca81ccc06796c28e84c00b71")
     add_versions("2020.6", "de2392682df8def7ac666a2a320cd475751badf4790b01c7391b7644ecb550a3")
+    add_versions("2021.3", "b6b4194121ee8084c62b20f8d574c32f766e4e9237dfe60b0658b316d19c6b13")
 
     add_patches("2020.5", "https://github.com/KhronosGroup/SPIRV-Tools/commit/a1d38174b1f7d2651c718ae661886d606cb50a32.patch", "2811faeef3ad53a83e409c8ef9879badcf9dc04fc3d98dbead7313514b819933")
 
     add_deps("cmake", "python 3.x", {kind = "binary"})
     add_deps("spirv-headers")
+    if is_plat("linux") then
+        add_extsources("apt::spirv-tools")
+    end
 
     on_install("linux", "windows", "macosx", function (package)
         package:addenv("PATH", "bin")
@@ -20,7 +24,11 @@ package("spirv-tools")
         table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
         local spirv = package:dep("spirv-headers")
         table.insert(configs, "-DSPIRV-Headers_SOURCE_DIR=" .. spirv:installdir():gsub("\\", "/"))
-        import("package.tools.cmake").install(package, configs)
+        if package:is_plat("windows") then
+            import("package.tools.cmake").install(package, configs, {buildir = os.tmpfile() .. ".dir"})
+        else
+            import("package.tools.cmake").install(package, configs)
+        end
         package:add("links", "SPIRV-Tools-link", "SPIRV-Tools-reduce", "SPIRV-Tools-opt")
         if package:config("shared") then
             package:add("links", "SPIRV-Tools-shared")

+ 1 - 0
packages/v/volk/xmake.lua

@@ -6,6 +6,7 @@ package("volk")
 
     add_urls("https://github.com/zeux/volk/archive/$(version).tar.gz",
              "https://github.com/zeux/volk.git")
+    add_versions("1.2.190", "07f03720b8c70a626c98cc9545350538122bca9f853e6ed20ccad5a25d55fa4b")
     add_versions("1.2.162", "ac4d9d6e88dee5a83ad176e2da57f1989ca2c6df155a0aeb5e18e9471aa4d777")
 
     add_deps("vulkan-headers")

+ 2 - 1
packages/v/vulkan-headers/xmake.lua

@@ -1,15 +1,16 @@
 package("vulkan-headers")
 
+    set_kind("library", {headeronly = true})
     set_homepage("https://github.com/KhronosGroup/Vulkan-Headers/")
     set_description("Vulkan Header files and API registry")
     set_license("Apache-2.0")
 
     add_urls("https://github.com/KhronosGroup/Vulkan-Headers/archive/$(version).tar.gz", {version = function (version) return version:startswith("v") and version or "sdk-" .. version:gsub("%+", ".") end})
+    add_versions("1.2.189+1", "ce2eb5995dddd8ff2cee897ab91c30a35d6096d5996fc91cec42bfb37112d3f8")
     add_versions("1.2.162+0", "eb0f6a79ac38e137f55a0e13641140e63b765c8ec717a65bf3904614ef754365")
     add_versions("1.2.154+0", "a0528ade4dd3bd826b960ba4ccabc62e92ecedc3c70331b291e0a7671b3520f9")
 
     add_deps("cmake")
-
     on_install("windows", "linux", "macosx", function (package)
         import("package.tools.cmake").install(package)
     end)

+ 5 - 1
packages/v/vulkan-loader/xmake.lua

@@ -5,17 +5,21 @@ package("vulkan-loader")
     set_license("Apache-2.0")
 
     add_urls("https://github.com/KhronosGroup/Vulkan-Loader/archive/sdk-$(version).tar.gz", {version = function (version) return version:gsub("%+", ".") end})
+    add_versions("1.2.189+1", "1d9f539154d37cea0ca336341c3b25e73d5a5320f2f9c9c55f8309422fe6ec3c")
     add_versions("1.2.162+0", "f8f5ec2485e7fdba3f58c1cde5a25145ece1c6a686c91ba4016b28c0af3f21dd")
     add_versions("1.2.154+1", "889e45f7175d915dd0d702013b8021192e181d20f2ad4021c94006088f1edfe5")
 
-    add_deps("cmake", "ninja")
     if is_plat("linux") then
+        add_extsources("apt::libvulkan-dev")
         add_deps("wayland", "libxrandr", "libxcb", "libxkbcommon")
     end
 
     on_load("windows", "linux", function (package)
         local sdkver = package:version():split("%+")[1]
         package:add("deps", "vulkan-headers " .. sdkver)
+        if not package.is_built or package:is_built() then
+            package:add("deps", "cmake", "ninja")
+        end
     end)
 
     on_install("windows", "linux", function (package)

+ 8 - 3
packages/v/vulkan-tools/xmake.lua

@@ -1,26 +1,31 @@
 package("vulkan-tools")
 
+    set_kind("binary")
     set_homepage("https://github.com/KhronosGroup/Vulkan-Tools")
     set_description("Vulkan Utilities and Tools")
     set_license("Apache-2.0")
 
     add_urls("https://github.com/KhronosGroup/Vulkan-Tools/archive/sdk-$(version).tar.gz", {version = function (version) return version:gsub("%+", ".") end})
+    add_versions("1.2.189+1", "ef5db0934ff7192657bbfc675f6e3e1ee009f2ad34aab915d2bd9993a59add81")
     add_versions("1.2.162+0", "8324a6dfd1bc20d4fad45c4ea56357d8354fc03e3e4529d0a4919f124d9e6106")
     add_versions("1.2.154+0", "c7d66ec1f5fe5c0a13e487fe5c6eefd3a954522c0b05f06bd2ae41792aeea272")
 
-    add_deps("cmake", "ninja")
     add_deps("glslang")
     if is_plat("linux") then
+        add_extsources("apt::vulkan-tools")
         add_deps("wayland", "libxrandr", "libxcb", "libxkbcommon")
     end
 
-    on_load("windows", "linux", function (package)
+    on_load("windows|x64", "linux", function (package)
         local sdkver = package:version():split("%+")[1]
         package:add("deps", "vulkan-headers " .. sdkver)
         package:add("deps", "vulkan-loader " .. sdkver)
+        if not package.is_built or package:is_built() then
+            package:add("deps", "cmake", "ninja")
+        end
     end)
 
-    on_install("windows", "linux", function (package)
+    on_install("windows|x64", "linux", function (package)
         import("package.tools.cmake")
         local envs = cmake.buildenvs(package, {cmake_generator = "Ninja"})
         if package:is_plat("linux") then