[vulkan] Bump target Vulkan API version (#3545)
Per the spec, VkApplicationInfo::apiVersion "must be the highest
version of Vulkan that the application is designed to use."
Targeting Vulkan 1.0 means we cannot use Vulkan 1.1/1.2 features.
This isn't strongly enforced on all Vulkan loaders/ICDs but I do
see issues raised due to this on, for example, Linux Mesa drivers.
diff --git a/iree/hal/vulkan/BUILD b/iree/hal/vulkan/BUILD
index 7f48f58..6cd9541 100644
--- a/iree/hal/vulkan/BUILD
+++ b/iree/hal/vulkan/BUILD
@@ -493,6 +493,7 @@
":vulkan_device",
"//iree/base:memory",
"//iree/base:status",
+ "//iree/base:target_platform",
"//iree/base:tracing",
"//iree/hal:device_info",
"//iree/hal:driver",
diff --git a/iree/hal/vulkan/CMakeLists.txt b/iree/hal/vulkan/CMakeLists.txt
index 2e03387..9383670 100644
--- a/iree/hal/vulkan/CMakeLists.txt
+++ b/iree/hal/vulkan/CMakeLists.txt
@@ -556,6 +556,7 @@
absl::inlined_vector
iree::base::memory
iree::base::status
+ iree::base::target_platform
iree::base::tracing
iree::hal::device_info
iree::hal::driver
diff --git a/iree/hal/vulkan/vulkan_driver.cc b/iree/hal/vulkan/vulkan_driver.cc
index 6941bb6..8d9cd9a 100644
--- a/iree/hal/vulkan/vulkan_driver.cc
+++ b/iree/hal/vulkan/vulkan_driver.cc
@@ -20,6 +20,7 @@
#include "absl/flags/flag.h"
#include "iree/base/memory.h"
#include "iree/base/status.h"
+#include "iree/base/target_platform.h"
#include "iree/base/tracing.h"
#include "iree/hal/device_info.h"
#include "iree/hal/vulkan/extensibility_util.h"
@@ -45,7 +46,11 @@
info.applicationVersion = 0;
info.pEngineName = "IREE";
info.engineVersion = 0;
- info.apiVersion = VK_API_VERSION_1_0;
+#ifdef IREE_PLATFORM_ANDROID
+ info.apiVersion = VK_API_VERSION_1_1;
+#else
+ info.apiVersion = VK_API_VERSION_1_2;
+#endif
return info;
}