p->subgroupSupportedOperations = VK_SUBGROUP_FEATURE_BASIC_BIT | VK_SUBGROUP_FEATURE_VOTE_BIT | VK_SUBGROUP_FEATURE_ARITHMETIC_BIT | VK_SUBGROUP_FEATURE_BALLOT_BIT;
p->subgroupQuadOperationsInAllStages = false;
+#if LLVM_VERSION_MAJOR >= 10
+ p->subgroupSupportedOperations |= VK_SUBGROUP_FEATURE_SHUFFLE_BIT | VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT;
+#endif
+
p->pointClippingBehavior = VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES;
p->maxMultiviewViewCount = 6;
p->maxMultiviewInstanceIndex = INT_MAX;
.subgroup_basic = true,
.subgroup_ballot = true,
.subgroup_quad = true,
+#if LLVM_VERSION_MAJOR >= 10
+ .subgroup_shuffle = true,
+#endif
.subgroup_vote = true,
.vk_memory_model = true,
.vk_memory_model_device_scope = true,
c_args : [ c_msvc_compat_args, lvp_flags ],
gnu_symbol_visibility : 'hidden',
include_directories : [ inc_include, inc_src, inc_util, inc_gallium, inc_compiler, inc_gallium_aux ],
- dependencies : [ idep_nir, idep_mesautil, idep_vulkan_util, idep_vulkan_wsi,
+ dependencies : [ dep_llvm, idep_nir, idep_mesautil, idep_vulkan_util, idep_vulkan_wsi,
idep_vulkan_runtime, lvp_deps ]
)