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
  • tests
  • gl_tests
  • MultithreadingTest.cpp
Find file
BlameHistoryPermalink
  • Doug Horn's avatar
    Reland "Fix multithreaded crash on draw commands on D3D11 backend." · fdba40fe
    Doug Horn authored Mar 31, 2021
    This is a reland of 8b9889bf
    
    The previous CL relied on a define which now only exists in
    a specific gn configuration. This reland removes D3D11 as a
    multithread-supported platform in the test configuration.
    
    Original change's description:
    > Fix multithreaded crash on draw commands on D3D11 backend.
    >
    > A crash can occur if thread A is executing eglDestroyContext while
    > thread B issues a draw call, if the threads are interleaved in such a
    > manner that a makeCurrent occurs without triggering a change to the
    > global context and a dirtyAllState call. We handle that case by
    > explicitly making current the proper contexts in the eglDestroyContext
    > call.
    >
    > A test has been added that triggers a crash without this fix when
    > running on the D3D11 backend. In addition, all of MultithreadingTest
    > is enabled for the D3D11 backend.
    >
    > Test: Ran MultithreadingTest. Test exhibits a crash before this
    > change, and does not after this change. Also ran:
    >     dEQP-EGL.functional.sharing.gles2.multithread.*
    >     dEQP-EGL.functional.multithread.*
    >
    > Bug: b/183756357
    > Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Doug Horn <doughorn@google.com>
    
    Bug: b/183756357
    Change-Id: I5be9a011ea99a69730eddc9e4da23bcf92ed3bf2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815243Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Commit-Queue: Doug Horn <doughorn@google.com>
    fdba40fe
MultithreadingTest.cpp 27.8 KB
EditWeb IDE
×

Replace MultithreadingTest.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.