xref: /aosp_15_r20/external/mesa3d/src/amd/vulkan/radv_buffer_view.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright © 2016 Red Hat.
3  * Copyright © 2016 Bas Nieuwenhuizen
4  *
5  * based in part on anv driver which is:
6  * Copyright © 2015 Intel Corporation
7  *
8  * SPDX-License-Identifier: MIT
9  */
10 
11 #ifndef RADV_BUFFER_VIEW_H
12 #define RADV_BUFFER_VIEW_H
13 
14 #include "vk_buffer_view.h"
15 
16 struct radv_device;
17 
18 struct radv_buffer_view {
19    struct vk_buffer_view vk;
20    struct radeon_winsys_bo *bo;
21    uint32_t state[4];
22 };
23 
24 VK_DEFINE_NONDISP_HANDLE_CASTS(radv_buffer_view, vk.base, VkBufferView, VK_OBJECT_TYPE_BUFFER_VIEW)
25 
26 void radv_buffer_view_init(struct radv_buffer_view *view, struct radv_device *device,
27                            const VkBufferViewCreateInfo *pCreateInfo);
28 void radv_buffer_view_finish(struct radv_buffer_view *view);
29 
30 void radv_make_texel_buffer_descriptor(struct radv_device *device, uint64_t va, VkFormat vk_format, unsigned offset,
31                                        unsigned range, uint32_t *state);
32 
33 #endif /* RADV_BUFFER_VIEW_H */
34