[Mesa-users] glVertexAttribPointer performance
Brian Paul
brianp at vmware.com
Fri Dec 14 15:01:57 UTC 2018
On 12/14/2018 02:08 AM, Pierre-Olivier Konecki wrote:
> Hello,
>
> I'm currently developping some kind of Vulkan backed driver for OpenGL
> and I was wondering how mesa devs handled glVertexAttribPointer data
> when not using a VBO and passing a pointer to vertex data. In my
> implementation I copy the data every frame and upload it to the GPU,
> which is not ideal when the data is always the same. Is there some kind
> of optimization trick in mesa for this?
Not really. If the vertex data are not stored in a VBO, it's hard to
know if the application changed the data between draw calls. So in the
end, drivers typically wind up (re-)copying the data into GPU memory,
unless the GPU can directly read from the user space.
I suppose one could try caching such data and use some sort of
hash/checksum to see if it's changed to avoid re-uploading, but that's
something we haven't done.
> If you have any other knowledge of performance trick used in mesa, I
> would gladly hear about it too.
I don't know if there's any tricks. A lot of it boils down to profiling
applications, finding bottlenecks, and trying to improve the code
accordingly. In some cases, applications are just poorly written and
not much can be done about that.
-Brian
More information about the mesa-users
mailing list