Blender
V4.3
source
blender
gpu
vulkan
vk_pixel_buffer.cc
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2022 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
9
#include "
vk_pixel_buffer.hh
"
10
11
#include "
vk_context.hh
"
12
13
namespace
blender::gpu
{
14
15
VKPixelBuffer::VKPixelBuffer
(
size_t
size) :
PixelBuffer
(size)
16
{
17
buffer_.
create
(size,
18
GPU_USAGE_STATIC
,
19
VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT,
20
true
);
21
debug::object_label
(buffer_.
vk_handle
(),
"PixelBuffer"
);
22
}
23
24
void
*
VKPixelBuffer::map
()
25
{
26
/* Vulkan buffers are always mapped between allocation and freeing. */
27
return
buffer_.
mapped_memory_get
();
28
}
29
30
void
VKPixelBuffer::unmap
()
31
{
32
/* Vulkan buffers are always mapped between allocation and freeing. */
33
}
34
35
int64_t
VKPixelBuffer::get_native_handle
()
36
{
37
return
int64_t
(buffer_.
vk_handle
());
38
}
39
40
size_t
VKPixelBuffer::get_size
()
41
{
42
return
size_
;
43
}
44
45
}
// namespace blender::gpu
GPU_USAGE_STATIC
@ GPU_USAGE_STATIC
Definition
GPU_vertex_buffer.hh:42
blender::gpu::PixelBuffer
Definition
gpu_texture_private.hh:338
blender::gpu::PixelBuffer::size_
size_t size_
Definition
gpu_texture_private.hh:340
blender::gpu::VKBuffer::create
bool create(size_t size, GPUUsageType usage, VkBufferUsageFlags buffer_usage, bool is_host_visible=true)
Definition
vk_buffer.cc:53
blender::gpu::VKBuffer::vk_handle
VkBuffer vk_handle() const
Definition
vk_buffer.hh:69
blender::gpu::VKBuffer::mapped_memory_get
void * mapped_memory_get() const
Definition
vk_buffer.cc:151
blender::gpu::VKPixelBuffer::unmap
void unmap() override
Definition
vk_pixel_buffer.cc:30
blender::gpu::VKPixelBuffer::get_native_handle
int64_t get_native_handle() override
Definition
vk_pixel_buffer.cc:35
blender::gpu::VKPixelBuffer::VKPixelBuffer
VKPixelBuffer(size_t size)
Definition
vk_pixel_buffer.cc:15
blender::gpu::VKPixelBuffer::map
void * map() override
Definition
vk_pixel_buffer.cc:24
blender::gpu::VKPixelBuffer::get_size
size_t get_size() override
Definition
vk_pixel_buffer.cc:40
blender::gpu::debug::object_label
void object_label(GLenum type, GLuint object, const char *name)
Definition
gl_debug.cc:344
blender::gpu
Definition
blf_internal_types.hh:23
int64_t
__int64 int64_t
Definition
stdint.h:89
vk_context.hh
vk_pixel_buffer.hh
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0