Blender
V5.0
source
blender
gpu
vulkan
vk_memory_pool.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2025 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9
#pragma once
10
11
#include "
vk_common.hh
"
12
13
namespace
blender::gpu
{
14
class
VKDevice
;
15
16
constexpr
VkExternalMemoryHandleTypeFlags
vk_external_memory_handle_type
()
17
{
18
#ifdef _WIN32
19
return
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT;
20
#else
21
return
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT;
22
#endif
23
}
24
28
struct
VKMemoryPool
{
29
/* NOTE: This attribute needs to be kept alive as it will be read by VMA when allocating inside
30
* the pool. */
31
VkExportMemoryAllocateInfoKHR
info
= {VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR};
32
VmaPool
pool
= VK_NULL_HANDLE;
33
34
void
deinit
(
VKDevice
&device);
35
};
36
37
struct
VKMemoryPools
{
38
VKMemoryPool
external_memory_image
= {};
39
VKMemoryPool
external_memory_pixel_buffer
= {};
40
41
void
init
(
VKDevice
&device);
42
void
deinit
(
VKDevice
&device);
43
44
private
:
45
void
init_external_memory_image(
VKDevice
&device);
46
void
init_external_memory_pixel_buffer(
VKDevice
&device);
47
};
48
49
}
// namespace blender::gpu
init
void init()
blender::gpu::VKDevice
Definition
vk_device.hh:135
blender::gpu
Definition
blf_internal_types.hh:32
blender::gpu::vk_external_memory_handle_type
constexpr VkExternalMemoryHandleTypeFlags vk_external_memory_handle_type()
Definition
vk_memory_pool.hh:16
blender::gpu::VKMemoryPool
Definition
vk_memory_pool.hh:28
blender::gpu::VKMemoryPool::pool
VmaPool pool
Definition
vk_memory_pool.hh:32
blender::gpu::VKMemoryPool::info
VkExportMemoryAllocateInfoKHR info
Definition
vk_memory_pool.hh:31
blender::gpu::VKMemoryPool::deinit
void deinit(VKDevice &device)
Definition
vk_memory_pool.cc:99
blender::gpu::VKMemoryPools
Definition
vk_memory_pool.hh:37
blender::gpu::VKMemoryPools::external_memory_image
VKMemoryPool external_memory_image
Definition
vk_memory_pool.hh:38
blender::gpu::VKMemoryPools::deinit
void deinit(VKDevice &device)
Definition
vk_memory_pool.cc:93
blender::gpu::VKMemoryPools::external_memory_pixel_buffer
VKMemoryPool external_memory_pixel_buffer
Definition
vk_memory_pool.hh:39
vk_common.hh
Generated on
for Blender by
doxygen
1.16.1