diff options
| author | Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> | 2025-12-21 20:14:00 +0200 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2025-12-21 23:29:18 -0800 |
| commit | 06b40fa396648602ca6c974e51cf2c1a27301766 (patch) | |
| tree | ff78838dd7537a6e1e67c992f96893b926335787 /meta-oe/recipes-graphics/vk-gl-cts/files | |
| parent | ab4e9f70091078909896013ef91bec7d40df7354 (diff) | |
| download | meta-openembedded-06b40fa396648602ca6c974e51cf2c1a27301766.tar.gz | |
vulkan-cts: upgrade 1.4.4.2 -> 1.4.5.0
Upgrade Vulkan CTS, adding support for new extensions and fixing some
older bugs, e.g. compatibility with ARMv7 (thus dropping the patches,
applied upstream) or with Vulkan 1.0.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-graphics/vk-gl-cts/files')
2 files changed, 0 insertions, 131 deletions
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 deleted file mode 100644 index 3c13ebe5c0..0000000000 --- a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-decode-fix-build-on-ARMv7-targets.patch +++ /dev/null | |||
| @@ -1,35 +0,0 @@ | |||
| 1 | From 16d72de3280410b185f33e489727761096a2e6e4 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> | ||
| 3 | Date: Wed, 22 Oct 2025 14:34:22 +0300 | ||
| 4 | Subject: [PATCH] decode: fix build on ARMv7 targets | ||
| 5 | |||
| 6 | Building NEON code on ARMv7 fails with the following error: | ||
| 7 | |||
| 8 | ...../src/NextStartCodeNEON.cpp:39:57: error: cannot convert 'uint8x8_t' to 'uint64x1_t' | ||
| 9 | |||
| 10 | Add missing vreinterpret call in order to fix that error. | ||
| 11 | |||
| 12 | Fixes KhronosGroup/VK-GL-CTS#547 | ||
| 13 | |||
| 14 | Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> | ||
| 15 | Upstream-Status: Backport [https://github.com/KhronosGroup/Vulkan-Video-Samples/commit/1e665d0f5139114203e04a1398de8c94ef031fd7] | ||
| 16 | --- | ||
| 17 | vk_video_decoder/libs/NvVideoParser/src/NextStartCodeNEON.cpp | 2 +- | ||
| 18 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 19 | |||
| 20 | diff --git a/vk_video_decoder/libs/NvVideoParser/src/NextStartCodeNEON.cpp b/vk_video_decoder/libs/NvVideoParser/src/NextStartCodeNEON.cpp | ||
| 21 | index f1a3381d7122..2c695a924ebd 100644 | ||
| 22 | --- a/vk_video_decoder/libs/NvVideoParser/src/NextStartCodeNEON.cpp | ||
| 23 | +++ b/vk_video_decoder/libs/NvVideoParser/src/NextStartCodeNEON.cpp | ||
| 24 | @@ -36,7 +36,7 @@ size_t VulkanVideoDecoder::next_start_code<SIMD_ISA::NEON>(const uint8_t *pdatai | ||
| 25 | #if defined (__aarch64__) || defined(_M_ARM64) | ||
| 26 | uint64_t resmask = vmaxvq_u8(vmask); | ||
| 27 | #else | ||
| 28 | - uint64_t resmask = vget_lane_u64(vmax_u8(vget_low_u8(vmask), vget_high_u8(vmask)), 0); | ||
| 29 | + uint64_t resmask = vget_lane_u64(vreinterpret_u64_u8(vmax_u8(vget_low_u8(vmask), vget_high_u8(vmask))), 0); | ||
| 30 | #endif | ||
| 31 | if (resmask) | ||
| 32 | { | ||
| 33 | -- | ||
| 34 | 2.51.0 | ||
| 35 | |||
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 deleted file mode 100644 index 3bfa332d14..0000000000 --- a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-decode-fix-building-for-non-NEON-enabled-ARM-targets.patch +++ /dev/null | |||
| @@ -1,96 +0,0 @@ | |||
| 1 | From 95b4ea5b8a5044fed7aeb1c279eddae709a6ce5f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> | ||
| 3 | Date: Tue, 28 Oct 2025 19:27:21 +0200 | ||
| 4 | Subject: [PATCH] decode: fix building for non-NEON-enabled ARM targets | ||
| 5 | |||
| 6 | Building for non-NEON ARM targets fails with the cryptic message. Verify | ||
| 7 | that it is possible to build NEON code at all. | ||
| 8 | |||
| 9 | .../work/armv7at2hf-vfp-oe-linux-gnueabi/vulkan-cts/1.4.4.0/recipe-sysroot-native/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/15.2.0/include/arm_neon.h:11019:1: | ||
| 10 | error: inlining failed in call to 'always_inline' 'uint8x16_t | ||
| 11 | vld1q_u8(const uint8_t*)': target specific option mismatch | ||
| 12 | 11019 | vld1q_u8 (const uint8_t * __a) | ||
| 13 | | ^~~~~~~~ | ||
| 14 | .../work/armv7at2hf-vfp-oe-linux-gnueabi/vulkan-cts/1.4.4.0/sources/vulkan-cts-1.4.4.0/external/vulkan-video-samples/src/vk_video_decoder/libs/NvVideoParser/src/NextStartCodeNEON.cpp:22:36: | ||
| 15 | note: called from here | ||
| 16 | 22 | uint8x16_t vdata = vld1q_u8(pdatain); | ||
| 17 | | ~~~~~~~~^~~~~~~~~ | ||
| 18 | |||
| 19 | Reported-by: Ryan Eatmon <reatmon@ti.com> | ||
| 20 | Co-developed-by: Stéphane Cerveau <scerveau@igalia.com> | ||
| 21 | Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> | ||
| 22 | Upstream-Status: Backport [https://github.com/KhronosGroup/Vulkan-Video-Samples/commit/8aabc529c7a981f2738acab1527745989ae91f26] | ||
| 23 | --- | ||
| 24 | .../libs/NvVideoParser/CMakeLists.txt | 27 ++++++++++++++----- | ||
| 25 | .../NvVideoParser/src/VulkanVideoDecoder.cpp | 2 ++ | ||
| 26 | 2 files changed, 22 insertions(+), 7 deletions(-) | ||
| 27 | |||
| 28 | diff --git a/vk_video_decoder/libs/NvVideoParser/CMakeLists.txt b/vk_video_decoder/libs/NvVideoParser/CMakeLists.txt | ||
| 29 | index 84251ed6..8c324408 100644 | ||
| 30 | --- a/vk_video_decoder/libs/NvVideoParser/CMakeLists.txt | ||
| 31 | +++ b/vk_video_decoder/libs/NvVideoParser/CMakeLists.txt | ||
| 32 | @@ -65,6 +65,14 @@ check_cxx_source_compiles(" | ||
| 33 | #endif | ||
| 34 | " IS_ARM) | ||
| 35 | |||
| 36 | +check_cxx_source_compiles(" | ||
| 37 | + #if defined(__ARM_NEON) | ||
| 38 | + int main() { return 0; } | ||
| 39 | + #else | ||
| 40 | + #error Not ARM NEON | ||
| 41 | + #endif | ||
| 42 | + " HAS_ARM_NEON) | ||
| 43 | + | ||
| 44 | check_cxx_source_compiles(" | ||
| 45 | #if defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86) | ||
| 46 | int main() { return 0; } | ||
| 47 | @@ -84,7 +92,6 @@ if (IS_AARCH64 OR (CMAKE_GENERATOR_PLATFORM MATCHES "^aarch64") OR (CMAKE_GENERA | ||
| 48 | set(NEON_CPU_FEATURE "-march=armv8-a") | ||
| 49 | set(SVE_CPU_FEATURE "-march=armv8-a+sve") | ||
| 50 | endif() | ||
| 51 | - MESSAGE(STATUS "Parser optimizations selected for generic ARM NEON") | ||
| 52 | add_library(next_start_code_c OBJECT ${CMAKE_CURRENT_SOURCE_DIR}/src/NextStartCodeC.cpp include) | ||
| 53 | target_include_directories(next_start_code_c PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) | ||
| 54 | add_library(next_start_code_neon OBJECT ${CMAKE_CURRENT_SOURCE_DIR}/src/NextStartCodeNEON.cpp include) | ||
| 55 | @@ -113,12 +120,18 @@ elseif (IS_ARM OR (CMAKE_GENERATOR_PLATFORM MATCHES "^arm") OR (CMAKE_GENERATOR_ | ||
| 56 | endif() | ||
| 57 | add_library(next_start_code_c OBJECT ${CMAKE_CURRENT_SOURCE_DIR}/src/NextStartCodeC.cpp include) | ||
| 58 | target_include_directories(next_start_code_c PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) | ||
| 59 | - add_library(next_start_code_neon OBJECT ${CMAKE_CURRENT_SOURCE_DIR}/src/NextStartCodeNEON.cpp include) | ||
| 60 | - set_target_properties(next_start_code_neon PROPERTIES COMPILE_FLAGS ${NEON_CPU_FEATURE} ) | ||
| 61 | - target_include_directories(next_start_code_neon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) | ||
| 62 | - MESSAGE(STATUS "Parser optimizations linking ARM next_start_code_c next_start_code_neon") | ||
| 63 | - target_link_libraries(${VULKAN_VIDEO_PARSER_LIB} next_start_code_c next_start_code_neon) | ||
| 64 | - target_link_libraries(${VULKAN_VIDEO_PARSER_STATIC_LIB} next_start_code_c next_start_code_neon) | ||
| 65 | + if (HAS_ARM_NEON) | ||
| 66 | + add_library(next_start_code_neon OBJECT ${CMAKE_CURRENT_SOURCE_DIR}/src/NextStartCodeNEON.cpp include) | ||
| 67 | + set_target_properties(next_start_code_neon PROPERTIES COMPILE_FLAGS ${NEON_CPU_FEATURE} ) | ||
| 68 | + target_include_directories(next_start_code_neon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) | ||
| 69 | + MESSAGE(STATUS "Parser optimizations linking ARM next_start_code_c next_start_code_neon") | ||
| 70 | + target_link_libraries(${VULKAN_VIDEO_PARSER_LIB} next_start_code_c next_start_code_neon) | ||
| 71 | + target_link_libraries(${VULKAN_VIDEO_PARSER_STATIC_LIB} next_start_code_c next_start_code_neon) | ||
| 72 | + else() | ||
| 73 | + MESSAGE(STATUS "Parser optimizations linking ARM next_start_code_c") | ||
| 74 | + target_link_libraries(${VULKAN_VIDEO_PARSER_LIB} next_start_code_c) | ||
| 75 | + target_link_libraries(${VULKAN_VIDEO_PARSER_STATIC_LIB} next_start_code_c) | ||
| 76 | + endif() | ||
| 77 | elseif (IS_X86) | ||
| 78 | MESSAGE(STATUS "Parser optimization for X86 ${CMAKE_SYSTEM_PROCESSOR}") | ||
| 79 | if(WIN32) | ||
| 80 | diff --git a/vk_video_decoder/libs/NvVideoParser/src/VulkanVideoDecoder.cpp b/vk_video_decoder/libs/NvVideoParser/src/VulkanVideoDecoder.cpp | ||
| 81 | index 83b968ef..5f7ff53e 100644 | ||
| 82 | --- a/vk_video_decoder/libs/NvVideoParser/src/VulkanVideoDecoder.cpp | ||
| 83 | +++ b/vk_video_decoder/libs/NvVideoParser/src/VulkanVideoDecoder.cpp | ||
| 84 | @@ -335,10 +335,12 @@ bool VulkanVideoDecoder::ParseByteStream(const VkParserBitstreamPacket* pck, siz | ||
| 85 | return ParseByteStreamSVE(pck, pParsedBytes); | ||
| 86 | } else | ||
| 87 | #endif //__aarch64__ | ||
| 88 | +#if defined(__ARM_NEON) | ||
| 89 | if (m_NextStartCode == SIMD_ISA::NEON) | ||
| 90 | { | ||
| 91 | return ParseByteStreamNEON(pck, pParsedBytes); | ||
| 92 | } else | ||
| 93 | +#endif // __ARM_NEON | ||
| 94 | #endif | ||
| 95 | { | ||
| 96 | return ParseByteStreamC(pck, pParsedBytes); | ||
