mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-11-24 10:44:15 +08:00
zink: fixup subgroup vote/ballot enables.
These are part of vulkan 1.1, but the ext are if you don't have 1.1. This will enable some tests that break in CI Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17588>
This commit is contained in:
parent
8be15cc382
commit
9bbc3c4e85
@ -86,6 +86,7 @@ EXTENSIONS = [
|
||||
Extension("VK_EXT_post_depth_coverage"),
|
||||
Extension("VK_EXT_depth_clip_control", alias="clip_control", features=True),
|
||||
Extension("VK_EXT_shader_subgroup_ballot"),
|
||||
Extension("VK_EXT_shader_subgroup_vote"),
|
||||
Extension("VK_EXT_shader_atomic_float", alias="atomic_float", features=True),
|
||||
Extension("VK_KHR_8bit_storage",
|
||||
alias="storage_8bit",
|
||||
|
@ -448,10 +448,13 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
||||
return screen->info.feats11.shaderDrawParameters || screen->info.have_KHR_shader_draw_parameters;
|
||||
|
||||
case PIPE_CAP_SHADER_GROUP_VOTE:
|
||||
return screen->info.have_vulkan11 &&
|
||||
if (screen->info.have_vulkan11 &&
|
||||
(screen->info.subgroup.supportedOperations & VK_SUBGROUP_FEATURE_VOTE_BIT) &&
|
||||
(screen->info.subgroup.supportedStages & VK_SHADER_STAGE_COMPUTE_BIT);
|
||||
|
||||
(screen->info.subgroup.supportedStages & VK_SHADER_STAGE_COMPUTE_BIT))
|
||||
return true;
|
||||
if (screen->info.have_EXT_shader_subgroup_vote)
|
||||
return true;
|
||||
return false;
|
||||
case PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION:
|
||||
return screen->info.have_EXT_provoking_vertex;
|
||||
|
||||
@ -518,8 +521,14 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
||||
return 1;
|
||||
|
||||
case PIPE_CAP_SHADER_BALLOT:
|
||||
return screen->info.have_vulkan12 && screen->info.have_EXT_shader_subgroup_ballot && screen->info.props11.subgroupSize <= 64;
|
||||
|
||||
if (screen->info.props11.subgroupSize > 64)
|
||||
return false;
|
||||
if (screen->info.have_vulkan11 &&
|
||||
screen->info.subgroup.supportedOperations & VK_SUBGROUP_FEATURE_BALLOT_BIT)
|
||||
return true;
|
||||
if (screen->info.have_EXT_shader_subgroup_ballot)
|
||||
return true;
|
||||
return false;
|
||||
case PIPE_CAP_SAMPLE_SHADING:
|
||||
return screen->info.feats.features.sampleRateShading;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user