diff mbox series

[meta-oe] vulkan-cts: upgrade 1.4.4.0 -> 1.4.4.2

Message ID 20251211054911.1329970-1-dmitry.baryshkov@oss.qualcomm.com
State Under Review
Headers show
Series [meta-oe] vulkan-cts: upgrade 1.4.4.0 -> 1.4.4.2 | expand

Commit Message

Dmitry Baryshkov Dec. 11, 2025, 5:49 a.m. UTC
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 <dmitry.baryshkov@oss.qualcomm.com>
---
 ...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 mbox series

Patch

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 <dmitry.baryshkov@oss.qualcomm.com>
-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 <reatmon@ti.com>
+Co-developed-by: Stéphane Cerveau <scerveau@igalia.com>
 Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
-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