Upgrade Vulkan CTS to the point release, fixing several tests. While we are at it, refresh Vulkan-Video-Samples patches.
Signed-off-by: Dmitry Baryshkov <[email protected]> --- ...01-decode-fix-build-on-ARMv7-targets.patch | 4 +- ...ing-for-non-NEON-enabled-ARM-targets.patch | 73 ++++++++++--------- .../vk-gl-cts/vulkan-cts-sources.inc | 2 +- ...n-cts_1.4.4.0.bb => vulkan-cts_1.4.4.2.bb} | 2 +- 4 files changed, 45 insertions(+), 36 deletions(-) rename meta-oe/recipes-graphics/vk-gl-cts/{vulkan-cts_1.4.4.0.bb => vulkan-cts_1.4.4.2.bb} (94%) diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-decode-fix-build-on-ARMv7-targets.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-decode-fix-build-on-ARMv7-targets.patch index d8680a292b38..3c13ebe5c0ec 100644 --- a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-decode-fix-build-on-ARMv7-targets.patch +++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-decode-fix-build-on-ARMv7-targets.patch @@ -9,8 +9,10 @@ Building NEON code on ARMv7 fails with the following error: Add missing vreinterpret call in order to fix that error. +Fixes KhronosGroup/VK-GL-CTS#547 + Signed-off-by: Dmitry Baryshkov <[email protected]> -Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Video-Samples/pull/109] +Upstream-Status: Backport [https://github.com/KhronosGroup/Vulkan-Video-Samples/commit/1e665d0f5139114203e04a1398de8c94ef031fd7] --- vk_video_decoder/libs/NvVideoParser/src/NextStartCodeNEON.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-decode-fix-building-for-non-NEON-enabled-ARM-targets.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-decode-fix-building-for-non-NEON-enabled-ARM-targets.patch index d51ccafc9427..3bfa332d1416 100644 --- a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-decode-fix-building-for-non-NEON-enabled-ARM-targets.patch +++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-decode-fix-building-for-non-NEON-enabled-ARM-targets.patch @@ -17,73 +17,80 @@ note: called from here | ~~~~~~~~^~~~~~~~~ Reported-by: Ryan Eatmon <[email protected]> +Co-developed-by: Stéphane Cerveau <[email protected]> Signed-off-by: Dmitry Baryshkov <[email protected]> -Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Video-Samples/pull/112] +Upstream-Status: Backport [https://github.com/KhronosGroup/Vulkan-Video-Samples/commit/8aabc529c7a981f2738acab1527745989ae91f26] --- - .../libs/NvVideoParser/CMakeLists.txt | 18 +++++++++++++++++- - .../NvVideoParser/src/VulkanVideoDecoder.cpp | 2 ++ - 2 files changed, 19 insertions(+), 1 deletion(-) + .../libs/NvVideoParser/CMakeLists.txt | 27 ++++++++++++++----- + .../NvVideoParser/src/VulkanVideoDecoder.cpp | 2 ++ + 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/vk_video_decoder/libs/NvVideoParser/CMakeLists.txt b/vk_video_decoder/libs/NvVideoParser/CMakeLists.txt -index 84251ed60ab9..65da635e2929 100644 +index 84251ed6..8c324408 100644 --- a/vk_video_decoder/libs/NvVideoParser/CMakeLists.txt +++ b/vk_video_decoder/libs/NvVideoParser/CMakeLists.txt -@@ -65,6 +65,13 @@ check_cxx_source_compiles(" +@@ -65,6 +65,14 @@ check_cxx_source_compiles(" #endif " IS_ARM) +check_cxx_source_compiles(" -+ #include <arm_neon.h> -+ uint8_t *pin; -+ uint8x16_t vdata; -+ int main() { vdata = vld1q_u8(pin); return 0; } ++ #if defined(__ARM_NEON) ++ int main() { return 0; } ++ #else ++ #error Not ARM NEON ++ #endif + " HAS_ARM_NEON) + check_cxx_source_compiles(" #if defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86) int main() { return 0; } -@@ -85,6 +99,7 @@ if (IS_AARCH64 OR (CMAKE_GENERATOR_PLATFORM MATCHES "^aarch64") OR (CMAKE_GENERA +@@ -84,7 +92,6 @@ if (IS_AARCH64 OR (CMAKE_GENERATOR_PLATFORM MATCHES "^aarch64") OR (CMAKE_GENERA + set(NEON_CPU_FEATURE "-march=armv8-a") set(SVE_CPU_FEATURE "-march=armv8-a+sve") endif() - MESSAGE(STATUS "Parser optimizations selected for generic ARM NEON") -+ add_compile_definitions(HAS_ARM_NEON=1) +- MESSAGE(STATUS "Parser optimizations selected for generic ARM NEON") add_library(next_start_code_c OBJECT ${CMAKE_CURRENT_SOURCE_DIR}/src/NextStartCodeC.cpp include) target_include_directories(next_start_code_c PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) add_library(next_start_code_neon OBJECT ${CMAKE_CURRENT_SOURCE_DIR}/src/NextStartCodeNEON.cpp include) -@@ -102,7 +117,7 @@ if (IS_AARCH64 OR (CMAKE_GENERATOR_PLATFORM MATCHES "^aarch64") OR (CMAKE_GENERA - target_link_libraries(${VULKAN_VIDEO_PARSER_LIB} next_start_code_c next_start_code_neon next_start_code_sve) - target_link_libraries(${VULKAN_VIDEO_PARSER_STATIC_LIB} next_start_code_c next_start_code_neon next_start_code_sve) +@@ -113,12 +120,18 @@ elseif (IS_ARM OR (CMAKE_GENERATOR_PLATFORM MATCHES "^arm") OR (CMAKE_GENERATOR_ endif() --elseif (IS_ARM OR (CMAKE_GENERATOR_PLATFORM MATCHES "^arm") OR (CMAKE_GENERATOR_PLATFORM MATCHES "^ARM")) -+elseif ((IS_ARM OR (CMAKE_GENERATOR_PLATFORM MATCHES "^arm") OR (CMAKE_GENERATOR_PLATFORM MATCHES "^ARM")) AND HAS_ARM_NEON) - MESSAGE(STATUS "Parser optimization for ARM ${CMAKE_SYSTEM_PROCESSOR}") - if(WIN32) - MESSAGE(STATUS "Parser optimizations selected for WIN32 VFPv4") -@@ -111,6 +126,7 @@ elseif (IS_ARM OR (CMAKE_GENERATOR_PLATFORM MATCHES "^arm") OR (CMAKE_GENERATOR_ - MESSAGE(STATUS "Parser optimizations selected for UNIX armv7-a+simd") - set(NEON_CPU_FEATURE "-march=armv7-a+simd") - endif() -+ add_compile_definitions(HAS_ARM_NEON=1) add_library(next_start_code_c OBJECT ${CMAKE_CURRENT_SOURCE_DIR}/src/NextStartCodeC.cpp include) target_include_directories(next_start_code_c PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) - add_library(next_start_code_neon OBJECT ${CMAKE_CURRENT_SOURCE_DIR}/src/NextStartCodeNEON.cpp include) +- add_library(next_start_code_neon OBJECT ${CMAKE_CURRENT_SOURCE_DIR}/src/NextStartCodeNEON.cpp include) +- set_target_properties(next_start_code_neon PROPERTIES COMPILE_FLAGS ${NEON_CPU_FEATURE} ) +- target_include_directories(next_start_code_neon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) +- MESSAGE(STATUS "Parser optimizations linking ARM next_start_code_c next_start_code_neon") +- target_link_libraries(${VULKAN_VIDEO_PARSER_LIB} next_start_code_c next_start_code_neon) +- target_link_libraries(${VULKAN_VIDEO_PARSER_STATIC_LIB} next_start_code_c next_start_code_neon) ++ if (HAS_ARM_NEON) ++ add_library(next_start_code_neon OBJECT ${CMAKE_CURRENT_SOURCE_DIR}/src/NextStartCodeNEON.cpp include) ++ set_target_properties(next_start_code_neon PROPERTIES COMPILE_FLAGS ${NEON_CPU_FEATURE} ) ++ target_include_directories(next_start_code_neon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) ++ MESSAGE(STATUS "Parser optimizations linking ARM next_start_code_c next_start_code_neon") ++ target_link_libraries(${VULKAN_VIDEO_PARSER_LIB} next_start_code_c next_start_code_neon) ++ target_link_libraries(${VULKAN_VIDEO_PARSER_STATIC_LIB} next_start_code_c next_start_code_neon) ++ else() ++ MESSAGE(STATUS "Parser optimizations linking ARM next_start_code_c") ++ target_link_libraries(${VULKAN_VIDEO_PARSER_LIB} next_start_code_c) ++ target_link_libraries(${VULKAN_VIDEO_PARSER_STATIC_LIB} next_start_code_c) ++ endif() + elseif (IS_X86) + MESSAGE(STATUS "Parser optimization for X86 ${CMAKE_SYSTEM_PROCESSOR}") + if(WIN32) diff --git a/vk_video_decoder/libs/NvVideoParser/src/VulkanVideoDecoder.cpp b/vk_video_decoder/libs/NvVideoParser/src/VulkanVideoDecoder.cpp -index 83b968ef55df..eced7fcd7bba 100644 +index 83b968ef..5f7ff53e 100644 --- a/vk_video_decoder/libs/NvVideoParser/src/VulkanVideoDecoder.cpp +++ b/vk_video_decoder/libs/NvVideoParser/src/VulkanVideoDecoder.cpp @@ -335,10 +335,12 @@ bool VulkanVideoDecoder::ParseByteStream(const VkParserBitstreamPacket* pck, siz return ParseByteStreamSVE(pck, pParsedBytes); } else #endif //__aarch64__ -+#if defined(HAS_ARM_NEON) ++#if defined(__ARM_NEON) if (m_NextStartCode == SIMD_ISA::NEON) { return ParseByteStreamNEON(pck, pParsedBytes); } else -+#endif // HAS_ARM_NEON ++#endif // __ARM_NEON #endif { return ParseByteStreamC(pck, pParsedBytes); --- -2.51.0 - diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts-sources.inc b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts-sources.inc index a40327869958..89d052dbdfb2 100644 --- a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts-sources.inc +++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts-sources.inc @@ -6,7 +6,7 @@ RECIPE_UPGRADE_EXTRA_TASKS += "do_refresh_srcuri" python __anonymous() { - if d.getVar("PV") != "1.4.4.0": + if d.getVar("PV") != "1.4.4.2": bb.warn("-sources.inc out of date, run refresh_srcuri task") } diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.4.0.bb b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.4.2.bb similarity index 94% rename from meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.4.0.bb rename to meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.4.2.bb index 4d2f223a39b6..0ae7119535cc 100644 --- a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.4.0.bb +++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.4.4.2.bb @@ -2,7 +2,7 @@ DESCRIPTION = "Vulkan CTS" require khronos-cts.inc -SRCREV_vk-gl-cts = "03c0746a55b78eab63c664a11948b52419e1f309" +SRCREV_vk-gl-cts = "aa481ab6eb66a1c74768fabec453ea6e60f0ee0e" require vulkan-cts-sources.inc -- 2.47.3
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#122581): https://lists.openembedded.org/g/openembedded-devel/message/122581 Mute This Topic: https://lists.openembedded.org/mt/116725303/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
