1 /* 2 * Copyright 2019 Google LLC 3 * SPDX-License-Identifier: MIT 4 * 5 * based in part on anv and radv which are: 6 * Copyright © 2015 Intel Corporation 7 * Copyright © 2016 Red Hat. 8 * Copyright © 2016 Bas Nieuwenhuizen 9 */ 10 11 #ifndef VN_BUFFER_H 12 #define VN_BUFFER_H 13 14 #include "vn_common.h" 15 16 struct vn_buffer { 17 struct vn_object_base base; 18 19 VkMemoryRequirements2 memory_requirements; 20 VkMemoryDedicatedRequirements dedicated_requirements; 21 }; 22 VK_DEFINE_NONDISP_HANDLE_CASTS(vn_buffer, 23 base.base, 24 VkBuffer, 25 VK_OBJECT_TYPE_BUFFER) 26 27 struct vn_buffer_view { 28 struct vn_object_base base; 29 }; 30 VK_DEFINE_NONDISP_HANDLE_CASTS(vn_buffer_view, 31 base.base, 32 VkBufferView, 33 VK_OBJECT_TYPE_BUFFER_VIEW) 34 35 VkResult 36 vn_buffer_create(struct vn_device *dev, 37 const VkBufferCreateInfo *create_info, 38 const VkAllocationCallbacks *alloc, 39 struct vn_buffer **out_buf); 40 41 #endif /* VN_BUFFER_H */ 42