From af424b1c7ca5e09156d3e5b9bd914848ee0fed86 Mon Sep 17 00:00:00 2001 From: PouleyKetchoupp Date: Thu, 5 Mar 2020 19:00:28 +0100 Subject: Vulkan rendering for Android --- drivers/vulkan/rendering_device_vulkan.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'drivers/vulkan/rendering_device_vulkan.cpp') diff --git a/drivers/vulkan/rendering_device_vulkan.cpp b/drivers/vulkan/rendering_device_vulkan.cpp index 69957d9939..dfa0169135 100644 --- a/drivers/vulkan/rendering_device_vulkan.cpp +++ b/drivers/vulkan/rendering_device_vulkan.cpp @@ -1564,15 +1564,17 @@ RID RenderingDeviceVulkan::texture_create(const TextureFormat &p_format, const T image_create_info.pNext = nullptr; image_create_info.flags = 0; - VkImageFormatListCreateInfoKHR format_list_create_info; - Vector allowed_formats; - + // TODO: vkCreateImage fails with format list on Android (VK_ERROR_OUT_OF_HOST_MEMORY) +#ifndef ANDROID_ENABLED if (p_format.shareable_formats.size()) { image_create_info.flags |= VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT; + + Vector allowed_formats; for (int i = 0; i < p_format.shareable_formats.size(); i++) { allowed_formats.push_back(vulkan_formats[p_format.shareable_formats[i]]); } + VkImageFormatListCreateInfoKHR format_list_create_info; format_list_create_info.sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR; format_list_create_info.pNext = nullptr; format_list_create_info.viewFormatCount = allowed_formats.size(); @@ -1584,6 +1586,7 @@ RID RenderingDeviceVulkan::texture_create(const TextureFormat &p_format, const T ERR_FAIL_COND_V_MSG(p_view.format_override != DATA_FORMAT_MAX && p_format.shareable_formats.find(p_view.format_override) == -1, RID(), "If supplied a list of shareable formats, the current view format override must be present in the list"); } +#endif if (p_format.type == TEXTURE_TYPE_CUBE || p_format.type == TEXTURE_TYPE_CUBE_ARRAY) { image_create_info.flags |= VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT; } -- cgit v1.2.3 From e167af37373dd14e9d1fe888bcc482d0bd071951 Mon Sep 17 00:00:00 2001 From: PouleyKetchoupp Date: Fri, 27 Mar 2020 17:30:18 +0100 Subject: Display Server support --- drivers/vulkan/rendering_device_vulkan.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'drivers/vulkan/rendering_device_vulkan.cpp') diff --git a/drivers/vulkan/rendering_device_vulkan.cpp b/drivers/vulkan/rendering_device_vulkan.cpp index dfa0169135..5f98df06b1 100644 --- a/drivers/vulkan/rendering_device_vulkan.cpp +++ b/drivers/vulkan/rendering_device_vulkan.cpp @@ -1564,7 +1564,10 @@ RID RenderingDeviceVulkan::texture_create(const TextureFormat &p_format, const T image_create_info.pNext = nullptr; image_create_info.flags = 0; - // TODO: vkCreateImage fails with format list on Android (VK_ERROR_OUT_OF_HOST_MEMORY) +#ifndef _MSC_VER +#warning TODO check for support via RenderingDevice to enable on mobile when possible +#endif + // vkCreateImage fails with format list on Android (VK_ERROR_OUT_OF_HOST_MEMORY) #ifndef ANDROID_ENABLED if (p_format.shareable_formats.size()) { image_create_info.flags |= VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT; -- cgit v1.2.3