radeon: align r600/700 fmask to 128 X blocks.
authorDave Airlie <airlied@redhat.com>
Fri, 9 Jan 2015 03:34:41 +0000 (13:34 +1000)
committerDave Airlie <airlied@gmail.com>
Mon, 19 Jan 2015 06:47:34 +0000 (16:47 +1000)
commiteca91cf163d50090db36d0b2abbffcff813a2adf
tree304617ab1f38f8612537fd71ac7fb940860d7dbc
parenta5003c6f859c90d6e7693ce085c1cb4dd7d95f26
radeon: align r600/700 fmask to 128 X blocks.

After much searching and empricial testing, and reading of
things I've no justifcation for this fix, other than it really
appears this is what the hw is doing or close enough.

It makes sense that each entry in the FMASK corresponds to
an entry in the CMASKm and the CMASK is organised into 128x128
blocks, but I can't find anything in any of the docs/info from AMD.

But I've spent a lot of time on this, and this seems to be the
simplest fix, in that we don't over allocate things too much,
once this fix in place we can nuke the extra multiplier in mesa.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
radeon/radeon_surface.c