diff --git a/src/panfrost/vulkan/csf/panvk_vX_cmd_dispatch.c b/src/panfrost/vulkan/csf/panvk_vX_cmd_dispatch.c index 222d71299c8..b1bf45483ee 100644 --- a/src/panfrost/vulkan/csf/panvk_vX_cmd_dispatch.c +++ b/src/panfrost/vulkan/csf/panvk_vX_cmd_dispatch.c @@ -222,7 +222,7 @@ cmd_dispatch(struct panvk_cmd_buffer *cmdbuf, struct panvk_dispatch_info *info) cfg.workgroup_size_x = cs->cs.local_size.x; cfg.workgroup_size_y = cs->cs.local_size.y; cfg.workgroup_size_z = cs->cs.local_size.z; - cfg.allow_merging_workgroups = false; + cfg.allow_merging_workgroups = cs->info.cs.allow_merging_workgroups; } cs_move32_to(b, cs_sr_reg32(b, COMPUTE, WG_SIZE), wg_size.opaque[0]); diff --git a/src/panfrost/vulkan/csf/panvk_vX_cmd_precomp.c b/src/panfrost/vulkan/csf/panvk_vX_cmd_precomp.c index c7858dad129..bd302847aec 100644 --- a/src/panfrost/vulkan/csf/panvk_vX_cmd_precomp.c +++ b/src/panfrost/vulkan/csf/panvk_vX_cmd_precomp.c @@ -95,7 +95,8 @@ panvk_per_arch(dispatch_precomp)(struct panvk_precomp_ctx *ctx, cfg.workgroup_size_x = shader->cs.local_size.x; cfg.workgroup_size_y = shader->cs.local_size.y; cfg.workgroup_size_z = shader->cs.local_size.z; - cfg.allow_merging_workgroups = false; + cfg.allow_merging_workgroups = + shader->info.cs.allow_merging_workgroups; } cs_move32_to(b, cs_sr_reg32(b, COMPUTE, WG_SIZE), wg_size.opaque[0]);