summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-graphics/vk-gl-cts/files
diff options
context:
space:
mode:
authorDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>2025-12-21 20:14:00 +0200
committerKhem Raj <raj.khem@gmail.com>2025-12-21 23:29:18 -0800
commit06b40fa396648602ca6c974e51cf2c1a27301766 (patch)
treeff78838dd7537a6e1e67c992f96893b926335787 /meta-oe/recipes-graphics/vk-gl-cts/files
parentab4e9f70091078909896013ef91bec7d40df7354 (diff)
downloadmeta-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')
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/0001-decode-fix-build-on-ARMv7-targets.patch35
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/0001-decode-fix-building-for-non-NEON-enabled-ARM-targets.patch96
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 @@
1From 16d72de3280410b185f33e489727761096a2e6e4 Mon Sep 17 00:00:00 2001
2From: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
3Date: Wed, 22 Oct 2025 14:34:22 +0300
4Subject: [PATCH] decode: fix build on ARMv7 targets
5
6Building 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
10Add missing vreinterpret call in order to fix that error.
11
12Fixes KhronosGroup/VK-GL-CTS#547
13
14Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
15Upstream-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
20diff --git a/vk_video_decoder/libs/NvVideoParser/src/NextStartCodeNEON.cpp b/vk_video_decoder/libs/NvVideoParser/src/NextStartCodeNEON.cpp
21index 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--
342.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 @@
1From 95b4ea5b8a5044fed7aeb1c279eddae709a6ce5f Mon Sep 17 00:00:00 2001
2From: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
3Date: Tue, 28 Oct 2025 19:27:21 +0200
4Subject: [PATCH] decode: fix building for non-NEON-enabled ARM targets
5
6Building for non-NEON ARM targets fails with the cryptic message. Verify
7that 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:
10error: inlining failed in call to 'always_inline' 'uint8x16_t
11vld1q_u8(const uint8_t*)': target specific option mismatch
1211019 | 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:
15note: called from here
16 22 | uint8x16_t vdata = vld1q_u8(pdatain);
17 | ~~~~~~~~^~~~~~~~~
18
19Reported-by: Ryan Eatmon <reatmon@ti.com>
20Co-developed-by: Stéphane Cerveau <scerveau@igalia.com>
21Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
22Upstream-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
28diff --git a/vk_video_decoder/libs/NvVideoParser/CMakeLists.txt b/vk_video_decoder/libs/NvVideoParser/CMakeLists.txt
29index 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)
80diff --git a/vk_video_decoder/libs/NvVideoParser/src/VulkanVideoDecoder.cpp b/vk_video_decoder/libs/NvVideoParser/src/VulkanVideoDecoder.cpp
81index 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);