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