Commit 63e5ebc9 authored by Connor Abbott's avatar Connor Abbott
Browse files

ir3,tu: Enable subgroup shuffles and relative shuffles

We still don't use the fast path for relative shuffles, that's left for
future work.
parent de510e75
Pipeline #491194 waiting for manual action with stages
......@@ -458,6 +458,8 @@ ir3_nir_post_finalize(struct ir3_shader *shader)
.lower_vote_eq = true,
.lower_subgroup_masks = true,
.lower_read_invocation_to_cond = true,
.lower_shuffle = true,
.lower_relative_shuffle = true,
});
}
......
......@@ -830,7 +830,9 @@ tu_get_physical_device_properties_1_1(struct tu_physical_device *pdevice,
p->subgroupSupportedStages = VK_SHADER_STAGE_COMPUTE_BIT;
p->subgroupSupportedOperations = VK_SUBGROUP_FEATURE_BASIC_BIT |
VK_SUBGROUP_FEATURE_VOTE_BIT |
VK_SUBGROUP_FEATURE_BALLOT_BIT;
VK_SUBGROUP_FEATURE_BALLOT_BIT |
VK_SUBGROUP_FEATURE_SHUFFLE_BIT |
VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT;
if (pdevice->info->a6xx.has_getfiberid) {
p->subgroupSupportedStages |= VK_SHADER_STAGE_ALL_GRAPHICS;
p->subgroupSupportedOperations |= VK_SUBGROUP_FEATURE_QUAD_BIT;
......
......@@ -82,6 +82,7 @@ tu_spirv_to_nir(struct tu_device *dev,
.subgroup_ballot = true,
.subgroup_vote = true,
.subgroup_quad = true,
.subgroup_shuffle = true,
.physical_storage_buffer_address = true,
},
};
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment