lavapipe: expose some subgroup extensions

These are part of vulkan 1.2, but expose them to be nice.

Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17588>
This commit is contained in:
Dave Airlie 2022-07-18 09:18:48 +10:00 committed by Marge Bot
parent 41e87c5c9a
commit 8be15cc382
4 changed files with 6 additions and 3 deletions

View File

@ -573,8 +573,8 @@ Khronos extensions that are not part of any Vulkan version:
VK_EXT_shader_atomic_float2 DONE (anv/gen9+, radv)
VK_EXT_shader_image_atomic_int64 DONE (radv)
VK_EXT_shader_stencil_export DONE (anv/gen9+, lvp, radv, tu)
VK_EXT_shader_subgroup_ballot DONE (anv, radv)
VK_EXT_shader_subgroup_vote DONE (anv, radv)
VK_EXT_shader_subgroup_ballot DONE (anv, lvp, radv)
VK_EXT_shader_subgroup_vote DONE (anv, lvp, radv)
VK_EXT_shader_module_identifier DONE (anv, radv, tu)
VK_EXT_transform_feedback DONE (anv, lvp, radv, tu, vn)
VK_EXT_vertex_attribute_divisor DONE (anv, radv, lvp, tu, v3dv)

View File

@ -11,3 +11,4 @@ VK_EXT_border_color_swizzle on lavapipe, ANV, turnip, RADV
VK_EXT_shader_module_identifier on RADV
variablePointers on lavapipe
VK_EXT_multisampled_render_to_single_sampled on lavapipe
VK_EXT_shader_subgroup_vote/ballot on lavapipe

View File

@ -169,6 +169,8 @@ static const struct vk_device_extension_table lvp_device_extensions_supported =
.EXT_separate_stencil_usage = true,
.EXT_shader_demote_to_helper_invocation= true,
.EXT_shader_stencil_export = true,
.EXT_shader_subgroup_ballot = true,
.EXT_shader_subgroup_vote = true,
.EXT_shader_viewport_index_layer = true,
.EXT_subgroup_size_control = true,
.EXT_texel_buffer_alignment = true,

View File

@ -452,7 +452,7 @@ lvp_shader_compile_to_ir(struct lvp_pipeline *pipeline,
struct nir_lower_subgroups_options subgroup_opts = {0};
subgroup_opts.lower_quad = true;
subgroup_opts.ballot_components = 4;
subgroup_opts.ballot_components = 1;
subgroup_opts.ballot_bit_size = 32;
NIR_PASS_V(nir, nir_lower_subgroups, &subgroup_opts);