From c2dda8c8e7536b9e5bc973adbed8c6003cb49c7b Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 22 Jul 2024 19:27:41 -0700 Subject: [PATCH] intel/elk: Fix undefined shift by 64 of uint64_t in elk_compute_first_urb_slot_required Reviewed-by: Caio Oliveira Reviewed-by: Matt Turner Part-of: --- src/intel/compiler/elk/elk_compiler.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/intel/compiler/elk/elk_compiler.h b/src/intel/compiler/elk/elk_compiler.h index 7b55ba652af..ab7d8f66ca1 100644 --- a/src/intel/compiler/elk/elk_compiler.h +++ b/src/intel/compiler/elk/elk_compiler.h @@ -1750,7 +1750,8 @@ elk_compute_first_urb_slot_required(uint64_t inputs_read, if ((inputs_read & (VARYING_BIT_LAYER | VARYING_BIT_VIEWPORT | VARYING_BIT_PRIMITIVE_SHADING_RATE)) == 0) { for (int i = 0; i < prev_stage_vue_map->num_slots; i++) { int varying = prev_stage_vue_map->slot_to_varying[i]; - if (varying > 0 && (inputs_read & BITFIELD64_BIT(varying)) != 0) + if (varying != ELK_VARYING_SLOT_PAD && varying > 0 && + varying > 0 && (inputs_read & BITFIELD64_BIT(varying)) != 0) return ROUND_DOWN_TO(i, 2); } }