Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
S
swiftshader
  • 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
  • swiftshader
  • Repository

Switch branch/tag
  • swiftshader
  • src
  • D3D8
  • Direct3DVolumeTexture8.cpp
Find file
BlameHistoryPermalink
  • Nicolas Capens's avatar
    Fix locking a destroyed mutex. · bf7a8145
    Nicolas Capens authored May 19, 2017
    Surface should not lock the resource of a parent texture at destruction, because
    it can already have been destroyed. For example when a texture's image was bound
    as a render target, and the texture is deleted by the app, then the image holds
    the last reference to the texture. When the render target image gets deleted, it
    first releases its parent texture, and then the underlying surface gets
    destroyed.
    
    This is fixed by synchronizing, by locking and unlocking the (parent) resource,
    earlier. The derived class is responsible for calling Surface::sync() before
    releasing the parent resource.
    
    Bug chromium:716803
    
    Change-Id: Ifc3685dcf9e25e8419000af65d4bb7407f26bbcb
    Reviewed-on: https://swiftshader-review.googlesource.com/9750Reviewed-by: 's avatarNicolas Capens <capn@google.com>
    Tested-by: 's avatarNicolas Capens <capn@google.com>
    bf7a8145
Direct3DVolumeTexture8.cpp 5.27 KB
EditWeb IDE
×

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