vulkan-samples: rewrite and submit reproducubility patch upstream

At some point the problematic define ceased to be used anywhere,
and so we can simply patch it out (and remove the associated
option setting from the recipe).

(From OE-Core rev: 4acbb1b92b9e51d6a741458d6cbd0c48ab55f6ca)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin 2025-04-07 11:40:34 +02:00 committed by Richard Purdie
parent 183e7414d1
commit 4152cfea3f
4 changed files with 32 additions and 51 deletions

View File

@ -1,4 +1,4 @@
From 445fcfd7b9245881d769880a5942ce9faa893045 Mon Sep 17 00:00:00 2001
From 9a187d2f54d3683636b951a10c165d949b3a1d18 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 23 Mar 2025 20:09:35 -0700
Subject: [PATCH] framework: Include stdint.h

View File

@ -1,43 +0,0 @@
From d998c753254649c7cf7c64e3fed78e41c11ad7ed Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Wed, 23 Aug 2023 09:38:37 +0200
Subject: [PATCH] vulkan-samples: Fix reproducibility issue
There is code to remove the prefix CMAKE_SOURCE_DIR from __FILENAME__ paths
used for logging with LOGE() in the code. We need to make this match the value we use
in the debug source remapping from CFLAGS
We export the right path to use in the recipe with:
EXTRA_OECMAKE = "-DCMAKE_DEBUG_SRCDIR=${TARGET_DBGSRC_DIR}/"
and we then patch this into the code instead of the broken use
of CMAKE_SOURCE_DIR since __FILENAME__ will match our path prefix
changes.
This also breaks reproducibility since the path length of the build directory
will currently change the output!
Upstream-Status: Pending [needs to be discussed upstream]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
---
bldsys/cmake/global_options.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bldsys/cmake/global_options.cmake b/bldsys/cmake/global_options.cmake
index b15c2da..d8952e5 100644
--- a/bldsys/cmake/global_options.cmake
+++ b/bldsys/cmake/global_options.cmake
@@ -62,7 +62,7 @@ set(CMAKE_CXX_STANDARD 14)
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
-string(LENGTH "${CMAKE_SOURCE_DIR}/" ROOT_PATH_SIZE)
+string(LENGTH "${CMAKE_DEBUG_SRCDIR}/" ROOT_PATH_SIZE)
add_definitions(-DROOT_PATH_SIZE=${ROOT_PATH_SIZE})
set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 ${CMAKE_C_FLAGS_DEBUG}")
--
2.41.0

View File

@ -0,0 +1,30 @@
From da4ef211810bc3b0c51ea89f02c031a170fe0cb8 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Tue, 1 Apr 2025 18:53:34 +0200
Subject: [PATCH] bldsys/cmake/global_options.cmake: removed unused
ROOT_PATH_SIZE define
After various refactorings it is no longer used anywhere (and
is problematic for build reproducibility, as build path sizes can
differ between build hosts).
Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Samples/pull/1325]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
bldsys/cmake/global_options.cmake | 3 ---
1 file changed, 3 deletions(-)
diff --git a/bldsys/cmake/global_options.cmake b/bldsys/cmake/global_options.cmake
index 96c7add..67a6c5e 100644
--- a/bldsys/cmake/global_options.cmake
+++ b/bldsys/cmake/global_options.cmake
@@ -126,9 +126,6 @@ set(CMAKE_CXX_STANDARD 17)
set(CMAKE_DISABLE_SOURCE_CHANGES ON)
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
-string(LENGTH "${CMAKE_SOURCE_DIR}/" ROOT_PATH_SIZE)
-add_definitions(-DROOT_PATH_SIZE=${ROOT_PATH_SIZE})
-
set(CMAKE_C_FLAGS_DEBUG "-DDEBUG=0 ${CMAKE_C_FLAGS_DEBUG}")
set(CMAKE_CXX_FLAGS_DEBUG "-DDEBUG=0 ${CMAKE_CXX_FLAGS_DEBUG}")

View File

@ -6,9 +6,9 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=48aa35cefb768436223a6e7f18dc2a2a"
SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git;branch=main;protocol=https;lfs=0 \
file://0001-vulkan-samples-Fix-reproducibility-issue.patch \
file://0001-SPIRV-SpvBuilder.h-add-missing-cstdint-include.patch;patchdir=third_party/glslang \
file://0001-framework-Include-stdint.h.patch \
file://0003-bldsys-cmake-global_options.cmake-removed-unused-ROO.patch \
"
UPSTREAM_CHECK_COMMITS = "1"
@ -25,12 +25,6 @@ inherit cmake features_check
FILES:${PN} += "${datadir}"
#
# There is code to remove the prefix CMAKE_SOURCE_DIR from __FILENAME__ paths
# used for logging with LOGE in the code. We need to make this match the value we use
# in the debug source remapping from CFLAGS
#
EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=${TARGET_DBGSRC_DIR}/"
# Binaries built with PCH enabled don't appear reproducible, differing results were seen
# from some builds depending on the point the PCH was compiled. Disable it to be
# deterministic