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