gfxstream: fix signedness of shifts

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33384>
(cherry picked from commit 74d0a8cdd6)
This commit is contained in:
Eric Engestrom 2025-02-04 19:53:18 +01:00
parent 765cdedcd0
commit d3e9c337fd
2 changed files with 7 additions and 7 deletions

View file

@ -344,7 +344,7 @@
"description": "gfxstream: fix signedness of shifts",
"nominated": false,
"nomination_type": 0,
"resolution": 4,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -148,12 +148,12 @@ long ring_buffer_advance_read(struct ring_buffer* r, uint32_t step_size, uint32_
uint32_t ring_buffer_calc_shift(uint32_t size) {
uint32_t shift = 0;
while ((1 << shift) < size) {
while ((1u << shift) < size) {
++shift;
}
// if size is not a power of 2,
if ((1 << shift) > size) {
if ((1u << shift) > size) {
--shift;
}
return shift;
@ -166,16 +166,16 @@ void ring_buffer_view_init(struct ring_buffer* r, struct ring_buffer_view* v, ui
ring_buffer_init(r);
v->buf = buf;
v->size = (1 << shift);
v->mask = (1 << shift) - 1;
v->size = (1u << shift);
v->mask = (1u << shift) - 1;
}
void ring_buffer_init_view_only(struct ring_buffer_view* v, uint8_t* buf, uint32_t size) {
uint32_t shift = ring_buffer_calc_shift(size);
v->buf = buf;
v->size = (1 << shift);
v->mask = (1 << shift) - 1;
v->size = (1u << shift);
v->mask = (1u << shift) - 1;
}
uint32_t ring_buffer_view_get_ring_pos(const struct ring_buffer_view* v, uint32_t index) {