Vulkan: Always request all VkSurfaceKHR-related extensions

The backend had a "requiredInstanceExtensions" parameter to device
creation so that we could request the right instance extensions to
support swapchains. When we have dawn_native::Instance we don't want to
require this information before we can use the Vulkan backend. Instead
we make the backend always require all VkSurfaceKHR extensions. This
should be safe because these extensions basically enable copying a
struct into an opaque VkSurfaceKHR object and not much else.

BUG=dawn:29

Change-Id: I7fc5426f5770b65bb35f02793a1319eb0653782c
Reviewed-on: https://dawn-review.googlesource.com/c/3662
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
Corentin Wallez
2019-01-07 12:04:46 +00:00
committed by Commit Bot service account
parent 95fd2821c2
commit 7c0f0fbf91
6 changed files with 67 additions and 34 deletions

View File

@@ -24,8 +24,7 @@
#include <vector>
namespace dawn_native { namespace vulkan {
DAWN_NATIVE_EXPORT dawnDevice
CreateDevice(const std::vector<const char*>& requiredInstanceExtensions);
DAWN_NATIVE_EXPORT dawnDevice CreateDevice();
DAWN_NATIVE_EXPORT VkInstance GetInstance(dawnDevice device);