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
  • MemoryProgramCache.cpp
Find file
BlameHistoryPermalink
  • Olli Etuaho's avatar
    ShaderVariable: separate fields for staticUse and active · 107c7247
    Olli Etuaho authored Mar 20, 2018
    Thus far the compiler has used the "staticUse" flag to mark variables
    that should have rather been marked "active", meaning that the code
    may actually execute in a way that accesses the variable. There's a
    clear definition for this use of the term "active" in the GLES 3.0.5
    spec, section 2.12.6, and in GLES 3.1 section 7.3.1.
    
    Having separate fields for recording static use and "activeness" of a
    variable is the first step to fixing this.
    
    According to the spec, usually only active resources should be
    considered when checking use against max limits. Also, only active
    uniforms get assigned a location. libANGLE code now correctly checks
    the active flag rather than the static use flag in these cases.
    
    The static use field still mirrors the active field for now, since
    some code in Chromium also needs to be fixed to use the active field
    correctly before the two can diverge.
    
    After Chromium is fixed, we can fix ANGLE so that static use
    information is recorded earlier during compilation and will accurately
    reflect whether variables are statically used. Currently the compiler
    only records variables once some static use may already have been
    pruned from the AST.
    
    BUG=angleproject:2262
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I025bb71361246ae00c911a1f8b66ec045f665f29
    Reviewed-on: https://chromium-review.googlesource.com/970962Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
    Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    107c7247
MemoryProgramCache.cpp 27.9 KB
EditWeb IDE
×

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