Skip to content
Snippets Groups Projects
Commit 6c446377 authored by Italo Nicola's avatar Italo Nicola Committed by Marge Bot
Browse files

panfrost: fix off-by-one when exporting format modifiers


`count` should not be incremented before the check, because it causes
the modifiers array to be filled starting from position 1 instead of 0.

This bug causes one less format modifier to be available than would
otherwise be expected, which could then lead to a dmabuf query failing
in situations where a supported modifier wouldn't be advertised.

It also causes garbage data to be advertised as a modifier in position 0
of the array, although this is not very likely to cause issues.

Fixes: 2a121751 ("panfrost: Implement panfrost_query_dmabuf_modifiers")
Cc: mesa-stable
Signed-off-by: default avatarItalo Nicola <italonicola@collabora.com>
Reviewed-by: default avatarDaniel Stone <daniels@collabora.com>
Reviewed-by: default avatarAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <mesa/mesa!20879>
parent 7b76d46e
No related branches found
No related tags found
Loading
......@@ -629,14 +629,13 @@ panfrost_walk_dmabuf_modifiers(struct pipe_screen *screen,
test_modifier != pan_best_modifiers[i])
continue;
count++;
if (max > (int)count) {
modifiers[count] = pan_best_modifiers[i];
if (external_only)
external_only[count] = false;
}
count++;
}
*out_count = count;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment