vc4: Mostly fix offset calculation for NPOT mipmap levels.
authorEric Anholt <eric@anholt.net>
Mon, 6 Oct 2014 22:47:38 +0000 (15:47 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 9 Oct 2014 09:01:09 +0000 (11:01 +0200)
commit67aea92964ed06f10097271822f4a16378138be5
tree41883924b38cfa21513fae0a1e00678d14fc4dda
parent0b96a086cbb4bcf0a5aab1fee6d77c1e40295297
vc4: Mostly fix offset calculation for NPOT mipmap levels.

The non-base NPOT levels are stored as POT-aligned images.  We get that
POT alignment by minifying the POT-aligned base level.

This means that level strides are also POT aligned, so we have to tell the
rendering mode config that our resource is larger than the actual
requested area.

Fixes the fbo-generatemipmap-formats NPOT cases.  Regresses
depthstencil-render-miplevels 273 * -- the texture presentation now works
(where it was completely broken before), it looks like there's some
overflow of image bounds happening at the lower miplevels.
src/gallium/drivers/vc4/vc4_resource.c
src/gallium/drivers/vc4/vc4_state.c