[Mesa-dev] r600g on rv635 and broken mipmaps
airlied at gmail.com
Wed May 4 19:32:03 PDT 2011
>> So to be honset I do not understand where the data sticks and what I need to
>> do to get it out.
>> May be that observations make sense for somebody else?
> I've been staring at this I'm running out of good ideas, and even bad ideas.
> It really does seem like the TC has some invalid lines in it maybe,
> and they don't get
> invalidated. So when we render the first mipmap level it samples the
> level 0 image
> via the TC, and pulls in some of say the level 1 image, then we write
> the level 1 image
> with the CB, and go to sample the level 1 image to render the level 2
> image. That
> sampling of the level 1 image fails, because although we've flush the
> dest cache,
> we haven't flushed the texture src cache.
> However saying that I can't find a secret incantation of flags to put
> in the correct place
> to make it work. I'll keep looking at it.
Okay my guess at the problem is that:
the CP tracks coherency but the SURFACE_BASE_UPDATE stuff might rely
on the base in the CB being the same as the texture BASE which it won't
be in the case where we are rendering to mip sublevels. Though I've no idea
how to workaround this without explicit flushes.
More information about the mesa-dev