xref: /aosp_15_r20/external/mesa3d/src/amd/vulkan/radix_sort/common/vk/barrier.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 // Copyright 2019 The Fuchsia Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef SRC_GRAPHICS_LIB_COMPUTE_COMMON_VK_BARRIER_H_
6 #define SRC_GRAPHICS_LIB_COMPUTE_COMMON_VK_BARRIER_H_
7 
8 //
9 //
10 //
11 
12 #include <vulkan/vulkan_core.h>
13 
14 //
15 //
16 //
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 //
23 //
24 //
25 
26 void
27 vk_barrier_compute_w_to_compute_r(VkCommandBuffer cb);
28 
29 void
30 vk_barrier_compute_w_to_transfer_r(VkCommandBuffer cb);
31 
32 void
33 vk_barrier_transfer_w_to_compute_r(VkCommandBuffer cb);
34 
35 void
36 vk_barrier_transfer_w_to_compute_w(VkCommandBuffer cb);
37 
38 void
39 vk_barrier_compute_w_to_indirect_compute_r(VkCommandBuffer cb);
40 
41 void
42 vk_barrier_transfer_w_compute_w_to_transfer_r(VkCommandBuffer cb);
43 
44 void
45 vk_barrier_compute_w_to_host_r(VkCommandBuffer cb);
46 
47 void
48 vk_barrier_transfer_w_to_host_r(VkCommandBuffer cb);
49 
50 void
51 vk_memory_barrier(VkCommandBuffer      cb,
52                   VkPipelineStageFlags src_stage,
53                   VkAccessFlags        src_mask,
54                   VkPipelineStageFlags dst_stage,
55                   VkAccessFlags        dst_mask);
56 
57 void
58 vk_barrier_debug(VkCommandBuffer cb);
59 
60 //
61 //
62 //
63 
64 #ifdef __cplusplus
65 }
66 #endif
67 
68 //
69 //
70 //
71 
72 #endif  // SRC_GRAPHICS_LIB_COMPUTE_COMMON_VK_BARRIER_H_
73