From 0b36c2916dcdf4785c46194a1ef83e64b52b0430 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Tue, 20 Jul 2021 11:32:17 +0200 Subject: [PATCH] v3dv: expose VK_KHR_multiview MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Alejandro Piñeiro Part-of: --- src/broadcom/vulkan/v3dv_device.c | 9 ++++----- src/broadcom/vulkan/v3dv_pipeline.c | 3 ++- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index 0b278ce..524d1dd 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -129,6 +129,7 @@ get_device_extensions(const struct v3dv_physical_device *device, .KHR_maintenance1 = true, .KHR_maintenance2 = true, .KHR_maintenance3 = true, + .KHR_multiview = true, .KHR_shader_non_semantic_info = true, .KHR_sampler_mirror_clamp_to_edge = true, .KHR_storage_buffer_storage_class = true, @@ -1057,7 +1058,7 @@ v3dv_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, .uniformAndStorageBuffer16BitAccess = false, .storagePushConstant16 = false, .storageInputOutput16 = false, - .multiview = false, + .multiview = true, .multiviewGeometryShader = false, .multiviewTessellationShader = false, .variablePointersStorageBuffer = true, @@ -1435,10 +1436,8 @@ v3dv_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: { VkPhysicalDeviceMultiviewProperties *props = (VkPhysicalDeviceMultiviewProperties *)ext; - props->maxMultiviewViewCount = 1; - /* This assumes that the multiview implementation uses instancing */ - props->maxMultiviewInstanceIndex = - (UINT32_MAX / props->maxMultiviewViewCount) - 1; + props->maxMultiviewViewCount = MAX_MULTIVIEW_VIEW_COUNT; + props->maxMultiviewInstanceIndex = UINT32_MAX - 1; break; } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: diff --git a/src/broadcom/vulkan/v3dv_pipeline.c b/src/broadcom/vulkan/v3dv_pipeline.c index 370a4f9..d4e6731 100644 --- a/src/broadcom/vulkan/v3dv_pipeline.c +++ b/src/broadcom/vulkan/v3dv_pipeline.c @@ -180,8 +180,9 @@ v3dv_DestroyPipeline(VkDevice _device, static const struct spirv_to_nir_options default_spirv_options = { .caps = { .device_group = true, - .variable_pointers = true, + .multiview = true, .subgroup_basic = true, + .variable_pointers = true, }, .ubo_addr_format = nir_address_format_32bit_index_offset, .ssbo_addr_format = nir_address_format_32bit_index_offset, -- 2.7.4