Use global Context lookup in single-threaded cases.
In single-threaded cases we don't need to use a TLS lookup for the
current Context.
Assume a global context has 3 states: unset, set, and multi-threaded:
* global context unset -> set the global context
* global context set, matches TLS context -> set the global context
* global context set, doesn't match TLS -> set multi-threaded
* global context multi-threaded -> leave it
This also inlines the global context/TLS check into global_state.h.
Increases performance of the binding perf overhead test by up to 25%
and the draw call perf test by up to 3%.
Bug: angleproject:2824
Change-Id: Ib95953ca918f2408fe72ca83061f4e2d1bd1adad
Reviewed-on: https://chromium-review.googlesource.com/1231993
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by:
Yuly Novikov <ynovikov@chromium.org>
Showing
Please
register
or
sign in
to comment