mesa/src/broadcom
Jose Maria Casanova Crespo 2a62490fa7 v3dv: relax buffer padding in TFU buffer<->image copy
Adjust eligibility check on imageExtent vs slice dimensions
rather than on the buffer addressing dimensions. The TFU codepath
here always writes/reads the full slice from its origin, so the
required invariant is 'imageExtent == slice'; bufferRowLength and
bufferImageHeight may be larger than imageExtent (the spec permits
this for non-zero values), in which case the TFU reads/writes at the
buffer's row/layer stride but only touches slice->width pixels per
row and slice->height rows per layer, leaving the trailing padding
untouched.

The previous combined check (width == slice->width && height ==
slice->height applied to the buffer dimensions) would reject any
caller that set bufferRowLength or bufferImageHeight larger than the
image (this is common for buffers shared across mip levels or
for alignment requirements like Dawn aligning bufferRowLength to 2
for 1-pixel-wide textures), forcing those copies through the slower
TLB / blit / compute paths.

For compressed formats, keep the strict equality check since
block-level stride semantics are more complex.

Assisted-by: Claude Opus 4.7
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41725>
2026-05-26 07:50:44 +00:00
..
ci vc4/ci: update expected results 2026-05-25 10:22:12 +02:00
cle broadcom/cle: parse once the XML spec 2026-04-06 09:17:15 +00:00
clif broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
common v3dv: Enable meta_copy_buffer with TFU for V3D 7.1 2026-05-26 07:50:42 +00:00
compiler broadcom/compiler: Add explicit NOP instruction at page boundaries 2026-05-06 09:21:28 +00:00
drm-shim broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
ds mesa: replace most occurrences of getenv() with os_get_option() 2025-11-06 04:36:13 +00:00
perfcntrs broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
qpu broadcom/qpu: add V3D 7.1 disasm tests 2026-05-06 07:33:42 +00:00
simulator broadcom: use Mesa logging functions 2026-04-06 07:40:55 +00:00
vulkan v3dv: relax buffer padding in TFU buffer<->image copy 2026-05-26 07:50:44 +00:00
.editorconfig
meson.build broadcom: Add perfetto data source 2024-12-13 12:29:11 +00:00