[Mesa-dev] RFC: gallium: Add index bias parameter to draw_elements and friends.

José Fonseca jfonseca at vmware.com
Mon Apr 19 09:49:35 PDT 2010


On Mon, 2010-04-19 at 06:22 -0700, Keith Whitwell wrote:
> On Mon, 2010-04-19 at 06:07 -0700, Marek Olšák wrote:
> > Unfortunately, this is supported only on r500 (i.e. not r300 nor r400)
> > and only when the DRM version is >=2.3.0 (i.e. kernel 2.6.34). Please,
> > can we make it an optional feature?
> 
> Are you sure about this?  It seems to be a long-time DX9 (and earlier?)
> requirement.  
> 
> I'm sure it can be made optional, though - if a state tracker absolutely
> required it & didn't want to implement a workaround, it could just fail
> to initialize on such drivers.

Keith,

This is ready to merge. My immediate concern was getting the interface
and basic support right, which I believe it is done.

I did basic testing of llvmpipe and it seems to be working, but I'd
appreciate an attentive pair of eye on the draw module changes.

I don't feel strongly about it, but I believe it does not make sense to
make this an optional feature of the interface: be it hardware support,
index translation, or fall back to draw module -- there are several easy
easy to get this implemented.

But for now Mesa does not use this, nor do hw drivers implement it (just
softpipe, llvmpipe, and svga do), and I see no big reason to hurry
changing this, as we know no user of the GL extension.

Negative index bias was used extensively in D3D9 when doing SWVP : IIRC
the D3D9 runtime would often transform the vertices in a piecewise
fashion into smaller vertex buffers, and reuse the indices. It is a
tricky we could also do in the draw module in the future, which could
made this feature more appealing.

Jose



More information about the mesa-dev mailing list