From 0eb5d95df1e892a0d304c9344488ff5fca1d6e52 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 23 Jun 2023 11:27:41 +0300 Subject: [PATCH] vulkan-tools-lunarg: 1.3.249 -> 1.3.250 Diff: https://github.com/LunarG/VulkanTools/compare/v1.3.249...v1.3.250 Apply small hacks to make it build with latest SDK/VVL. --- .../add-missing-macro-definition.patch | 26 +++++++++++++++++++ .../graphics/vulkan-tools-lunarg/default.nix | 16 +++++++++--- .../skip-qnx-extension.patch | 13 ++++++++++ 3 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 pkgs/tools/graphics/vulkan-tools-lunarg/add-missing-macro-definition.patch create mode 100644 pkgs/tools/graphics/vulkan-tools-lunarg/skip-qnx-extension.patch diff --git a/pkgs/tools/graphics/vulkan-tools-lunarg/add-missing-macro-definition.patch b/pkgs/tools/graphics/vulkan-tools-lunarg/add-missing-macro-definition.patch new file mode 100644 index 000000000000..4d5717363303 --- /dev/null +++ b/pkgs/tools/graphics/vulkan-tools-lunarg/add-missing-macro-definition.patch @@ -0,0 +1,26 @@ +diff --git a/layersvt/api_dump.h b/layersvt/api_dump.h +index 6e13b6de3..33bee96e7 100644 +--- a/layersvt/api_dump.h ++++ b/layersvt/api_dump.h +@@ -60,6 +60,8 @@ + #include + #include + ++#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) ++ + #ifdef ANDROID + + #include +diff --git a/layersvt/screenshot.cpp b/layersvt/screenshot.cpp +index b9743371c..6ee65c576 100755 +--- a/layersvt/screenshot.cpp ++++ b/layersvt/screenshot.cpp +@@ -44,6 +44,8 @@ using namespace std; + + #include "screenshot_parsing.h" + ++#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) ++ + #ifdef ANDROID + + #include diff --git a/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix b/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix index 88058d2caa3b..8dec2e5130e7 100644 --- a/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix +++ b/pkgs/tools/graphics/vulkan-tools-lunarg/default.nix @@ -24,13 +24,13 @@ stdenv.mkDerivation rec { pname = "vulkan-tools-lunarg"; - version = "1.3.249"; + version = "1.3.250"; src = fetchFromGitHub { owner = "LunarG"; repo = "VulkanTools"; rev = "v${version}"; - hash = "sha256-yQE6tjUxIZEMspxDaO9AoSjoEHQl2eDAc0E/aVQZnxQ="; + hash = "sha256-oI2ITvciuE/f8ojFpIwcH+HnYCasz43nKkER3wJxX+c="; fetchSubmodules = true; }; @@ -81,7 +81,17 @@ stdenv.mkDerivation rec { done ''; - patches = [ ./gtest.patch ]; + patches = [ + # Redefine an internal macro removed in vulkan-validation-layers + # FIXME: remove when fixed upstream + ./add-missing-macro-definition.patch + + # Skip QNX-specific extension causing build failures + # FIXME: remove when fixed upstream + ./skip-qnx-extension.patch + + ./gtest.patch + ]; # Same as vulkan-validation-layers dontPatchELF = true; diff --git a/pkgs/tools/graphics/vulkan-tools-lunarg/skip-qnx-extension.patch b/pkgs/tools/graphics/vulkan-tools-lunarg/skip-qnx-extension.patch new file mode 100644 index 000000000000..777b32f43af4 --- /dev/null +++ b/pkgs/tools/graphics/vulkan-tools-lunarg/skip-qnx-extension.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 209f3ec39..c711af38b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -190,7 +190,7 @@ endif() + # Define macro used for building vk.xml generated files + function(run_vulkantools_vk_xml_generate dependency output) + add_custom_command(OUTPUT ${output} +- COMMAND ${PYTHON_CMD} -B ${VULKANTOOLS_SCRIPTS_DIR}/vt_genvk.py -registry ${VULKAN_HEADERS_REGISTRY_DIRECTORY}/vk.xml -scripts ${VULKAN_HEADERS_REGISTRY_DIRECTORY} ${output} ++ COMMAND ${PYTHON_CMD} -B ${VULKANTOOLS_SCRIPTS_DIR}/vt_genvk.py -registry ${VULKAN_HEADERS_REGISTRY_DIRECTORY}/vk.xml -scripts ${VULKAN_HEADERS_REGISTRY_DIRECTORY} ${output} -removeExtensions VK_QNX_external_memory_screen_buffer + DEPENDS ${VULKAN_HEADERS_REGISTRY_DIRECTORY}/vk.xml ${VULKAN_HEADERS_REGISTRY_DIRECTORY}/generator.py ${VULKANTOOLS_SCRIPTS_DIR}/${dependency} ${VULKANTOOLS_SCRIPTS_DIR}/vt_genvk.py ${VULKAN_HEADERS_REGISTRY_DIRECTORY}/reg.py + ) + endfunction()