xref: /aosp_15_r20/external/angle/src/libANGLE/renderer/vulkan/vk_cl_utils.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1 //
2 // Copyright 2024 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 // vk_cl_utils:
7 //    Helper functions for the Vulkan Renderer in translation of vk state from/to cl state.
8 //
9 
10 #ifndef LIBANGLE_RENDERER_VULKAN_CL_VK_UTILS_H_
11 #define LIBANGLE_RENDERER_VULKAN_CL_VK_UTILS_H_
12 
13 #include "common/PackedCLEnums_autogen.h"
14 
15 #include "libANGLE/CLBitField.h"
16 #include "libANGLE/cl_types.h"
17 
18 #include "vulkan/vulkan_core.h"
19 
20 namespace rx
21 {
22 namespace cl_vk
23 {
24 VkExtent3D GetExtent(const cl::Extents &extent);
25 VkOffset3D GetOffset(const cl::Offset &offset);
26 VkImageType GetImageType(cl::MemObjectType memObjectType);
27 VkImageViewType GetImageViewType(cl::MemObjectType memObjectType);
28 VkMemoryPropertyFlags GetMemoryPropertyFlags(cl::MemFlags memFlags);
29 VkBufferUsageFlags GetBufferUsageFlags(cl::MemFlags memFlags);
30 
31 }  // namespace cl_vk
32 }  // namespace rx
33 
34 #endif  // LIBANGLE_RENDERER_VULKAN_CL_VK_UTILS_H_
35