From c8e30c7a9fbd44ef49f5faa3e4c5c34f5b1d1972 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Wed, 15 Oct 2025 10:47:06 +0200 Subject: [PATCH] panvk: assert that shader_present isn't zero If it is, util_last_bit() will return zero, and the subtraction that follows will underflow. Make it obvious that this can't happen, by adding an assert here. CID: 1665297 Reviewed-by: Boris Brezillon Reviewed-by: Lars-Ivar Hesselberg Simonsen Part-of: --- src/panfrost/vulkan/panvk_vX_shader.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/panfrost/vulkan/panvk_vX_shader.c b/src/panfrost/vulkan/panvk_vX_shader.c index 83da725fc88..d7a88c1eb9a 100644 --- a/src/panfrost/vulkan/panvk_vX_shader.c +++ b/src/panfrost/vulkan/panvk_vX_shader.c @@ -457,6 +457,7 @@ panvk_preprocess_nir(struct vk_physical_device *vk_pdev, NIR_PASS(_, nir, nir_split_var_copies); NIR_PASS(_, nir, nir_lower_var_copies); + assert(pdev->kmod.props.shader_present != 0); uint64_t core_max_id = util_last_bit(pdev->kmod.props.shader_present) - 1; NIR_PASS(_, nir, nir_inline_sysval, nir_intrinsic_load_core_max_id_arm, core_max_id);