From fe707989fe486f49a0c8ce1eb6755ce437113ac0 Mon Sep 17 00:00:00 2001 From: Hans-Kristian Arntzen Date: Fri, 18 Feb 2022 13:23:02 +0100 Subject: [PATCH] vkd3d: Clamp command count in execute indirect path. Shouldn't be required, but take no chances. Signed-off-by: Hans-Kristian Arntzen --- libs/vkd3d/shaders/cs_execute_indirect_patch.comp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libs/vkd3d/shaders/cs_execute_indirect_patch.comp b/libs/vkd3d/shaders/cs_execute_indirect_patch.comp index 43e96204..45476e55 100644 --- a/libs/vkd3d/shaders/cs_execute_indirect_patch.comp +++ b/libs/vkd3d/shaders/cs_execute_indirect_patch.comp @@ -54,10 +54,11 @@ void main() Command cmd = commands_va.commands[gl_LocalInvocationIndex]; uint draw_id = gl_WorkGroupID.x; - uint max_draws = ~0u; + uint max_draws = gl_NumWorkGroups.x; + if (any(notEqual(indirect_count_va, uvec2(0)))) { - max_draws = IndirectCount(indirect_count_va).count; + max_draws = min(max_draws, IndirectCount(indirect_count_va).count); if (gl_WorkGroupID.x == 0u) dst_indirect_count_va.count = max_draws; }