panvk: advertise multiview support on v10+

Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31704>
This commit is contained in:
Benjamin Lee
2024-10-16 22:54:14 -07:00
committed by Marge Bot
parent cc22061878
commit e8d67f1f6a
3 changed files with 59 additions and 4 deletions

View File

@@ -444,7 +444,7 @@ Vulkan 1.1 -- all DONE: anv, lvp, nvk, radv, tu, vn
VK_KHR_maintenance1 DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_KHR_maintenance2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_KHR_maintenance3 DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_KHR_multiview DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_multiview DONE (anv, dzn, hasvk, lvp, nvk, panvk/v10+, radv, tu, v3dv, vn)
VK_KHR_relaxed_block_layout DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
VK_KHR_sampler_ycbcr_conversion DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
VK_KHR_shader_draw_parameters DONE (anv, dzn, hasvk, lvp, nvk, radv, tu, vn)

View File

@@ -1,3 +1,57 @@
# CTS bug see https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/5479
dEQP-VK.multiview.masks.no_queries.15_15_15_15
dEQP-VK.multiview.input_attachments.no_queries.15_15_15_15
dEQP-VK.multiview.instanced.no_queries.15_15_15_15
dEQP-VK.multiview.draw_indirect.no_queries.15_15_15_15
dEQP-VK.multiview.draw_indirect_indexed.no_queries.15_15_15_15
dEQP-VK.multiview.draw_indexed.no_queries.15_15_15_15
dEQP-VK.multiview.secondary_cmd_buffer.no_queries.15_15_15_15
dEQP-VK.multiview.point_size.no_queries.15_15_15_15
dEQP-VK.multiview.readback_implicit_clear.no_queries.15_15_15_15
dEQP-VK.multiview.readback_implicit_clear.no_queries.5_10_5_10
dEQP-VK.multiview.readback_explicit_clear.no_queries.15_15_15_15
dEQP-VK.multiview.readback_explicit_clear.no_queries.5_10_5_10
dEQP-VK.multiview.depth.no_queries.3_6_12_9_6_12_9_3_6_12_9_3
dEQP-VK.multiview.depth_without_fragment_shader.no_queries.3_6_12_9_6_12_9_3_6_12_9_3
dEQP-VK.multiview.stencil.no_queries.3_6_12_9_6_12_9_3_6_12_9_3
dEQP-VK.multiview.index.vertex_shader.no_queries.15_15_15_15
dEQP-VK.multiview.index.fragment_shader.no_queries.15_15_15_15
dEQP-VK.multiview.renderpass2.masks.no_queries.15_15_15_15
dEQP-VK.multiview.renderpass2.input_attachments.no_queries.15_15_15_15
dEQP-VK.multiview.renderpass2.instanced.no_queries.15_15_15_15
dEQP-VK.multiview.renderpass2.draw_indirect.no_queries.15_15_15_15
dEQP-VK.multiview.renderpass2.draw_indirect_indexed.no_queries.15_15_15_15
dEQP-VK.multiview.renderpass2.draw_indexed.no_queries.15_15_15_15
dEQP-VK.multiview.renderpass2.secondary_cmd_buffer.no_queries.15_15_15_15
dEQP-VK.multiview.renderpass2.point_size.no_queries.15_15_15_15
dEQP-VK.multiview.renderpass2.readback_implicit_clear.no_queries.15_15_15_15
dEQP-VK.multiview.renderpass2.readback_implicit_clear.no_queries.5_10_5_10
dEQP-VK.multiview.renderpass2.readback_explicit_clear.no_queries.15_15_15_15
dEQP-VK.multiview.renderpass2.readback_explicit_clear.no_queries.5_10_5_10
dEQP-VK.multiview.renderpass2.depth.no_queries.3_6_12_9_6_12_9_3_6_12_9_3
dEQP-VK.multiview.renderpass2.depth_without_fragment_shader.no_queries.3_6_12_9_6_12_9_3_6_12_9_3
dEQP-VK.multiview.renderpass2.stencil.no_queries.3_6_12_9_6_12_9_3_6_12_9_3
dEQP-VK.multiview.renderpass2.index.vertex_shader.no_queries.15_15_15_15
dEQP-VK.multiview.renderpass2.index.fragment_shader.no_queries.15_15_15_15
dEQP-VK.multiview.dynamic_rendering.masks.no_queries.15_15_15_15
dEQP-VK.multiview.dynamic_rendering.instanced.no_queries.15_15_15_15
dEQP-VK.multiview.dynamic_rendering.draw_indirect.no_queries.15_15_15_15
dEQP-VK.multiview.dynamic_rendering.draw_indirect_indexed.no_queries.15_15_15_15
dEQP-VK.multiview.dynamic_rendering.draw_indexed.no_queries.15_15_15_15
dEQP-VK.multiview.dynamic_rendering.secondary_cmd_buffer.no_queries.15_15_15_15
dEQP-VK.multiview.dynamic_rendering.point_size.no_queries.15_15_15_15
dEQP-VK.multiview.dynamic_rendering.point_size.no_queries.5_10_5_10
dEQP-VK.multiview.dynamic_rendering.readback_implicit_clear.no_queries.15_15_15_15
dEQP-VK.multiview.dynamic_rendering.readback_implicit_clear.no_queries.5_10_5_10
dEQP-VK.multiview.dynamic_rendering.readback_explicit_clear.no_queries.15_15_15_15
dEQP-VK.multiview.dynamic_rendering.readback_explicit_clear.no_queries.5_10_5_10
dEQP-VK.multiview.dynamic_rendering.depth.no_queries.3_6_12_9_6_12_9_3_6_12_9_3
dEQP-VK.multiview.dynamic_rendering.depth_without_fragment_shader.no_queries.3_6_12_9_6_12_9_3_6_12_9_3
dEQP-VK.multiview.dynamic_rendering.stencil.no_queries.3_6_12_9_6_12_9_3_6_12_9_3
dEQP-VK.multiview.dynamic_rendering.index.vertex_shader.no_queries.15_15_15_15
dEQP-VK.multiview.dynamic_rendering.index.fragment_shader.no_queries.15_15_15_15
# Cause a "gpu sched timeout" (fixed by sched increase to 10s)
dEQP-VK.memory.pipeline_barrier.host_write_uniform_buffer.1048576
dEQP-VK.memory.pipeline_barrier.host_write_uniform_texel_buffer.1048576

