gallium: Add index bias parameter to draw_elements and friends.
authorJosé Fonseca <jfonseca@vmware.com>
Mon, 19 Apr 2010 06:56:46 +0000 (08:56 +0200)
committerJosé Fonseca <jfonseca@vmware.com>
Mon, 19 Apr 2010 06:56:46 +0000 (08:56 +0200)
commitc184da9505e04fdbdda1bb1ff6990d5defaa25d4
tree0d9e8c61e08d0230d75bf3d39db8a444665e2090
parent4b148bcf5e6cf08fac31cd10b42ac5f5a5f43cd6
gallium: Add index bias parameter to draw_elements and friends.

indexBias corresponds to:
- BaseVertexIndex parameter of D3D9's
  IDirect3DDevice9::DrawIndexedPrimitive method
- BaseVertexLocation parameter of ID3D10Device::DrawIndexed

Although a positive indexBias can be easily be implemented in Gallium by
adding indexBias*stride to each vertex buffer base offset, a negative
indexBias cannot, as the final vertex buffer offset could be negative.

I'm not aware of this functionality being exposed to GL drivers, so for
now all hardware drivers will just assert(indexBias == 0).

See also:
- http://msdn.microsoft.com/en-us/library/bb174369.aspx (D3D9)
- http://msdn.microsoft.com/en-us/library/ff556126.aspx (D3D10 DDI)
src/gallium/include/pipe/p_context.h