Commit 899c5d26 by Ian Elliott Committed by Commit Bot

Appropriately set VkApplicationInfo::apiVersion to 1.1

Check if the Vulkan instance version is 1.1+, and if so, set VkApplicationInfo::apiVersion to 1.1 (which signals to the validation layers that ANGLE will use Vulkan 1.1 functionality. Bug: angleproject:2968 Change-Id: I6808a1a0b1ace74976a7476f77d686e137a1e746 Reviewed-on: https://chromium-review.googlesource.com/c/1387757 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
parent d50521fd
...@@ -470,7 +470,27 @@ angle::Result RendererVk::initialize(DisplayVk *displayVk, ...@@ -470,7 +470,27 @@ angle::Result RendererVk::initialize(DisplayVk *displayVk,
applicationInfo.applicationVersion = 1; applicationInfo.applicationVersion = 1;
applicationInfo.pEngineName = "ANGLE"; applicationInfo.pEngineName = "ANGLE";
applicationInfo.engineVersion = 1; applicationInfo.engineVersion = 1;
applicationInfo.apiVersion = VK_API_VERSION_1_0;
auto enumerateInstanceVersion = reinterpret_cast<PFN_vkEnumerateInstanceVersion>(
vkGetInstanceProcAddr(mInstance, "vkEnumerateInstanceVersion"));
if (!enumerateInstanceVersion)
{
applicationInfo.apiVersion = VK_API_VERSION_1_0;
}
else
{
uint32_t apiVersion = VK_API_VERSION_1_0;
ANGLE_VK_TRY(displayVk, enumerateInstanceVersion(&apiVersion));
if ((VK_VERSION_MAJOR(apiVersion) > 1) || (VK_VERSION_MINOR(apiVersion) >= 1))
{
// Note: will need to revisit this with Vulkan 1.2+.
applicationInfo.apiVersion = VK_API_VERSION_1_1;
}
else
{
applicationInfo.apiVersion = VK_API_VERSION_1_0;
}
}
VkInstanceCreateInfo instanceInfo = {}; VkInstanceCreateInfo instanceInfo = {};
instanceInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; instanceInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
......
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