xref: /aosp_15_r20/external/mesa3d/src/nouveau/vulkan/nvk_buffer_view.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright © 2022 Collabora Ltd. and Red Hat Inc.
3  * SPDX-License-Identifier: MIT
4  */
5 #ifndef NVK_BUFFER_VIEW_H
6 #define NVK_BUFFER_VIEW_H 1
7 
8 #include "nvk_private.h"
9 
10 #include "nvk_descriptor_types.h"
11 
12 #include "vk_buffer_view.h"
13 
14 struct nvk_physical_device;
15 
16 VkFormatFeatureFlags2
17 nvk_get_buffer_format_features(struct nvk_physical_device *pdev,
18                                VkFormat format);
19 
20 struct nvk_buffer_view {
21    struct vk_buffer_view vk;
22 
23    /* Selected based on nvk_use_edb_buffer_views() */
24    union {
25       struct nvk_buffer_view_descriptor desc;
26       struct nvk_edb_buffer_view_descriptor edb_desc;
27    };
28 };
29 
30 VK_DEFINE_NONDISP_HANDLE_CASTS(nvk_buffer_view, vk.base, VkBufferView,
31                                VK_OBJECT_TYPE_BUFFER_VIEW)
32 
33 #endif
34