From: Bas Nieuwenhuizen Date: Wed, 16 Aug 2017 07:20:53 +0000 (+0200) Subject: radv: Expose VK_KHX_multiview. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ba51ad2f25db272699f1cbb213f665e3e0d8787f;p=mesa.git radv: Expose VK_KHX_multiview. Reviewed-by: Dave Airlie --- diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 1a7831e89c9..fec965c6225 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -178,6 +178,10 @@ static const VkExtensionProperties ext_sema_device_extensions[] = { .extensionName = VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, .specVersion = 1, }, + { + .extensionName = VK_KHX_MULTIVIEW_EXTENSION_NAME, + .specVersion = 1, + }, }; static VkResult @@ -628,6 +632,13 @@ void radv_GetPhysicalDeviceFeatures2KHR( features->variablePointers = false; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHX: { + VkPhysicalDeviceMultiviewFeaturesKHX *features = (VkPhysicalDeviceMultiviewFeaturesKHX*)ext; + features->multiview = true; + features->multiviewGeometryShader = true; + features->multiviewTessellationShader = true; + break; + } default: break; } @@ -804,6 +815,12 @@ void radv_GetPhysicalDeviceProperties2KHR( properties->deviceLUIDValid = false; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHX: { + VkPhysicalDeviceMultiviewPropertiesKHX *properties = (VkPhysicalDeviceMultiviewPropertiesKHX*)ext; + properties->maxMultiviewViewCount = MAX_VIEWS; + properties->maxMultiviewInstanceIndex = INT_MAX; + break; + } default: break; } diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 31bdc8c4643..637fed625f1 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -230,6 +230,7 @@ radv_shader_compile_to_nir(struct radv_device *device, .image_write_without_format = true, .tessellation = true, .int64 = true, + .multiview = true, .variable_pointers = true, }; entry_point = spirv_to_nir(spirv, module->size / 4,