[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