diff mbox series

[scarthgap,master] vulkan-samples: fix do_compile error when -Og enabled

Message ID 20240709073158.1037728-1-changqing.li@windriver.com
State Accepted
Delegated to: Steve Sakoman
Headers show
Series [scarthgap,master] vulkan-samples: fix do_compile error when -Og enabled | expand

Commit Message

Changqing Li July 9, 2024, 7:31 a.m. UTC
From: Changqing Li <changqing.li@windriver.com>

When debug build is enabled(-Og is used), vulkan-samples do_compile
failed with error:
In function 'ZSTD_compressBlock_lazy_generic',
    inlined from 'ZSTD_compressBlock_greedy' at TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21914:12:
TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21551:30: error: inlining failed in call to 'always_inline' 'ZSTD_HcFindBestMatch_selectMLS': function not considered for inlining
 | FORCE_INLINE_TEMPLATE size_t ZSTD_HcFindBestMatch_selectMLS (
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21736:32: note: called from here
|             size_t const ml2 = searchMax(ms, ip, iend, &offsetFound);

Refer [1], always_inline is not suggested to use with indirect function
call, replace always_inline with inline to fix the issue

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107931

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 ...ce-FORCE_INLINE_TEMPLATE-with-inline.patch | 52 +++++++++++++++++++
 .../vulkan/vulkan-samples_git.bb              |  1 +
 2 files changed, 53 insertions(+)
 create mode 100644 meta/recipes-graphics/vulkan/vulkan-samples/0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch

Comments

Alexander Kanavin July 9, 2024, 7:37 a.m. UTC | #1
We haven’t updated Vulkan-samples in a while, can you check if the issue
still occurs on the latest revision?

Patches like this are difficult to remove, once added because one is
expected to ‘prove’ they’re not needed, so I’d rather update.

Alex

On Tue 9. Jul 2024 at 9.32, Changqing Li via lists.openembedded.org <
changqing.li=windriver.com@lists.openembedded.org> wrote:

> From: Changqing Li <changqing.li@windriver.com>
>
> When debug build is enabled(-Og is used), vulkan-samples do_compile
> failed with error:
> In function 'ZSTD_compressBlock_lazy_generic',
>     inlined from 'ZSTD_compressBlock_greedy' at
> TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21914:12:
> TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21551:30:
> error: inlining failed in call to 'always_inline'
> 'ZSTD_HcFindBestMatch_selectMLS': function not considered for inlining
>  | FORCE_INLINE_TEMPLATE size_t ZSTD_HcFindBestMatch_selectMLS (
>       |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21736:32:
> note: called from here
> |             size_t const ml2 = searchMax(ms, ip, iend, &offsetFound);
>
> Refer [1], always_inline is not suggested to use with indirect function
> call, replace always_inline with inline to fix the issue
>
> [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107931
>
> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ---
>  ...ce-FORCE_INLINE_TEMPLATE-with-inline.patch | 52 +++++++++++++++++++
>  .../vulkan/vulkan-samples_git.bb              |  1 +
>  2 files changed, 53 insertions(+)
>  create mode 100644
> meta/recipes-graphics/vulkan/vulkan-samples/0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch
>
> diff --git
> a/meta/recipes-graphics/vulkan/vulkan-samples/0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch
> b/meta/recipes-graphics/vulkan/vulkan-samples/0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch
> new file mode 100644
> index 0000000000..22538d4119
> --- /dev/null
> +++
> b/meta/recipes-graphics/vulkan/vulkan-samples/0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch
> @@ -0,0 +1,52 @@
> +From a7bfe82a311c713b12bb83b8488574ad5c784f89 Mon Sep 17 00:00:00 2001
> +From: Changqing Li <changqing.li@windriver.com>
> +Date: Tue, 9 Jul 2024 04:29:11 +0000
> +Subject: [PATCH] zstd.c: replace FORCE_INLINE_TEMPLATE with inline
> +
> +Refer [1], always-inline is not suggested to be used if you have indirect
> ++calls. so replace FORCE_INLINE_TEMPLATE with inline to fix error:
> +In function 'ZSTD_compressBlock_lazy_generic',
> +    inlined from 'ZSTD_compressBlock_greedy' at
> TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21914:12:
> +TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21551:30:
> error: inlining failed in call to 'always_inline'
> 'ZSTD_HcFindBestMatch_selectMLS': function not considered for inlining
> + | FORCE_INLINE_TEMPLATE size_t ZSTD_HcFindBestMatch_selectMLS (
> +      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21736:32:
> note: called from here
> +|             size_t const ml2 = searchMax(ms, ip, iend, &offsetFound);
> +
> +Upstream-Status: Inappropriate [ Latest upstream ktx don't have this part
> code ]
> +
> +Has report this issue to upstream Vulkan-Samples, refer [2]
> +
> +[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107931
> +[2] https://github.com/KhronosGroup/Vulkan-Samples/issues/1089
> +
> +Signed-off-by: Changqing Li <changqing.li@windriver.com>
> +---
> + lib/basisu/zstd/zstd.c | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/lib/basisu/zstd/zstd.c b/lib/basisu/zstd/zstd.c
> +index eaf13738..423f149e 100644
> +--- a/lib/basisu/zstd/zstd.c
> ++++ b/lib/basisu/zstd/zstd.c
> +@@ -21548,7 +21548,7 @@ size_t ZSTD_HcFindBestMatch_generic (
> + }
> +
> +
> +-FORCE_INLINE_TEMPLATE size_t ZSTD_HcFindBestMatch_selectMLS (
> ++static inline size_t ZSTD_HcFindBestMatch_selectMLS (
> +                         ZSTD_matchState_t* ms,
> +                         const BYTE* ip, const BYTE* const iLimit,
> +                         size_t* offsetPtr)
> +@@ -21596,7 +21596,7 @@ static size_t
> ZSTD_HcFindBestMatch_dedicatedDictSearch_selectMLS (
> + }
> +
> +
> +-FORCE_INLINE_TEMPLATE size_t ZSTD_HcFindBestMatch_extDict_selectMLS (
> ++static inline size_t ZSTD_HcFindBestMatch_extDict_selectMLS (
> +                         ZSTD_matchState_t* ms,
> +                         const BYTE* ip, const BYTE* const iLimit,
> +                         size_t* offsetPtr)
> +--
> +2.44.0
> +
> diff --git a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
> b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
> index d60c0f3190..4e688e44a7 100644
> --- a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
> +++ b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
> @@ -10,6 +10,7 @@ SRC_URI = "gitsm://
> github.com/KhronosGroup/Vulkan-Samples.git;branch=main;protoc
>
> file://0001-Do-not-use-LFS64-functions-on-linux-musl.patch;patchdir=third_party/spdlog
> \
>
> file://0001-Deprecate-u8string_view.patch;patchdir=third_party/spdlog \
>             file://32bit.patch \
> +
>  file://0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch;patchdir=third_party/ktx
> \
>             "
>
>  UPSTREAM_CHECK_COMMITS = "1"
> --
> 2.25.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#201645):
> https://lists.openembedded.org/g/openembedded-core/message/201645
> Mute This Topic: https://lists.openembedded.org/mt/107118822/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Changqing Li July 9, 2024, 8:03 a.m. UTC | #2
On 7/9/24 15:37, Alexander Kanavin wrote:
> **
> *CAUTION: This email comes from a non Wind River email account!*
> Do not click links or open attachments unless you recognize the sender 
> and know the content is safe.
> We haven’t updated Vulkan-samples in a while, can you check if the 
> issue still occurs on the latest revision?
>
> Patches like this are difficult to remove, once added because one is 
> expected to ‘prove’ they’re not needed, so I’d rather update.
>
> Alex

ktx under Vulkan-Samples has not been updated since 2021. I have report 
this issue to upstream Vulkan-Samples,

so proberbally need to see  if upstream Vulkan-Samples will like to 
update the libktx?

//Changqing

>
> On Tue 9. Jul 2024 at 9.32, Changqing Li via lists.openembedded.org 
> <https://urldefense.com/v3/__http://lists.openembedded.org__;!!AjveYdw8EvQ!cPwLL6W6ja8cj43rxGT4QmpSLh90iciuBLP1z_FIc5MsiZLkjY1V8e5kywVgvcuq7M5Dxx90SR8Zeo40kWVTBpdg_00$> 
> <changqing.li 
> <https://urldefense.com/v3/__http://changqing.li__;!!AjveYdw8EvQ!cPwLL6W6ja8cj43rxGT4QmpSLh90iciuBLP1z_FIc5MsiZLkjY1V8e5kywVgvcuq7M5Dxx90SR8Zeo40kWVT7jpOEPM$>=windriver.com@lists.openembedded.org> 
> wrote:
>
>     From: Changqing Li <changqing.li@windriver.com>
>
>     When debug build is enabled(-Og is used), vulkan-samples do_compile
>     failed with error:
>     In function 'ZSTD_compressBlock_lazy_generic',
>         inlined from 'ZSTD_compressBlock_greedy' at
>     TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21914:12:
>     TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21551:30:
>     error: inlining failed in call to 'always_inline'
>     'ZSTD_HcFindBestMatch_selectMLS': function not considered for inlining
>      | FORCE_INLINE_TEMPLATE size_t ZSTD_HcFindBestMatch_selectMLS (
>           | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>     TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21736:32:
>     note: called from here
>     |             size_t const ml2 = searchMax(ms, ip, iend,
>     &offsetFound);
>
>     Refer [1], always_inline is not suggested to use with indirect
>     function
>     call, replace always_inline with inline to fix the issue
>
>     [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107931
>     <https://urldefense.com/v3/__https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107931__;!!AjveYdw8EvQ!cPwLL6W6ja8cj43rxGT4QmpSLh90iciuBLP1z_FIc5MsiZLkjY1V8e5kywVgvcuq7M5Dxx90SR8Zeo40kWVT33BBzsg$>
>
>     Signed-off-by: Changqing Li <changqing.li@windriver.com>
>     ---
>      ...ce-FORCE_INLINE_TEMPLATE-with-inline.patch | 52
>     +++++++++++++++++++
>      .../vulkan/vulkan-samples_git.bb
>     <https://urldefense.com/v3/__http://vulkan-samples_git.bb__;!!AjveYdw8EvQ!cPwLL6W6ja8cj43rxGT4QmpSLh90iciuBLP1z_FIc5MsiZLkjY1V8e5kywVgvcuq7M5Dxx90SR8Zeo40kWVTU43RwXc$>
>                 |  1 +
>      2 files changed, 53 insertions(+)
>      create mode 100644
>     meta/recipes-graphics/vulkan/vulkan-samples/0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch
>
>     diff --git
>     a/meta/recipes-graphics/vulkan/vulkan-samples/0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch
>     b/meta/recipes-graphics/vulkan/vulkan-samples/0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch
>     new file mode 100644
>     index 0000000000..22538d4119
>     --- /dev/null
>     +++
>     b/meta/recipes-graphics/vulkan/vulkan-samples/0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch
>     @@ -0,0 +1,52 @@
>     +From a7bfe82a311c713b12bb83b8488574ad5c784f89 Mon Sep 17 00:00:00
>     2001
>     +From: Changqing Li <changqing.li@windriver.com>
>     +Date: Tue, 9 Jul 2024 04:29:11 +0000
>     +Subject: [PATCH] zstd.c: replace FORCE_INLINE_TEMPLATE with inline
>     +
>     +Refer [1], always-inline is not suggested to be used if you have
>     indirect
>     ++calls. so replace FORCE_INLINE_TEMPLATE with inline to fix error:
>     +In function 'ZSTD_compressBlock_lazy_generic',
>     +    inlined from 'ZSTD_compressBlock_greedy' at
>     TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21914:12:
>     +TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21551:30:
>     error: inlining failed in call to 'always_inline'
>     'ZSTD_HcFindBestMatch_selectMLS': function not considered for inlining
>     + | FORCE_INLINE_TEMPLATE size_t ZSTD_HcFindBestMatch_selectMLS (
>     +      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>     +TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21736:32:
>     note: called from here
>     +|             size_t const ml2 = searchMax(ms, ip, iend,
>     &offsetFound);
>     +
>     +Upstream-Status: Inappropriate [ Latest upstream ktx don't have
>     this part code ]
>     +
>     +Has report this issue to upstream Vulkan-Samples, refer [2]
>     +
>     +[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107931
>     <https://urldefense.com/v3/__https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107931__;!!AjveYdw8EvQ!cPwLL6W6ja8cj43rxGT4QmpSLh90iciuBLP1z_FIc5MsiZLkjY1V8e5kywVgvcuq7M5Dxx90SR8Zeo40kWVT33BBzsg$>
>     +[2] https://github.com/KhronosGroup/Vulkan-Samples/issues/1089
>     <https://urldefense.com/v3/__https://github.com/KhronosGroup/Vulkan-Samples/issues/1089__;!!AjveYdw8EvQ!cPwLL6W6ja8cj43rxGT4QmpSLh90iciuBLP1z_FIc5MsiZLkjY1V8e5kywVgvcuq7M5Dxx90SR8Zeo40kWVTJ9jXLJ8$>
>     +
>     +Signed-off-by: Changqing Li <changqing.li@windriver.com>
>     +---
>     + lib/basisu/zstd/zstd.c | 4 ++--
>     + 1 file changed, 2 insertions(+), 2 deletions(-)
>     +
>     +diff --git a/lib/basisu/zstd/zstd.c b/lib/basisu/zstd/zstd.c
>     +index eaf13738..423f149e 100644
>     +--- a/lib/basisu/zstd/zstd.c
>     ++++ b/lib/basisu/zstd/zstd.c
>     +@@ -21548,7 +21548,7 @@ size_t ZSTD_HcFindBestMatch_generic (
>     + }
>     +
>     +
>     +-FORCE_INLINE_TEMPLATE size_t ZSTD_HcFindBestMatch_selectMLS (
>     ++static inline size_t ZSTD_HcFindBestMatch_selectMLS (
>     +                         ZSTD_matchState_t* ms,
>     +                         const BYTE* ip, const BYTE* const iLimit,
>     +                         size_t* offsetPtr)
>     +@@ -21596,7 +21596,7 @@ static size_t
>     ZSTD_HcFindBestMatch_dedicatedDictSearch_selectMLS (
>     + }
>     +
>     +
>     +-FORCE_INLINE_TEMPLATE size_t
>     ZSTD_HcFindBestMatch_extDict_selectMLS (
>     ++static inline size_t ZSTD_HcFindBestMatch_extDict_selectMLS (
>     +                         ZSTD_matchState_t* ms,
>     +                         const BYTE* ip, const BYTE* const iLimit,
>     +                         size_t* offsetPtr)
>     +--
>     +2.44.0
>     +
>     diff --git a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
>     <https://urldefense.com/v3/__http://vulkan-samples_git.bb__;!!AjveYdw8EvQ!cPwLL6W6ja8cj43rxGT4QmpSLh90iciuBLP1z_FIc5MsiZLkjY1V8e5kywVgvcuq7M5Dxx90SR8Zeo40kWVTU43RwXc$>
>     b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
>     <https://urldefense.com/v3/__http://vulkan-samples_git.bb__;!!AjveYdw8EvQ!cPwLL6W6ja8cj43rxGT4QmpSLh90iciuBLP1z_FIc5MsiZLkjY1V8e5kywVgvcuq7M5Dxx90SR8Zeo40kWVTU43RwXc$>
>     index d60c0f3190..4e688e44a7 100644
>     --- a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
>     <https://urldefense.com/v3/__http://vulkan-samples_git.bb__;!!AjveYdw8EvQ!cPwLL6W6ja8cj43rxGT4QmpSLh90iciuBLP1z_FIc5MsiZLkjY1V8e5kywVgvcuq7M5Dxx90SR8Zeo40kWVTU43RwXc$>
>     +++ b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
>     <https://urldefense.com/v3/__http://vulkan-samples_git.bb__;!!AjveYdw8EvQ!cPwLL6W6ja8cj43rxGT4QmpSLh90iciuBLP1z_FIc5MsiZLkjY1V8e5kywVgvcuq7M5Dxx90SR8Zeo40kWVTU43RwXc$>
>     @@ -10,6 +10,7 @@ SRC_URI =
>     "gitsm://github.com/KhronosGroup/Vulkan-Samples.git;branch=main;protoc
>     <https://urldefense.com/v3/__http://github.com/KhronosGroup/Vulkan-Samples.git;branch=main;protoc__;!!AjveYdw8EvQ!cPwLL6W6ja8cj43rxGT4QmpSLh90iciuBLP1z_FIc5MsiZLkjY1V8e5kywVgvcuq7M5Dxx90SR8Zeo40kWVThP3VTJ0$>
>     file://0001-Do-not-use-LFS64-functions-on-linux-musl.patch;patchdir=third_party/spdlog
>     \
>     file://0001-Deprecate-u8string_view.patch;patchdir=third_party/spdlog
>     \
>     file://32bit.patch \
>     +
>     file://0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch;patchdir=third_party/ktx
>     \
>                 "
>
>      UPSTREAM_CHECK_COMMITS = "1"
>     -- 
>     2.25.1
>
>
>     -=-=-=-=-=-=-=-=-=-=-=-
>     Links: You receive all messages sent to this group.
>     View/Reply Online (#201645):
>     https://lists.openembedded.org/g/openembedded-core/message/201645
>     <https://urldefense.com/v3/__https://lists.openembedded.org/g/openembedded-core/message/201645__;!!AjveYdw8EvQ!cPwLL6W6ja8cj43rxGT4QmpSLh90iciuBLP1z_FIc5MsiZLkjY1V8e5kywVgvcuq7M5Dxx90SR8Zeo40kWVTRCp2LU8$>
>     Mute This Topic:
>     https://lists.openembedded.org/mt/107118822/1686489
>     <https://urldefense.com/v3/__https://lists.openembedded.org/mt/107118822/1686489__;!!AjveYdw8EvQ!cPwLL6W6ja8cj43rxGT4QmpSLh90iciuBLP1z_FIc5MsiZLkjY1V8e5kywVgvcuq7M5Dxx90SR8Zeo40kWVTr4QQbaw$>
>     Group Owner: openembedded-core+owner@lists.openembedded.org
>     <mailto:openembedded-core%2Bowner@lists.openembedded.org>
>     Unsubscribe:
>     https://lists.openembedded.org/g/openembedded-core/unsub
>     <https://urldefense.com/v3/__https://lists.openembedded.org/g/openembedded-core/unsub__;!!AjveYdw8EvQ!cPwLL6W6ja8cj43rxGT4QmpSLh90iciuBLP1z_FIc5MsiZLkjY1V8e5kywVgvcuq7M5Dxx90SR8Zeo40kWVTJswMGfk$>
>     [alex.kanavin@gmail.com]
>     -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch
new file mode 100644
index 0000000000..22538d4119
--- /dev/null
+++ b/meta/recipes-graphics/vulkan/vulkan-samples/0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch
@@ -0,0 +1,52 @@ 
+From a7bfe82a311c713b12bb83b8488574ad5c784f89 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 9 Jul 2024 04:29:11 +0000
+Subject: [PATCH] zstd.c: replace FORCE_INLINE_TEMPLATE with inline
+
+Refer [1], always-inline is not suggested to be used if you have indirect
++calls. so replace FORCE_INLINE_TEMPLATE with inline to fix error:
+In function 'ZSTD_compressBlock_lazy_generic',
+    inlined from 'ZSTD_compressBlock_greedy' at TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21914:12:
+TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21551:30: error: inlining failed in call to 'always_inline' 'ZSTD_HcFindBestMatch_selectMLS': function not considered for inlining
+ | FORCE_INLINE_TEMPLATE size_t ZSTD_HcFindBestMatch_selectMLS (
+      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+TOPDIR/tmp-glibc/work/core2-32-wrs-linux/vulkan-samples/git/git/third_party/ktx/lib/basisu/zstd/zstd.c:21736:32: note: called from here
+|             size_t const ml2 = searchMax(ms, ip, iend, &offsetFound);
+
+Upstream-Status: Inappropriate [ Latest upstream ktx don't have this part code ]
+
+Has report this issue to upstream Vulkan-Samples, refer [2]
+
+[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107931
+[2] https://github.com/KhronosGroup/Vulkan-Samples/issues/1089
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ lib/basisu/zstd/zstd.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/basisu/zstd/zstd.c b/lib/basisu/zstd/zstd.c
+index eaf13738..423f149e 100644
+--- a/lib/basisu/zstd/zstd.c
++++ b/lib/basisu/zstd/zstd.c
+@@ -21548,7 +21548,7 @@ size_t ZSTD_HcFindBestMatch_generic (
+ }
+ 
+ 
+-FORCE_INLINE_TEMPLATE size_t ZSTD_HcFindBestMatch_selectMLS (
++static inline size_t ZSTD_HcFindBestMatch_selectMLS (
+                         ZSTD_matchState_t* ms,
+                         const BYTE* ip, const BYTE* const iLimit,
+                         size_t* offsetPtr)
+@@ -21596,7 +21596,7 @@ static size_t ZSTD_HcFindBestMatch_dedicatedDictSearch_selectMLS (
+ }
+ 
+ 
+-FORCE_INLINE_TEMPLATE size_t ZSTD_HcFindBestMatch_extDict_selectMLS (
++static inline size_t ZSTD_HcFindBestMatch_extDict_selectMLS (
+                         ZSTD_matchState_t* ms,
+                         const BYTE* ip, const BYTE* const iLimit,
+                         size_t* offsetPtr)
+-- 
+2.44.0
+
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
index d60c0f3190..4e688e44a7 100644
--- a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
@@ -10,6 +10,7 @@  SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git;branch=main;protoc
            file://0001-Do-not-use-LFS64-functions-on-linux-musl.patch;patchdir=third_party/spdlog \
            file://0001-Deprecate-u8string_view.patch;patchdir=third_party/spdlog \
            file://32bit.patch \
+           file://0001-zstd.c-replace-FORCE_INLINE_TEMPLATE-with-inline.patch;patchdir=third_party/ktx \
            "
 
 UPSTREAM_CHECK_COMMITS = "1"