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_utils.cpp
Find file
BlameHistoryPermalink
  • Tim Van Patten's avatar
    Trigger a flush() when the command graph contains too many objects · f750d86a
    Tim Van Patten authored Oct 01, 2019
    If an App repeatedly issues GL commands like glTextImage2D without a
    finish/flush/draw, it's possible for ANGLE to exhaust the available
    Vulkan memory allocations and exceed
    VkPhysicalDeviceLimits::maxMemoryAllocationCount. When this occurs,
    the Vulkan validation layers will trigger an error and cause dEQP
    tests to fail.
    
    This change will query the backend if a flush() should be performed
    during each of the GL delete calls, and perform it if necessary. This
    will cause a queue submission and a Serial increment, allowing the
    allocated memory to be freed, preventing the validation errors.
    
    Bug: angleproject:3818
    Test: KHR-GLES3.copy_tex_image_conversions.forbidden.renderbuffer_cubemap_*
    Change-Id: I26d0a47aa7bca10c25bc8141f1523afbab0b3b5b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1834781
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    f750d86a
vk_utils.cpp 34.6 KB
EditWeb IDE
×

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