Blender
V5.0
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
8
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:46
BLI_string_ref.hh
BLI_utility_mixins.hh
blender::IndexRange
Definition
BLI_index_range.hh:50
blender::NonCopyable::NonCopyable
NonCopyable(const NonCopyable &other)=delete
blender::StringRefNull
Definition
BLI_string_ref.hh:132
blender::gpu::VKImageView::~VKImageView
~VKImageView()
Definition
vk_image_view.cc:73
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:31
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:31
texture
TEX_TEMPLATE DataVec texture(T, FltCoord, float=0.0f) RET
blender::gpu
Definition
blf_internal_types.hh:32
blender::gpu::VKImageViewArrayed
VKImageViewArrayed
Definition
vk_common.hh:52
blender::gpu::eImageViewUsage
eImageViewUsage
Definition
vk_common.hh:45
name
const char * name
Definition
python_compat.hh:32
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
for Blender by
doxygen
1.16.1