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
  • common
  • tls.h
Find file
BlameHistoryPermalink
  • Jamie Madill's avatar
    Use c++ thread_local for current thread. · cb286073
    Jamie Madill authored Sep 20, 2020
    This solves a race condition using the global context.
    Sadly we can't use an unprotected variable safely because
    it can be written/read from multiple threads doing MakeCurrent.
    
    Has about a 2 ns regression when tested in Linux/Release per
    call. "null" benchmark test went from 27 -> 29 ns/iteration.
    
    Fixes a TSAN warning that popped up in angle_end2end_tests.
    
    Test: DrawCallPerfBenchmark.Run/vulkan_null
    Test: EGLContextASANTest.DestroyContextInUse/ES3_Vulkan
    Bug: b/168744561
    Change-Id: Ic56f3faae81c1087b942a3cfc0e011b9ab439e0f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419641Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    cb286073
tls.h 1.4 KB
EditWeb IDE
×

Replace tls.h

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.