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
  • libANGLE
  • renderer
  • vulkan
  • vk_helpers.cpp
Find file
BlameHistoryPermalink
  • Luc Ferron's avatar
    Vulkan: Fix use-after-free with DynamicBuffer. · 61859817
    Luc Ferron authored May 09, 2018
    The implementation of DynamicBuffer before my changes could have some
    issues in the following use case:
    - Allocate buffer 1 for Texture 1 (with size as big as the full buffer
    size)
    - Allocate buffer 2 for Texture 2 (triggers creation of a new underlying
    BufferVk and releases the buffer 1 to the Renderer)
    - Render with Texture 2 (texture 1 hasn't been flushed yet)
    - swap buffers (causes garbage in the renderer to be cleaned up)
    - Try rendering with Texture 1, and you'll get an error stating that
    the buffer we're trying to copy is not valid (because its already been
    freed).
    
    This set of changes:
    - Add a new test that specifically triggers this case.
    - enables the texture.filtering.cube* tests in dEQP.
    - Fixes the issue by adding a manual releasing pattern of the buffers
    in DynamicBuffer.
    
    Bug: angleproject:2505
    Change-Id: I207ce4a694016766f008cca67d82b252f460e0df
    Reviewed-on: https://chromium-review.googlesource.com/1052551Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    61859817
vk_helpers.cpp 30.5 KB
EditWeb IDE
×

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