external/swiftshader
Revision | 1d667d6a7b5152e97437bedb129399e8df619efe (tree) |
---|---|
Zeit | 2019-04-06 06:56:52 |
Autor | Chris Forbes <chrisforbes@goog...> |
Commiter | 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/+/28408
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
@@ -74,14 +74,18 @@ static const std::unordered_map<std::string, PFN_vkVoidFunction> instanceFunctio | ||
74 | 74 | MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties2KHR), |
75 | 75 | MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceMemoryProperties2KHR), |
76 | 76 | MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties2KHR), |
77 | +#ifndef __ANDROID__ | |
78 | + // VK_KHR_surface | |
77 | 79 | MAKE_VULKAN_INSTANCE_ENTRY(vkDestroySurfaceKHR), |
78 | -#ifdef VK_USE_PLATFORM_XLIB_KHR | |
79 | - MAKE_VULKAN_INSTANCE_ENTRY(vkCreateXlibSurfaceKHR), | |
80 | -#endif | |
81 | 80 | MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceSurfaceSupportKHR), |
82 | 81 | MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceSurfaceCapabilitiesKHR), |
83 | 82 | MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceSurfaceFormatsKHR), |
84 | 83 | MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceSurfacePresentModesKHR), |
84 | +#endif | |
85 | +#ifdef VK_USE_PLATFORM_XLIB_KHR | |
86 | + // VK_KHR_xlib_surface | |
87 | + MAKE_VULKAN_INSTANCE_ENTRY(vkCreateXlibSurfaceKHR), | |
88 | +#endif | |
85 | 89 | }; |
86 | 90 | #undef MAKE_VULKAN_INSTANCE_ENTRY |
87 | 91 |
@@ -248,11 +252,14 @@ static const std::unordered_map<std::string, PFN_vkVoidFunction> deviceFunctionP | ||
248 | 252 | MAKE_VULKAN_DEVICE_ENTRY(vkGetImageSparseMemoryRequirements2KHR), |
249 | 253 | // VK_KHR_maintenance3 |
250 | 254 | MAKE_VULKAN_DEVICE_ENTRY(vkGetDescriptorSetLayoutSupportKHR), |
255 | +#ifndef __ANDROID__ | |
256 | + // VK_KHR_swapchain | |
251 | 257 | MAKE_VULKAN_DEVICE_ENTRY(vkCreateSwapchainKHR), |
252 | 258 | MAKE_VULKAN_DEVICE_ENTRY(vkDestroySwapchainKHR), |
253 | 259 | MAKE_VULKAN_DEVICE_ENTRY(vkGetSwapchainImagesKHR), |
254 | 260 | MAKE_VULKAN_DEVICE_ENTRY(vkAcquireNextImageKHR), |
255 | 261 | MAKE_VULKAN_DEVICE_ENTRY(vkQueuePresentKHR), |
262 | +#endif | |
256 | 263 | }; |
257 | 264 | #undef MAKE_VULKAN_DEVICE_ENTRY |
258 | 265 |
@@ -74,6 +74,7 @@ void Queue::waitIdle() | ||
74 | 74 | // FIXME (b/117835459): implement once we have working fences |
75 | 75 | } |
76 | 76 | |
77 | +#ifndef __ANDROID__ | |
77 | 78 | void Queue::present(const VkPresentInfoKHR* presentInfo) |
78 | 79 | { |
79 | 80 | for(uint32_t i = 0; i < presentInfo->waitSemaphoreCount; i++) |
@@ -86,5 +87,6 @@ void Queue::present(const VkPresentInfoKHR* presentInfo) | ||
86 | 87 | vk::Cast(presentInfo->pSwapchains[i])->present(presentInfo->pImageIndices[i]); |
87 | 88 | } |
88 | 89 | } |
90 | +#endif | |
89 | 91 | |
90 | -} // namespace vk | |
\ No newline at end of file | ||
92 | +} // namespace vk |
@@ -43,7 +43,9 @@ public: | ||
43 | 43 | void destroy(); |
44 | 44 | void submit(uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); |
45 | 45 | void waitIdle(); |
46 | +#ifndef __ANDROID__ | |
46 | 47 | void present(const VkPresentInfoKHR* presentInfo); |
48 | +#endif | |
47 | 49 | |
48 | 50 | private: |
49 | 51 | sw::Context* context = nullptr; |
@@ -92,7 +92,9 @@ static const VkExtensionProperties instanceExtensionProperties[] = | ||
92 | 92 | { VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME, VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION }, |
93 | 93 | { VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME, VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION }, |
94 | 94 | { VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION }, |
95 | +#ifndef __ANDROID__ | |
95 | 96 | { VK_KHR_SURFACE_EXTENSION_NAME, VK_KHR_SURFACE_SPEC_VERSION }, |
97 | +#endif | |
96 | 98 | #ifdef VK_USE_PLATFORM_XLIB_KHR |
97 | 99 | { VK_KHR_XLIB_SURFACE_EXTENSION_NAME, VK_KHR_XLIB_SURFACE_SPEC_VERSION }, |
98 | 100 | #endif |
@@ -118,7 +120,9 @@ static const VkExtensionProperties deviceExtensionProperties[] = | ||
118 | 120 | { VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME, VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION }, |
119 | 121 | { VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME, VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION }, |
120 | 122 | { VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME, VK_KHR_VARIABLE_POINTERS_SPEC_VERSION }, |
123 | +#ifndef __ANDROID__ | |
121 | 124 | { VK_KHR_SWAPCHAIN_EXTENSION_NAME, VK_KHR_SWAPCHAIN_SPEC_VERSION }, |
125 | +#endif | |
122 | 126 | }; |
123 | 127 | |
124 | 128 | 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 | ||
2233 | 2237 | vk::Cast(device)->getDescriptorSetLayoutSupport(pCreateInfo, pSupport); |
2234 | 2238 | } |
2235 | 2239 | |
2236 | -VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator) | |
2237 | -{ | |
2238 | - TRACE("(VkInstance instance = 0x%X, VkSurfaceKHR surface = 0x%X, const VkAllocationCallbacks* pAllocator = 0x%X)", | |
2239 | - instance, surface, pAllocator); | |
2240 | - | |
2241 | - vk::destroy(surface, pAllocator); | |
2242 | -} | |
2243 | - | |
2244 | 2240 | #ifdef VK_USE_PLATFORM_XLIB_KHR |
2245 | 2241 | VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) |
2246 | 2242 | { |
@@ -2251,6 +2247,15 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(VkInstance instance, const | ||
2251 | 2247 | } |
2252 | 2248 | #endif |
2253 | 2249 | |
2250 | +#ifndef __ANDROID__ | |
2251 | +VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks* pAllocator) | |
2252 | +{ | |
2253 | + TRACE("(VkInstance instance = 0x%X, VkSurfaceKHR surface = 0x%X, const VkAllocationCallbacks* pAllocator = 0x%X)", | |
2254 | + instance, surface, pAllocator); | |
2255 | + | |
2256 | + vk::destroy(surface, pAllocator); | |
2257 | +} | |
2258 | + | |
2254 | 2259 | VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32* pSupported) |
2255 | 2260 | { |
2256 | 2261 | 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 | ||
2372 | 2377 | |
2373 | 2378 | return VK_SUCCESS; |
2374 | 2379 | } |
2380 | +#endif // ! __ANDROID__ | |
2375 | 2381 | |
2376 | 2382 | } |