diff --git a/src/freedreno/fdl/fd6_layout.c b/src/freedreno/fdl/fd6_layout.c index dd09a3c6d54..41fb9e4df8e 100644 --- a/src/freedreno/fdl/fd6_layout.c +++ b/src/freedreno/fdl/fd6_layout.c @@ -83,11 +83,13 @@ fdl6_tile_alignment(struct fdl_layout *layout, uint32_t *heightalign) layout->pitchalign = 2; } - /* note: this base_align is *probably* not always right, - * it doesn't really get tested. for example with UBWC we might - * want 4k alignment, since we align UBWC levels to 4k + /* Empirical evidence suggests that images with UBWC could have much + * looser alignment requirements, however the validity of alignment is + * heavily undertested and the "officially" supported alignment is 4096b. */ - if (layout->cpp == 1) + if (layout->ubwc) + layout->base_align = 4096; + else if (layout->cpp == 1) layout->base_align = 64; else if (layout->cpp == 2) layout->base_align = 128;