[Mesa-dev] [PATCH 11/14] swr: rework resource layout and surface setup
Ilia Mirkin
imirkin at alum.mit.edu
Sun Nov 13 04:29:09 UTC 2016
On Sat, Nov 12, 2016 at 11:00 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Sat, Nov 12, 2016 at 6:00 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>> There are a handful of regressions as a result of this change:
>> - fbo-generatemipmap-formats on compressed textures with irregular
>> sizes fails. The 2+ levels appear as if their offsets were off by a
>> bit. No idea why, despite a lot of staring. I suspect the fact that
>> this test was passing before is pure coincidence as well.
>
> OK, I figured out why this was happening. Let's say you have a height
> of 277 and a block size of 4. If you divide the 4 out straight away,
> you're going to get miplevel heights of 70, 35, 17, 8, 4, 2, 1. If, on
> the other hand, you start with the 277 size, you're going to get
> miplevel heights of ceil(277/4)=70, ceil(138/4)=35, ceil(69/4)=18,
> ceil(34/4)=9, ceil(17/4)=5, ceil(8/4)=2, ceil(4/4)=1. Mesa is
> overwriting larger chunks than the allocation code expected, which is
> why some data from various levels is ending up in the wrong places. I
> think it should be moderately simple to fix the TilingFunctions code
> to take this into account properly, will give it a shot.
OK, that fixes it -
https://github.com/imirkin/mesa/commit/6231bc6acb7518c6e0453a6b25055f6f1ca92808
as a replacement for the other TilingFormats patch I sent earlier in
this series, plus a very small change to this patch to make use of
this functionality again. Updated version here:
https://github.com/imirkin/mesa/commit/d6afb2ee9b75161864534521446b5fb624fbbe57
I'll wait to resend until I get some review comments.
Cheers,
-ilia
More information about the mesa-dev
mailing list