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
  • d3d
  • d3d11
  • StateManager11.cpp
Find file
BlameHistoryPermalink
  • Jamie Madill's avatar
    D3D11: Remove "fast path" check in DrawElements. · c7b0cf2a
    Jamie Madill authored Nov 22, 2017
    This was a bit of an anti-pattern. Many draw calls were being handled
    in the "slow" path, so the repeated checks were slowing the draw calls
    down more than the fast path was speeding things up.
    
    The new code tries to do all the checking for index ranges and restart
    index once only, and lazily when possible. The 'start' vertex is a bit
    of a special case - we known when the primitive restart index is
    not enabled, this will be always the same as the 'base' vertex (zero
    if the base vertex is not enabled - only currently available through
    draw indirect commands).
    
    In future work we can look at implementing a lazy evaluation for draw
    indirect commands so we don't need to do a check there either.
    
    Reduces overhead in the D3D11 indexed rendering perf test such that it
    leads to an increased score of about 5%.
    
    BUG=angleproject:2229
    
    Change-Id: I6330f30b66d1810624d03f4e7a012bf2391a3bf3
    Reviewed-on: https://chromium-review.googlesource.com/764677
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    c7b0cf2a
StateManager11.cpp 112 KB
EditWeb IDE
×

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