mirror of https://gitlab.freedesktop.org/mesa/mesa
nvk: Advertise VK_KHR_shader_subgroup_rotate.
Signed-off-by: Robin Kertels <robin.kertels@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27863>
This commit is contained in:
parent
714acf7d21
commit
d097a60d57
|
@ -538,7 +538,7 @@ Khronos extensions that are not part of any Vulkan version:
|
|||
VK_KHR_shader_clock DONE (anv, hasvk, lvp, nvk, radv, vn)
|
||||
VK_KHR_shader_expect_assume DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
||||
VK_KHR_shader_maximal_reconvergence DONE (anv, lvp, nvk, radv)
|
||||
VK_KHR_shader_subgroup_rotate DONE (anv, radv)
|
||||
VK_KHR_shader_subgroup_rotate DONE (anv, nvk, radv)
|
||||
VK_KHR_shader_subgroup_uniform_control_flow DONE (anv, hasvk, nvk, radv)
|
||||
VK_KHR_shader_quad_control DONE (radv)
|
||||
VK_KHR_shared_presentable_image not started
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
VK_EXT_map_memory_placed on RADV, ANV and NVK
|
||||
VK_KHR_shader_subgroup_rotate on RADV and ANV
|
||||
VK_KHR_shader_subgroup_rotate on RADV and ANV and NVK
|
||||
VK_KHR_load_store_op_none on RADV, ANV, NVK and Turnip
|
||||
VK_KHR_line_rasterization on RADV, ANV, NVK and Turnip
|
||||
VK_KHR_index_type_uint8 on RADV, ANV, NVK and Turnip
|
||||
|
|
|
@ -150,6 +150,7 @@ nvk_get_device_extensions(const struct nvk_instance *instance,
|
|||
.KHR_shader_maximal_reconvergence = true,
|
||||
.KHR_shader_non_semantic_info = true,
|
||||
.KHR_shader_subgroup_extended_types = true,
|
||||
.KHR_shader_subgroup_rotate = nvk_use_nak(info),
|
||||
.KHR_shader_subgroup_uniform_control_flow = nvk_use_nak(info),
|
||||
.KHR_shader_terminate_invocation =
|
||||
(nvk_nak_stages(info) & VK_SHADER_STAGE_FRAGMENT_BIT) != 0,
|
||||
|
@ -426,6 +427,10 @@ nvk_get_device_features(const struct nv_device_info *info,
|
|||
/* VK_KHR_shader_maximal_reconvergence */
|
||||
.shaderMaximalReconvergence = true,
|
||||
|
||||
/* VK_KHR_shader_subgroup_rotate */
|
||||
.shaderSubgroupRotate = nvk_use_nak(info),
|
||||
.shaderSubgroupRotateClustered = nvk_use_nak(info),
|
||||
|
||||
/* VK_KHR_vertex_attribute_divisor */
|
||||
.vertexAttributeInstanceRateDivisor = true,
|
||||
.vertexAttributeInstanceRateZeroDivisor = true,
|
||||
|
@ -761,6 +766,8 @@ nvk_get_device_properties(const struct nvk_instance *instance,
|
|||
VK_SUBGROUP_FEATURE_BASIC_BIT |
|
||||
VK_SUBGROUP_FEATURE_CLUSTERED_BIT |
|
||||
VK_SUBGROUP_FEATURE_QUAD_BIT |
|
||||
VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR |
|
||||
VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR |
|
||||
VK_SUBGROUP_FEATURE_SHUFFLE_BIT |
|
||||
VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT |
|
||||
VK_SUBGROUP_FEATURE_VOTE_BIT,
|
||||
|
|
|
@ -156,6 +156,7 @@ nvk_get_spirv_options(struct vk_physical_device *vk_pdev,
|
|||
.subgroup_ballot = true,
|
||||
.subgroup_basic = true,
|
||||
.subgroup_quad = true,
|
||||
.subgroup_rotate = true,
|
||||
.subgroup_shuffle = true,
|
||||
.subgroup_uniform_control_flow = true,
|
||||
.subgroup_vote = true,
|
||||
|
|
Loading…
Reference in New Issue