Commit f2c6a550 authored by Daniel Schürmann's avatar Daniel Schürmann Committed by Bas Nieuwenhuizen
Browse files

radv: enable subgroup capabilities


Reviewed-by: default avatarBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
parent 4b0616e5
...@@ -940,8 +940,14 @@ void radv_GetPhysicalDeviceProperties2( ...@@ -940,8 +940,14 @@ void radv_GetPhysicalDeviceProperties2(
(VkPhysicalDeviceSubgroupProperties*)ext; (VkPhysicalDeviceSubgroupProperties*)ext;
properties->subgroupSize = 64; properties->subgroupSize = 64;
properties->supportedStages = VK_SHADER_STAGE_ALL; properties->supportedStages = VK_SHADER_STAGE_ALL;
properties->supportedOperations = VK_SUBGROUP_FEATURE_BASIC_BIT; properties->supportedOperations =
properties->quadOperationsInAllStages = false; VK_SUBGROUP_FEATURE_BASIC_BIT |
VK_SUBGROUP_FEATURE_BALLOT_BIT |
VK_SUBGROUP_FEATURE_QUAD_BIT |
VK_SUBGROUP_FEATURE_SHUFFLE_BIT |
VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT |
VK_SUBGROUP_FEATURE_VOTE_BIT;
properties->quadOperationsInAllStages = true;
break; break;
} }
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: { case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: {
......
...@@ -213,7 +213,11 @@ radv_shader_compile_to_nir(struct radv_device *device, ...@@ -213,7 +213,11 @@ radv_shader_compile_to_nir(struct radv_device *device,
.tessellation = true, .tessellation = true,
.int64 = true, .int64 = true,
.multiview = true, .multiview = true,
.subgroup_ballot = true,
.subgroup_basic = true, .subgroup_basic = true,
.subgroup_quad = true,
.subgroup_shuffle = true,
.subgroup_vote = true,
.variable_pointers = true, .variable_pointers = true,
.gcn_shader = true, .gcn_shader = true,
.trinary_minmax = true, .trinary_minmax = true,
...@@ -283,7 +287,8 @@ radv_shader_compile_to_nir(struct radv_device *device, ...@@ -283,7 +287,8 @@ radv_shader_compile_to_nir(struct radv_device *device,
.lower_to_scalar = 1, .lower_to_scalar = 1,
.lower_subgroup_masks = 1, .lower_subgroup_masks = 1,
.lower_shuffle = 1, .lower_shuffle = 1,
.lower_quad = 1, .lower_shuffle_to_32bit = 1,
.lower_vote_eq_to_ballot = 1,
}); });
radv_optimize_nir(nir); radv_optimize_nir(nir);
......
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