[Mesa-dev] [Bug 99319] godot engine poor performance

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jan 9 02:23:11 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=99319

--- Comment #3 from Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl> ---
It seems a VBO with a stride of 14 gets used, the u_vbuf determines that is not
4 byte aligned and then translates it on the CPU to be 4-byte aligned. For the
3 vertex attributes each it maps the VBO read-only, for which radeonsi uses a
staging buffer. As the copy to staging buffer needs to finish during the map we
do an IB flush.

In the end we end up with 3 GFX IB flushes per draw call, which costs a lot of
performance.

In the end I don't think the translation is even necessary, as all attributes
are vectors of GL_BYTE and GL_HALF_FLOAT.

Two things to improve:
- don't use a staging buffer for small maps (or if we decide to do it to serve
future maps, make sure we actually share the staging buffer)
- make u_vbuf smarter so that it doesn't translate ion this case.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170109/d1e0c8fd/attachment-0001.html>


More information about the mesa-dev mailing list