diff mbox series

[21/21] vulkan-samples: Fix build with GCC-15

Message ID 20250324-b4-musl-gcc15-v1-21-ca68c03c5b01@gmail.com
State Accepted, archived
Commit 1db86a3381c94951de44bb2b6ec840fd99a7d4be
Headers show
Series musl/gcc-15: Fix packages to build with gcc15 on musl platforms | expand

Commit Message

Khem Raj March 24, 2025, 4:33 p.m. UTC
Include cstdint for uint32_t definition
Update to tip if trunk as it helps with GCC-15 fixes

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...-SpvBuilder.h-add-missing-cstdint-include.patch | 28 ++++++++++++++++++++++
 .../0001-framework-Include-stdint.h.patch          | 26 ++++++++++++++++++++
 meta/recipes-graphics/vulkan/vulkan-samples_git.bb |  6 ++++-
 3 files changed, 59 insertions(+), 1 deletion(-)

Comments

Richard Purdie March 24, 2025, 10:23 p.m. UTC | #1
On Mon, 2025-03-24 at 09:33 -0700, Khem Raj via lists.openembedded.org wrote:
> Include cstdint for uint32_t definition
> Update to tip if trunk as it helps with GCC-15 fixes
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  ...-SpvBuilder.h-add-missing-cstdint-include.patch | 28 ++++++++++++++++++++++
>  .../0001-framework-Include-stdint.h.patch          | 26 ++++++++++++++++++++
>  meta/recipes-graphics/vulkan/vulkan-samples_git.bb |  6 ++++-
>  3 files changed, 59 insertions(+), 1 deletion(-)

This seems to break one of the oe-selftests:

https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/1166/steps/14/logs/stdio

oe-selftest -r devtool.DevtoolUpdateTests.test_devtool_git_submodules

Cheers,

Richard
Khem Raj March 25, 2025, 1:41 a.m. UTC | #2
On Mon, Mar 24, 2025 at 3:24 PM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Mon, 2025-03-24 at 09:33 -0700, Khem Raj via lists.openembedded.org wrote:
> > Include cstdint for uint32_t definition
> > Update to tip if trunk as it helps with GCC-15 fixes
> >
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > ---
> >  ...-SpvBuilder.h-add-missing-cstdint-include.patch | 28 ++++++++++++++++++++++
> >  .../0001-framework-Include-stdint.h.patch          | 26 ++++++++++++++++++++
> >  meta/recipes-graphics/vulkan/vulkan-samples_git.bb |  6 ++++-
> >  3 files changed, 59 insertions(+), 1 deletion(-)
>
> This seems to break one of the oe-selftests:
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/48/builds/1166/steps/14/logs/stdio
>
> oe-selftest -r devtool.DevtoolUpdateTests.test_devtool_git_submodules

Looking at the test, it adds a patch to a submodule and expect
patchdir= based patches if any other
submodule is patched otherwise reports the files and test fails. I
think test is testing a subset of cases
but I have sent a v2 which should hopefully make things better for self tests.

>
> Cheers,
>
> Richard
diff mbox series

Patch

diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/0001-SPIRV-SpvBuilder.h-add-missing-cstdint-include.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-SPIRV-SpvBuilder.h-add-missing-cstdint-include.patch
new file mode 100644
index 0000000000000000000000000000000000000000..392f515b701a62da12535ae059dec85c4c014da8
--- /dev/null
+++ b/meta/recipes-graphics/vulkan/vulkan-samples/0001-SPIRV-SpvBuilder.h-add-missing-cstdint-include.patch
@@ -0,0 +1,28 @@ 
+From e40c14a3e007fac0e4f2e4164fdf14d1712355bd Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Fri, 2 Aug 2024 22:44:21 +0100
+Subject: [PATCH] SPIRV/SpvBuilder.h: add missing <cstdint> include
+
+Without the change `glslang` build fails on upcoming `gcc-15` as:
+
+    In file included from /build/source/SPIRV/GlslangToSpv.cpp:45:
+    SPIRV/SpvBuilder.h:248:30: error: 'uint32_t' has not been declared
+      248 |     Id makeDebugLexicalBlock(uint32_t line);
+          |                              ^~~~~~~~
+
+Upstream-Status: Backport [https://github.com/KhronosGroup/glslang/commit/e40c14a3e007fac0e4f2e4164fdf14d1712355bd]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ SPIRV/SpvBuilder.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/third_party/glslang/SPIRV/SpvBuilder.h
++++ b/third_party/glslang/SPIRV/SpvBuilder.h
+@@ -56,6 +56,7 @@ namespace spv {
+ }
+ 
+ #include <algorithm>
++#include <cstdint>
+ #include <map>
+ #include <memory>
+ #include <set>
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-Include-stdint.h.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-Include-stdint.h.patch
new file mode 100644
index 0000000000000000000000000000000000000000..8d323f2cef826a0c2f87e587321b0b3eb5ee169c
--- /dev/null
+++ b/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-Include-stdint.h.patch
@@ -0,0 +1,26 @@ 
+From 445fcfd7b9245881d769880a5942ce9faa893045 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
+
+Needed for uint32_t used in this header
+GCC 15 gets upset about it.
+
+Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Samples/pull/1314]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ framework/platform/configuration.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/framework/platform/configuration.h b/framework/platform/configuration.h
+index f6a9cae..c15f76f 100644
+--- a/framework/platform/configuration.h
++++ b/framework/platform/configuration.h
+@@ -18,6 +18,7 @@
+ #pragma once
+ 
+ #include <algorithm>
++#include <cstdint>
+ #include <map>
+ #include <memory>
+ #include <string>
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
index 2dd4bba5230d3c8955e6e7094792c10e3d74abe2..645c13479ad0c8e5fd615daa4f4e8b210f245a09 100644
--- a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
@@ -7,16 +7,20 @@  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 \
+           file://0001-framework-Include-stdint.h.patch \
            "
 
 UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "4838e02a4b08236931bec0532fc26ee3871b466a"
+SRCREV = "8547ce1022a19870d3e49075b5b08ca2d11c8773"
 
 UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
 S = "${WORKDIR}/git"
 
 REQUIRED_DISTRO_FEATURES = 'vulkan'
 
+# Avoid erroring on including <ciso646> instead of <version> in c++17
+CXXFLAGS += "-Wno-error=cpp"
 inherit cmake features_check
 
 FILES:${PN} += "${datadir}"