mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
broadcom/compiler: fix first_component assertion
first_component is an uint, and thus if it takes value 0 we can't know if it is because writemask has its first bit to 1, or all bits to 0. As we want to ensure that at least one bit is set, apply the assertion in writemask. Fixes CID#1472829 "Macro compares unsigned to 0 (NO_EFFECT)". v2: - Restore "first_component <= last_component" assertion (Iago) Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10103>
This commit is contained in:
parent
46fc8ed432
commit
cc8d4cd1ae
1 changed files with 2 additions and 2 deletions
|
|
@ -315,13 +315,13 @@ emit_tmu_general_store_writes(struct v3d_compile *c,
|
|||
* are enabled in the writemask and emit the TMUD
|
||||
* instructions for them.
|
||||
*/
|
||||
assert(*writemask != 0);
|
||||
uint32_t first_component = ffs(*writemask) - 1;
|
||||
uint32_t last_component = first_component;
|
||||
while (*writemask & BITFIELD_BIT(last_component + 1))
|
||||
last_component++;
|
||||
|
||||
assert(first_component >= 0 &&
|
||||
first_component <= last_component &&
|
||||
assert(first_component <= last_component &&
|
||||
last_component < instr->num_components);
|
||||
|
||||
for (int i = first_component; i <= last_component; i++) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue