1. 24 Sep, 2018 2 commits
    • Skip Texture::syncState when no dirty bits. · f668a4b5
      Jamie Madill authored
      We sometimes generate local dirty bits in TextureGL. To make sure the local
      dirty bits don't get skipped we use a Subject/Observer pattern between the
      TextureGL and gl::Texture. This allows us to skip syncState in the hot path.
      
      Also inlines a couple of other texture functions. And fixes a stray header
      in EGLBlobCacheTest.
      
      Bug: angleproject:2763
      Change-Id: Ie1d8a5865deaf2a563a358c31ae28bef6b2458b1
      Reviewed-on: https://chromium-review.googlesource.com/1228374
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
    • Use global Context lookup in single-threaded cases. · 77db6f4a
      Jamie Madill authored
      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: 's avatarYuly Novikov <ynovikov@chromium.org>
  2. 22 Sep, 2018 1 commit
  3. 21 Sep, 2018 8 commits
  4. 20 Sep, 2018 2 commits
  5. 19 Sep, 2018 10 commits
  6. 18 Sep, 2018 5 commits
  7. 17 Sep, 2018 6 commits
  8. 14 Sep, 2018 3 commits
  9. 13 Sep, 2018 3 commits