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