Commit 1d667d6a by Chris Forbes

Disable surface and swapchain support for Android

On Android we will expose ANDROID_native_buffer instead, and leave the surface and swapchain support to the android loader. Bug: b/122837488 Change-Id: I03f0fd617042f49c19227701bbdcd2ccda883c94 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/28408Tested-by: 's avatarChris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent 60da1580
......@@ -74,14 +74,18 @@ static const std::unordered_map<std::string, PFN_vkVoidFunction> instanceFunctio
MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties2KHR),
MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceMemoryProperties2KHR),
MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties2KHR),
#ifndef __ANDROID__
// VK_KHR_surface
MAKE_VULKAN_INSTANCE_ENTRY(vkDestroySurfaceKHR),
#ifdef VK_USE_PLATFORM_XLIB_KHR
MAKE_VULKAN_INSTANCE_ENTRY(vkCreateXlibSurfaceKHR),
#endif
MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceSurfaceSupportKHR),
MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceSurfaceCapabilitiesKHR),
MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceSurfaceFormatsKHR),
MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceSurfacePresentModesKHR),
#endif
#ifdef VK_USE_PLATFORM_XLIB_KHR
// VK_KHR_xlib_surface
MAKE_VULKAN_INSTANCE_ENTRY(vkCreateXlibSurfaceKHR),
#endif
};
#undef MAKE_VULKAN_INSTANCE_ENTRY
......@@ -248,11 +252,14 @@ static const std::unordered_map<std::string, PFN_vkVoidFunction> deviceFunctionP
MAKE_VULKAN_DEVICE_ENTRY(vkGetImageSparseMemoryRequirements2KHR),
// VK_KHR_maintenance3
MAKE_VULKAN_DEVICE_ENTRY(vkGetDescriptorSetLayoutSupportKHR),
#ifndef __ANDROID__
// VK_KHR_swapchain
MAKE_VULKAN_DEVICE_ENTRY(vkCreateSwapchainKHR),
MAKE_VULKAN_DEVICE_ENTRY(vkDestroySwapchainKHR),
MAKE_VULKAN_DEVICE_ENTRY(vkGetSwapchainImagesKHR),
MAKE_VULKAN_DEVICE_ENTRY(vkAcquireNextImageKHR),
MAKE_VULKAN_DEVICE_ENTRY(vkQueuePresentKHR),
#endif
};
#undef MAKE_VULKAN_DEVICE_ENTRY
......
......@@ -74,6 +74,7 @@ void Queue::waitIdle()
// FIXME (b/117835459): implement once we have working fences
}
#ifndef __ANDROID__
void Queue::present(const VkPresentInfoKHR* presentInfo)
{
for(uint32_t i = 0; i < presentInfo->waitSemaphoreCount; i++)
......@@ -86,5 +87,6 @@ void Queue::present(const VkPresentInfoKHR* presentInfo)
vk::Cast(presentInfo->pSwapchains[i])->present(presentInfo->pImageIndices[i]);
}
}
#endif
} // namespace vk
\ No newline at end of file
} // namespace vk
......@@ -43,7 +43,9 @@ public:
void destroy();
void submit(uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
void waitIdle();
#ifndef __ANDROID__
void present(const VkPresentInfoKHR* presentInfo);
#endif
private:
sw::Context* context = nullptr;
......
......@@ -92,7 +92,9 @@ static const VkExtensionProperties instanceExtensionProperties[] =
{ VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME, VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION },
{ VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME, VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION },
{ VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION },
#ifndef __ANDROID__
{ VK_KHR_SURFACE_EXTENSION_NAME, VK_KHR_SURFACE_SPEC_VERSION },
#endif
#ifdef VK_USE_PLATFORM_XLIB_KHR
{ VK_KHR_XLIB_SURFACE_EXTENSION_NAME, VK_KHR_XLIB_SURFACE_SPEC_VERSION },
#endif
......@@ -118,7 +120,9 @@ static const VkExtensionProperties deviceExtensionProperties[] =
{ VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION },
{ VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME, VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION },
{ VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, VK_KHR_VARIABLE_POINTERS_SPEC_VERSION },
#ifndef __ANDROID__
{ VK_KHR_SWAPCHAIN_EXTENSION_NAME, VK_KHR_SWAPCHAIN_SPEC_VERSION },
#endif
};
VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance)
......@@ -2233,14 +2237,6 @@ VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupport(VkDevice device, cons
vk::Cast(device)->getDescriptorSetLayoutSupport(pCreateInfo, pSupport);
}
VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator)
{
TRACE("(VkInstance instance = 0x%X, VkSurfaceKHR surface = 0x%X, const VkAllocationCallbacks* pAllocator = 0x%X)",
instance, surface, pAllocator);
vk::destroy(surface, pAllocator);
}
#ifdef VK_USE_PLATFORM_XLIB_KHR
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface)
{
......@@ -2251,6 +2247,15 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(VkInstance instance, const
}
#endif
#ifndef __ANDROID__
VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator)
{
TRACE("(VkInstance instance = 0x%X, VkSurfaceKHR surface = 0x%X, const VkAllocationCallbacks* pAllocator = 0x%X)",
instance, surface, pAllocator);
vk::destroy(surface, pAllocator);
}
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported)
{
TRACE("(VkPhysicalDevice physicalDevice = 0x%X, uint32_t queueFamilyIndex = 0x%X, VkSurface surface = 0x%X, VKBool32* pSupported = 0x%X)",
......@@ -2372,5 +2377,6 @@ VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(VkQueue queue, const VkPresentI
return VK_SUCCESS;
}
#endif // ! __ANDROID__
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment