pan/lib: emit high bits of buffer-size

We can't expose large texel-buffers if we don't emit the high bits.
Whoopsie!

Fixes: 4db7958edc ("pan/bi: Change texel buffer limits")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
(cherry picked from commit 57a80ff78c)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
This commit is contained in:
Erik Faye-Lund 2026-04-16 16:13:52 +02:00 committed by Eric Engestrom
parent 9501cafc50
commit 06197643c1
2 changed files with 11 additions and 2 deletions

View file

@ -4204,7 +4204,7 @@
"description": "pan/lib: emit high bits of buffer-size",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "4db7958edc4145acc7777534c1454bc300dea8be",
"notes": null

View file

@ -1321,10 +1321,19 @@ GENX(pan_buffer_texture_emit)(const struct pan_buffer_view *bview,
.raw = false,
};
uint64_t buffer_size = bview->width_el * stride;
pan_pack(out, BUFFER, cfg) {
cfg.type = MALI_DESCRIPTOR_TYPE_BUFFER;
cfg.buffer_type = MALI_BUFFER_TYPE_STRUCTURE;
cfg.size = bview->width_el * stride;
#if PAN_ARCH >= 11
cfg.size = buffer_size & BITFIELD_MASK(32);
cfg.size_hi = buffer_size >> 32;
#else
cfg.size = buffer_size;
#endif
cfg.address = bview->base;
cfg.stride = stride;
cfg.conversion = conv;