Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Inline common cases of PackParam<BufferBinding>
This appears to improve frame time by ~0.8% in some of my driver_overhead_2 tests on a mobile device. Default implementation is FromGLenum<BufferBinding> https://crsrc.org/c/third_party/angle/src/common/PackedGLEnums_autogen.cpp;drc=0bb109aa3311f35bf0b51bcda3d7e095048168c8;l=106 and has 15 cases. This CL avoids the call for 3 of those cases, most common ones according to frequency of glBindBuffer arg in our trace cpp files. This mapping adds compare/branch instructions for each case, hence inlining increases the caller a little. In this case the increase is about 60 bytes. With the total of 23 callers (GL_*Buffer* exports), this increase the .so size by ~1.3KB. Just inlining the function would yield higher bloat and wouldn't prioritize the common cases. Bug: b/383305597 Change-Id: Icc205fd46fb8ef195c8ffaf67f9cd5194d1d1a5d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6148838 Reviewed-by: Shahbaz Youssefi <[email protected]> Reviewed-by: Geoff Lang <[email protected]> Commit-Queue: Roman Lavrov <[email protected]>
- Loading branch information