lavapipe: enable KHR_multiview
Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9399>
This commit is contained in:
@@ -105,6 +105,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported =
|
|||||||
.KHR_maintenance1 = true,
|
.KHR_maintenance1 = true,
|
||||||
.KHR_maintenance2 = true,
|
.KHR_maintenance2 = true,
|
||||||
.KHR_maintenance3 = true,
|
.KHR_maintenance3 = true,
|
||||||
|
.KHR_multiview = true,
|
||||||
.KHR_push_descriptor = true,
|
.KHR_push_descriptor = true,
|
||||||
.KHR_relaxed_block_layout = true,
|
.KHR_relaxed_block_layout = true,
|
||||||
.KHR_sampler_mirror_clamp_to_edge = true,
|
.KHR_sampler_mirror_clamp_to_edge = true,
|
||||||
@@ -492,6 +493,14 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFeatures2(
|
|||||||
features->extendedDynamicState = true;
|
features->extendedDynamicState = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: {
|
||||||
|
VkPhysicalDeviceMultiviewFeatures *features =
|
||||||
|
(VkPhysicalDeviceMultiviewFeatures*)ext;
|
||||||
|
features->multiview = true;
|
||||||
|
features->multiviewGeometryShader = true;
|
||||||
|
features->multiviewTessellationShader = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -718,6 +727,14 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceProperties2(
|
|||||||
properties->transformFeedbackStreamsLinesTriangles = false;
|
properties->transformFeedbackStreamsLinesTriangles = false;
|
||||||
properties->transformFeedbackRasterizationStreamSelect = false;
|
properties->transformFeedbackRasterizationStreamSelect = false;
|
||||||
properties->transformFeedbackDraw = true;
|
properties->transformFeedbackDraw = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: {
|
||||||
|
VkPhysicalDeviceMultiviewProperties *properties =
|
||||||
|
(VkPhysicalDeviceMultiviewProperties *)ext;
|
||||||
|
properties->maxMultiviewViewCount = 6;
|
||||||
|
properties->maxMultiviewInstanceIndex = INT_MAX;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@@ -511,6 +511,7 @@ lvp_shader_compile_to_ir(struct lvp_pipeline *pipeline,
|
|||||||
.device_group = true,
|
.device_group = true,
|
||||||
.draw_parameters = true,
|
.draw_parameters = true,
|
||||||
.shader_viewport_index_layer = true,
|
.shader_viewport_index_layer = true,
|
||||||
|
.multiview = true,
|
||||||
},
|
},
|
||||||
.ubo_addr_format = nir_address_format_32bit_index_offset,
|
.ubo_addr_format = nir_address_format_32bit_index_offset,
|
||||||
.ssbo_addr_format = nir_address_format_32bit_index_offset,
|
.ssbo_addr_format = nir_address_format_32bit_index_offset,
|
||||||
|
Reference in New Issue
Block a user