summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/vulkan/vulkan-samples/32bit.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-graphics/vulkan/vulkan-samples/32bit.patch')
-rw-r--r--meta/recipes-graphics/vulkan/vulkan-samples/32bit.patch101
1 files changed, 101 insertions, 0 deletions
diff --git a/meta/recipes-graphics/vulkan/vulkan-samples/32bit.patch b/meta/recipes-graphics/vulkan/vulkan-samples/32bit.patch
new file mode 100644
index 0000000000..644c3b6167
--- /dev/null
+++ b/meta/recipes-graphics/vulkan/vulkan-samples/32bit.patch
@@ -0,0 +1,101 @@
1From 49761ca63797014223d8e3ff6fb2c0235803c19c Mon Sep 17 00:00:00 2001
2From: asuessenbach <asuessenbach@nvidia.com>
3Date: Wed, 3 May 2023 09:50:08 +0200
4Subject: [PATCH] Resolve some Vulkan-Hpp-related issues on Win32.
5
6This patch fixes vulkan-samples compilation on 32-bit hosts.
7
8Upstream-Status: Backport
9Signed-off-by: Ross Burton <ross.burton@arm.com>
10
11---
12 framework/common/hpp_vk_common.h | 4 ++--
13 framework/core/hpp_buffer.cpp | 4 ++--
14 framework/core/hpp_buffer.h | 2 +-
15 framework/core/hpp_image.cpp | 2 +-
16 samples/api/hpp_texture_loading/hpp_texture_loading.cpp | 2 +-
17 5 files changed, 7 insertions(+), 7 deletions(-)
18
19diff --git a/framework/common/hpp_vk_common.h b/framework/common/hpp_vk_common.h
20index 39ed3dcde..0cbbe479e 100644
21--- a/framework/common/hpp_vk_common.h
22+++ b/framework/common/hpp_vk_common.h
23@@ -92,7 +92,7 @@ inline bool is_dynamic_buffer_descriptor_type(vk::DescriptorType descriptor_type
24
25 inline vk::ShaderModule load_shader(const std::string &filename, vk::Device device, vk::ShaderStageFlagBits stage)
26 {
27- return vkb::load_shader(filename, device, static_cast<VkShaderStageFlagBits>(stage));
28+ return static_cast<vk::ShaderModule>(vkb::load_shader(filename, device, static_cast<VkShaderStageFlagBits>(stage)));
29 }
30
31 inline void set_image_layout(vk::CommandBuffer command_buffer,
32@@ -104,7 +104,7 @@ inline void set_image_layout(vk::CommandBuffer command_buffer,
33 vk::PipelineStageFlags dst_mask = vk::PipelineStageFlagBits::eAllCommands)
34 {
35 vkb::set_image_layout(command_buffer,
36- image,
37+ static_cast<VkImage>(image),
38 static_cast<VkImageLayout>(old_layout),
39 static_cast<VkImageLayout>(new_layout),
40 static_cast<VkImageSubresourceRange>(subresource_range),
41diff --git a/framework/core/hpp_buffer.cpp b/framework/core/hpp_buffer.cpp
42index 8da265acb..e6509b9f4 100644
43--- a/framework/core/hpp_buffer.cpp
44+++ b/framework/core/hpp_buffer.cpp
45@@ -84,7 +84,7 @@ HPPBuffer::~HPPBuffer()
46 if (get_handle() && (allocation != VK_NULL_HANDLE))
47 {
48 unmap();
49- vmaDestroyBuffer(get_device().get_memory_allocator(), get_handle(), allocation);
50+ vmaDestroyBuffer(get_device().get_memory_allocator(), static_cast<VkBuffer>(get_handle()), allocation);
51 }
52 }
53
54@@ -93,7 +93,7 @@ VmaAllocation HPPBuffer::get_allocation() const
55 return allocation;
56 }
57
58-VkDeviceMemory HPPBuffer::get_memory() const
59+vk::DeviceMemory HPPBuffer::get_memory() const
60 {
61 return memory;
62 }
63diff --git a/framework/core/hpp_buffer.h b/framework/core/hpp_buffer.h
64index 7a243c265..bad47406d 100644
65--- a/framework/core/hpp_buffer.h
66+++ b/framework/core/hpp_buffer.h
67@@ -55,7 +55,7 @@ class HPPBuffer : public vkb::core::HPPVulkanResource<vk::Buffer>
68
69 VmaAllocation get_allocation() const;
70 const uint8_t *get_data() const;
71- VkDeviceMemory get_memory() const;
72+ vk::DeviceMemory get_memory() const;
73
74 /**
75 * @return Return the buffer's device address (note: requires that the buffer has been created with the VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT usage fla)
76diff --git a/framework/core/hpp_image.cpp b/framework/core/hpp_image.cpp
77index 00fa89ba7..5e6f27363 100644
78--- a/framework/core/hpp_image.cpp
79+++ b/framework/core/hpp_image.cpp
80@@ -138,7 +138,7 @@ HPPImage::~HPPImage()
81 if (get_handle() && memory)
82 {
83 unmap();
84- vmaDestroyImage(get_device().get_memory_allocator(), get_handle(), memory);
85+ vmaDestroyImage(get_device().get_memory_allocator(), static_cast<VkImage>(get_handle()), memory);
86 }
87 }
88
89diff --git a/samples/api/hpp_texture_loading/hpp_texture_loading.cpp b/samples/api/hpp_texture_loading/hpp_texture_loading.cpp
90index 11a1f24c1..cbdd22773 100644
91--- a/samples/api/hpp_texture_loading/hpp_texture_loading.cpp
92+++ b/samples/api/hpp_texture_loading/hpp_texture_loading.cpp
93@@ -170,7 +170,7 @@ void HPPTextureLoading::load_texture()
94 memory_allocate_info = {memory_requirements.size,
95 get_device()->get_gpu().get_memory_type(memory_requirements.memoryTypeBits, vk::MemoryPropertyFlagBits::eDeviceLocal)};
96 texture.device_memory = get_device()->get_handle().allocateMemory(memory_allocate_info);
97- VK_CHECK(vkBindImageMemory(get_device()->get_handle(), texture.image, texture.device_memory, 0));
98+ get_device()->get_handle().bindImageMemory(texture.image, texture.device_memory, 0);
99
100 vk::CommandBuffer copy_command = get_device()->create_command_buffer(vk::CommandBufferLevel::ePrimary, true);
101