[Mesa-dev] gallium-array-textures branch
maraeo at gmail.com
Sun Jun 20 09:43:51 PDT 2010
On Mon, Jun 14, 2010 at 9:58 PM, Corbin Simpson
<mostawesomedude at gmail.com>wrote:
> On Mon, Jun 14, 2010 at 4:09 AM, Roland Scheidegger <sroland at vmware.com>
> > I'm planning to merge this branch soon, though I'll fix some broken
> > first. In any case, the probably most fundamental change is that
> > get_tex_surface not only got renamed (to create_surface) but also moved
> > context. In short, pipe_surface is not (or no longer as there were free
> > standing surfaces once upon a time in gallium) some kind of "2d surface"
> > which should be used in (non-rendering) state trackers to move any kind
> > images around. pipe_surface is meant to be used to attach resources to
> > depthstencil and color render target outputs (similar to DX10
> > and RenderTarget Views).
> > One thing though I'm not quite sure is if for array textures, the same
> > should be used in the resource as for storing depth of 3d textures (the
> > depth0 field). Using the same "layer" field both for faces, array index
> > 3d depth seems to make a lot of sense for transfers, the sampler views
> > in pipe_surface, but I'm not sure the same field should be used in the
> > resource itself. I've actually converted some code to do that (but not
> > all for instance the mesa state tracker is broken there).
> > The reason for using the same field would be that it's mutually exclusive
> > anyway (unless someone introduces 3d array textures...), hence not really
> > fields are necessary. But OTOH depth behaves differently to arraysize
> > cube faces) because it doesn't get minified for smaller mips. So if
> > has convincing reasons what should be preferred I'll follow it :-).
> > One this is for sure though we need some way to store array size, and
> > maps will follow that pattern since for resource handling they are pretty
> > much the same as a 2d array texture with array size of 6.
> This all seems fine. Drivers for pre-texture-array chipsets can handle
> all this by forcing off trilinear filtering, right?
No, they can't. The 3rd dimension (depth) is not minified in mipmaps, so the
first and last mipmap may be e.g. 128x128x64 and 1x1x64, respectively. I
don't think DX9-level GPUs can do that.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the mesa-dev