[v2,1/2] vulkan-samples: Fix cmake errors about plain signature

Message ID 20211114165235.3053064-1-raj.khem@gmail.com
State Accepted, archived
Commit f37d209220e2393384facf676f33fb7c68ab11e6
Headers show
Series [v2,1/2] vulkan-samples: Fix cmake errors about plain signature | expand

Commit Message

Khem Raj Nov. 14, 2021, 4:52 p.m. UTC
Fix some typecasting errors seen on 32bit platforms with clang

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
v2: Add another typecasting fix

 ...dd-explicit-static_cast-from-vk-Buff.patch | 35 +++++++++++++++++
 ...-mix-plain-and-keyword-target_link_l.patch | 38 +++++++++++++++++++
 .../vulkan/vulkan-samples_git.bb              |  2 +
 3 files changed, 75 insertions(+)
 create mode 100644 meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-Add-explicit-static_cast-from-vk-Buff.patch
 create mode 100644 meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-do-not-mix-plain-and-keyword-target_link_l.patch

Patch

diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-Add-explicit-static_cast-from-vk-Buff.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-Add-explicit-static_cast-from-vk-Buff.patch
new file mode 100644
index 00000000000..b0e7cdabe4a
--- /dev/null
+++ b/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-core-Add-explicit-static_cast-from-vk-Buff.patch
@@ -0,0 +1,35 @@ 
+From f88fd472e57b59013570f08949dbbc0875c1bae4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 13 Nov 2021 18:37:13 -0800
+Subject: [PATCH] framework/core: Add explicit static_cast from vk::Buffer to
+ VkBuffer
+
+This fixes errors like
+framework/core/hpp_buffer.cpp:149:3: error: no matching function for call to 'vmaDestroyBuffer'
+|                 vmaDestroyBuffer(vmaAllocator, handle, vmaAllocation);
+|                 ^~~~~~~~~~~~~~~~
+| /mnt/b/yoe/master/build/tmp/work/riscv32-yoe-linux-musl/vulkan-samples/git-r0/git/third_party/vma/src/vk_mem_alloc.h:3803:33: note: candidate function not viable: no known conversion from 'vk::Buffer' to 'V
+kBuffer' (aka 'unsigned long long') for 2nd argument
+
+Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Samples/pull/395]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ framework/core/hpp_buffer.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/framework/core/hpp_buffer.cpp b/framework/core/hpp_buffer.cpp
+index c1f5649..2609e4e 100644
+--- a/framework/core/hpp_buffer.cpp
++++ b/framework/core/hpp_buffer.cpp
+@@ -146,7 +146,7 @@ void HPPBuffer::destroy()
+ 	{
+ 		assert(vmaAllocation != VK_NULL_HANDLE);
+ 		unmap();
+-		vmaDestroyBuffer(vmaAllocator, handle, vmaAllocation);
++		vmaDestroyBuffer(vmaAllocator, static_cast<VkBuffer>(handle), vmaAllocation);
+ 	}
+ }
+ 
+-- 
+2.33.1
+
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-do-not-mix-plain-and-keyword-target_link_l.patch b/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-do-not-mix-plain-and-keyword-target_link_l.patch
new file mode 100644
index 00000000000..66ed8bb47d3
--- /dev/null
+++ b/meta/recipes-graphics/vulkan/vulkan-samples/0001-framework-do-not-mix-plain-and-keyword-target_link_l.patch
@@ -0,0 +1,38 @@ 
+From 64b806ab702a6f445fd84aca5f03bb85b86a66e3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 11 Nov 2021 18:37:09 -0800
+Subject: [PATCH] framework: do not mix plain and keyword
+ target_link_libraries() signatures
+
+Fixes
+| CMake Error at framework/CMakeLists.txt:461 (target_link_libraries):
+|   The plain signature for target_link_libraries has already been used with
+|   the target "framework".  All uses of target_link_libraries with a target                                            |   must be either all-keyword or all-plain.
+|
+|   The uses of the plain signature are here:
+|                                                                                                                       |    * framework/CMakeLists.txt:453 (target_link_libraries)
+|
+
+Upstream-Status: Submitted [https://github.com/KhronosGroup/Vulkan-Samples/pull/395]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ framework/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/framework/CMakeLists.txt b/framework/CMakeLists.txt
+index 948c796..13d3324 100644
+--- a/framework/CMakeLists.txt
++++ b/framework/CMakeLists.txt
+@@ -450,7 +450,7 @@ target_link_libraries(${PROJECT_NAME} PUBLIC
+     plugins)
+ 
+ if(${NEED_LINK_ATOMIC})
+-    target_link_libraries(${PROJECT_NAME} atomic)
++    target_link_libraries(${PROJECT_NAME} PUBLIC atomic)
+ endif()
+ 
+ # Link platform specific libraries
+-- 
+2.33.1
+
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
index 613ed592c61..81d8c6faf91 100644
--- a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
@@ -7,6 +7,8 @@  LIC_FILES_CHKSUM = "file://LICENSE;md5=48aa35cefb768436223a6e7f18dc2a2a"
 
 SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git;branch=master;protocol=https \
            file://0001-CMakeLists.txt-do-not-hardcode-lib-as-installation-t.patch \
+           file://0001-framework-do-not-mix-plain-and-keyword-target_link_l.patch \
+           file://0001-framework-core-Add-explicit-static_cast-from-vk-Buff.patch \
            file://debugfix.patch \
            "