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 <
[email protected]> wrote:

> From: Changqing Li <[email protected]>
>
> 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 <[email protected]>
> ---
>  ...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 <[email protected]>
> +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 <[email protected]>
> +---
> + 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 (#201646): 
https://lists.openembedded.org/g/openembedded-core/message/201646
Mute This Topic: https://lists.openembedded.org/mt/107118822/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to