Blender
V4.3
source
blender
gpu
vulkan
vk_image_view.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2023 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
9
#pragma once
10
11
#include "
vk_common.hh
"
12
13
#include "
BLI_string_ref.hh
"
14
#include "
BLI_utility_mixins.hh
"
15
16
namespace
blender::gpu
{
17
class
VKTexture;
18
19
struct
VKImageViewInfo
{
20
eImageViewUsage
usage
;
21
IndexRange
layer_range
;
22
IndexRange
mip_range
;
23
union
{
24
char
swizzle
[4];
25
uint32_t
swizzle_data
;
26
};
27
bool
use_stencil
;
28
bool
use_srgb
;
35
VKImageViewArrayed
arrayed
;
36
37
bool
operator==
(
const
VKImageViewInfo
&other)
const
38
{
39
return
usage
== other.usage &&
layer_range
== other.layer_range &&
40
mip_range
== other.mip_range &&
swizzle_data
== other.swizzle_data &&
41
use_stencil
== other.use_stencil &&
use_srgb
== other.use_srgb &&
42
arrayed
== other.arrayed;
43
}
44
};
45
46
class
VKImageView
:
NonCopyable
{
47
VkImageView vk_image_view_ = VK_NULL_HANDLE;
48
VkFormat vk_format_ = VK_FORMAT_UNDEFINED;
49
50
public
:
51
const
VKImageViewInfo
info
;
52
53
VKImageView
(
VKTexture
&texture,
const
VKImageViewInfo
&
info
,
StringRefNull
name);
54
55
VKImageView
(
VKImageView
&&other);
56
~VKImageView
();
57
58
VkImageView
vk_handle
()
const
59
{
60
BLI_assert
(vk_image_view_ != VK_NULL_HANDLE);
61
return
vk_image_view_;
62
}
63
64
VkFormat
vk_format
()
const
65
{
66
return
vk_format_;
67
}
68
};
69
70
}
// namespace blender::gpu
BLI_assert
#define BLI_assert(a)
Definition
BLI_assert.h:50
BLI_string_ref.hh
BLI_utility_mixins.hh
blender::IndexRange
Definition
BLI_index_range.hh:50
blender::NonCopyable
Definition
BLI_utility_mixins.hh:16
blender::StringRefNull
Definition
BLI_string_ref.hh:111
blender::gpu::VKImageView
Definition
vk_image_view.hh:46
blender::gpu::VKImageView::~VKImageView
~VKImageView()
Definition
vk_image_view.cc:76
blender::gpu::VKImageView::vk_format
VkFormat vk_format() const
Definition
vk_image_view.hh:64
blender::gpu::VKImageView::VKImageView
VKImageView(VKTexture &texture, const VKImageViewInfo &info, StringRefNull name)
Definition
vk_image_view.cc:32
blender::gpu::VKImageView::info
const VKImageViewInfo info
Definition
vk_image_view.hh:51
blender::gpu::VKImageView::vk_handle
VkImageView vk_handle() const
Definition
vk_image_view.hh:58
blender::gpu::VKTexture
Definition
vk_texture.hh:22
blender::gpu
Definition
blf_internal_types.hh:23
blender::gpu::VKImageViewArrayed
VKImageViewArrayed
Definition
vk_common.hh:42
blender::gpu::eImageViewUsage
eImageViewUsage
Definition
vk_common.hh:35
uint32_t
unsigned int uint32_t
Definition
stdint.h:80
blender::gpu::VKImageViewInfo
Definition
vk_image_view.hh:19
blender::gpu::VKImageViewInfo::use_stencil
bool use_stencil
Definition
vk_image_view.hh:27
blender::gpu::VKImageViewInfo::operator==
bool operator==(const VKImageViewInfo &other) const
Definition
vk_image_view.hh:37
blender::gpu::VKImageViewInfo::swizzle_data
uint32_t swizzle_data
Definition
vk_image_view.hh:25
blender::gpu::VKImageViewInfo::usage
eImageViewUsage usage
Definition
vk_image_view.hh:20
blender::gpu::VKImageViewInfo::use_srgb
bool use_srgb
Definition
vk_image_view.hh:28
blender::gpu::VKImageViewInfo::mip_range
IndexRange mip_range
Definition
vk_image_view.hh:22
blender::gpu::VKImageViewInfo::arrayed
VKImageViewArrayed arrayed
Definition
vk_image_view.hh:35
blender::gpu::VKImageViewInfo::swizzle
char swizzle[4]
Definition
vk_image_view.hh:24
blender::gpu::VKImageViewInfo::layer_range
IndexRange layer_range
Definition
vk_image_view.hh:21
vk_common.hh
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0