[Mesa-dev] [PATCH 11/12] vbo: Remove vbo_save_vertex_list::buffer_offset.

Mathias Fröhlich Mathias.Froehlich at gmx.net
Fri Mar 2 07:34:05 UTC 2018


Hi Brian,

On Thursday, 1 March 2018 18:15:55 CET Brian Paul wrote:
> That sounds great.  At VMware we come across quite a few legacy GL apps 
> that make heavy use of display lists, and often times, the applications 
> are pretty inefficient with display list use.
I know. Working myself for a CAE company doing fluid simulation ...

> My previous optimization applied to multiple glBegin/End primitives 
> within a single display list (avoid re-emitting vertex array offsets for 
> each draw call).  If we can do that with glBegin/End prims in separate 
> display lists, that could be a really nice improvement.

If I understand the dlist compiler correct your current optimization has 
already the potential to share across dlists as long as the amount of vertex 
data stays less than the chunk of vbo that gets allocated at one time possibly 
spaning multiple display lists.
The issue is that its less likely to hit the optimization with respect to the 
beginning of the backing vbo of the current chunk. Rather than that the 
previous set of vertices stems with a much higher probability of a similar 
draw. And this base offset will fit much more often IMO. Therefore optimizing 
for the past voa's offset is much more likely to happen. This is better for 
inside the dlist but also across dlists.

Did you see the single patch I sent out mostly for you yesterday (european) 
morning?

For one mentioned openscenegraph workload that reduces the amount of allocated 
vaos from 536 to 138 with a dlist count of 311. Note that the maximum expected 
vao count is 311*2 = 622.

best

Mathias




More information about the mesa-dev mailing list