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
  • ProgramVk.h
Find file
BlameHistoryPermalink
  • Jamie Madill's avatar
    Vulkan: Faster state transitions. · 3f0c4a56
    Jamie Madill authored Jan 10, 2019
    Implements a transition table from Pipeline Cache entry to
    state change neighbouring Pipeline Cache entries. We use
    a 64-bit mask to do a quick scan over the pipeline desc.
    This ends up being a lot faster than doing a full hash
    and memcmp over the pipeline description.
    
    Note that there could be future optimizations to this design.
    We might keep a hash map of the pipeline transitions instead
    of a list. Or use a sorted list. This could speed up the search
    when there are many transitions for cache entries. Also we could
    skip the transition table and opt to do a full hash when there
    are more than a configurable number of dirty states. This might
    be a bit faster in some cases. Likely this will be something we
    can add performance tests for in the future.
    
    Documentation is also added in a README file for the Vulkan back
    end. This will be extended over time.
    
    Improves performance about 30-35% on the VBO state change test.
    
    Bug: angleproject:3013
    Change-Id: I793f9e3efd8887acf00ad60e4ac2502a54c95dee
    Reviewed-on: https://chromium-review.googlesource.com/c/1369287
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
    3f0c4a56
ProgramVk.h 11.1 KB
EditWeb IDE
×

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