Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
A
angle
  • Project
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Chen Yisong
  • angle
  • Repository

Switch branch/tag
  • angle
  • src
  • libGLESv2
  • global_state.cpp
Find file
BlameHistoryPermalink
  • Jamie Madill's avatar
    Use global Context lookup in single-threaded cases. · 77db6f4a
    Jamie Madill authored Sep 23, 2018
    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>
    77db6f4a
global_state.cpp 4.71 KB
EditWeb IDE
×

Replace global_state.cpp

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.