xref: /aosp_15_r20/external/mesa3d/src/amd/vulkan/radv_cp_reg_shadowing.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_CP_REG_SHADOWING_H
12 #define RADV_CP_REG_SHADOWING_H
13 
14 #include "radv_radeon_winsys.h"
15 
16 struct radv_device;
17 struct radv_queue_state;
18 struct radv_queue;
19 
20 VkResult radv_create_shadow_regs_preamble(struct radv_device *device, struct radv_queue_state *queue_state);
21 
22 void radv_destroy_shadow_regs_preamble(struct radv_device *device, struct radv_queue_state *queue_state,
23                                        struct radeon_winsys *ws);
24 
25 void radv_emit_shadow_regs_preamble(struct radeon_cmdbuf *cs, const struct radv_device *device,
26                                     struct radv_queue_state *queue_state);
27 
28 VkResult radv_init_shadowed_regs_buffer_state(const struct radv_device *device, struct radv_queue *queue);
29 
30 #endif /* RADV_CP_REG_SHADOWING_H */
31