> But for any such technique, the mesa state tracker will need to figure
> out what memory is being referred to by those non-VBO vertex buffers
> and to do that requires knowing the index min/max values.

Isn't the min/max value only required to compute a sensible value for
the maximum user buffer length? (the base pointer is passed to
gl*Pointer)

The fact is, that we don't need to know how large the user buffer is
if the CPU is accessing it (or if we have a very advanced driver that
faults memory in the GPU VM on demand, and/or a mechanism to let the
GPU share the process address space).
As you said, this happens for instance  with swtnl, but also with
drivers that scan the index buffer and copy the referenced vertex for
each index onto the GPU FIFO themselves (e.g. nv50 and experimental
versions of nv30/nv40).

So couldn't we pass ~0 or similar as the user buffer length, and have
the driver use an auxiliary module on draw calls to determine the real
length, if necessary?
Of course, drivers that upload user buffers on creation (if any
exists) would need to be changed to only do that on draw calls.

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to