View File

@@ -211,6 +211,7 @@ get_device_extensions(const struct panvk_physical_device *device,
.KHR_maintenance2 = true,
.KHR_maintenance3 = true,
.KHR_map_memory2 = true,
.KHR_multiview = arch >= 10,
.KHR_pipeline_executable_properties = true,
.KHR_pipeline_library = true,
.KHR_push_descriptor = true,
@@ -290,7 +291,7 @@ get_features(const struct panvk_physical_device *device,
.uniformAndStorageBuffer16BitAccess = true,
.storagePushConstant16 = false,
.storageInputOutput16 = false,
.multiview = false,
.multiview = arch >= 10,
.multiviewGeometryShader = false,
.multiviewTessellationShader = false,
.variablePointersStorageBuffer = true,
@@ -676,8 +677,8 @@ get_device_properties(const struct panvk_instance *instance,
VK_SUBGROUP_FEATURE_VOTE_BIT,
.subgroupQuadOperationsInAllStages = false,
.pointClippingBehavior = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES,
.maxMultiviewViewCount = 0,
.maxMultiviewInstanceIndex = 0,
.maxMultiviewViewCount = arch >= 10 ? 8 : 0,
.maxMultiviewInstanceIndex = arch >= 10 ? UINT32_MAX : 0,
.protectedNoFault = false,
.maxPerSetDescriptors = UINT16_MAX,
/* Our buffer size fields allow only this much */