Skip to content

Commit 87ead86

Browse files
committed
check runtimeDescriptorArray feature
1 parent 8a2e4f7 commit 87ead86

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

ggml/src/ggml-vulkan/ggml-vulkan.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3429,10 +3429,6 @@ static vk_device ggml_vk_get_device(size_t idx) {
34293429
}
34303430
device->float_controls_rte_fp16 = vk12_props.shaderRoundingModeRTEFloat16;
34313431

3432-
device->multi_add = vk12_props.shaderRoundingModeRTEFloat16 &&
3433-
device->properties.limits.maxPushConstantsSize >= sizeof(vk_op_multi_add_push_constants) &&
3434-
getenv("GGML_VK_DISABLE_MULTI_ADD") == nullptr;
3435-
34363432
device->subgroup_add = (vk11_props.subgroupSupportedStages & vk::ShaderStageFlagBits::eCompute) &&
34373433
(vk11_props.subgroupSupportedOperations & vk::SubgroupFeatureFlagBits::eArithmetic);
34383434

@@ -3572,6 +3568,11 @@ static vk_device ggml_vk_get_device(size_t idx) {
35723568

35733569
device->pipeline_robustness = pl_robustness_features.pipelineRobustness;
35743570

3571+
device->multi_add = vk12_props.shaderRoundingModeRTEFloat16 &&
3572+
device->properties.limits.maxPushConstantsSize >= sizeof(vk_op_multi_add_push_constants) &&
3573+
vk12_features.runtimeDescriptorArray &&
3574+
getenv("GGML_VK_DISABLE_MULTI_ADD") == nullptr;
3575+
35753576
if (device->subgroup_size_control) {
35763577
device->subgroup_min_size = subgroup_size_control_props.minSubgroupSize;
35773578
device->subgroup_max_size = subgroup_size_control_props.maxSubgroupSize;

0 commit comments

Comments
 (0)