• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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