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
  • State.cpp
Find file
BlameHistoryPermalink
  • Jamie Madill's avatar
    Improve speed of iterating dirty textures. · 0f80ed86
    Jamie Madill authored Sep 19, 2017
    We had a performance regression in the Textures benchmark. What the
    test was doing was iterating over all possible texture state,
    ensuring the active texture was dirty every frame. This is an attempt
    to improve on the speed by not doing as much resetting work in
    State::syncProgramTextures. It introduces an active textures mask to
    speed iteration over the active texture set.
    
    Also makes a refactoring change to Context to make it easier to limit
    caps to an implementation maxium. The number of active textures is
    limited to 64 so they easily fit in the bitset mask, with a limit of
    32 per shader stage. No mask is currenly kept for compute shaders.
    
    With the fix the performance should be about the same as before (which
    is good, as the test always sets the textures dirty).
    
    Test: TexturesBenchmark.Run/gl_8_textures_5_rebind_3_state_8_mips
    
    BUG=chromium:765363
    BUG=angleproject:1387
    
    Change-Id: I8bcf95be3671195373573f89f406edaba40aa1be
    Reviewed-on: https://chromium-review.googlesource.com/670279Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    Reviewed-by: 's avatarFrank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    0f80ed86
State.cpp 73.7 KB
EditWeb IDE
×

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