From e997f548ded6e58b5f843bb56837c4bd649da9d3 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Tue, 21 Mar 2017 14:40:46 -0700 Subject: [PATCH] anv: Add the KHX_multiview boilerplate Reviewed-by: Iago Toral Quiroga --- src/intel/vulkan/anv_device.c | 17 +++++++++++++++++ src/intel/vulkan/anv_entrypoints_gen.py | 1 + 2 files changed, 18 insertions(+) diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 6b3202de303..d9fbfefe317 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -612,6 +612,15 @@ void anv_GetPhysicalDeviceFeatures2KHR( vk_foreach_struct(ext, pFeatures->pNext) { switch (ext->sType) { + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHX: { + VkPhysicalDeviceMultiviewFeaturesKHX *features = + (VkPhysicalDeviceMultiviewFeaturesKHX *)ext; + features->multiview = true; + features->multiviewGeometryShader = true; + features->multiviewTessellationShader = true; + break; + } + default: anv_debug_ignored_stype(ext->sType); break; @@ -789,6 +798,14 @@ void anv_GetPhysicalDeviceProperties2KHR( break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHX: { + VkPhysicalDeviceMultiviewPropertiesKHX *properties = + (VkPhysicalDeviceMultiviewPropertiesKHX *)ext; + properties->maxMultiviewViewCount = 16; + properties->maxMultiviewInstanceIndex = UINT32_MAX / 16; + break; + } + default: anv_debug_ignored_stype(ext->sType); break; diff --git a/src/intel/vulkan/anv_entrypoints_gen.py b/src/intel/vulkan/anv_entrypoints_gen.py index b4395c03b45..61a20e2cd5a 100644 --- a/src/intel/vulkan/anv_entrypoints_gen.py +++ b/src/intel/vulkan/anv_entrypoints_gen.py @@ -48,6 +48,7 @@ SUPPORTED_EXTENSIONS = [ 'VK_KHX_external_memory', 'VK_KHX_external_memory_capabilities', 'VK_KHX_external_memory_fd', + 'VK_KHX_multiview', ] # We generate a static hash table for entry point lookup -- 2.30.2