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
  • DEPS
Find file
BlameHistoryPermalink
  • Jamie Madill's avatar
    Use parameter cache to skip passing IndexRange. · 9c9b40ac
    Jamie Madill authored Apr 26, 2017
    For DrawElements et al., we can use a simple design to store
    entry point parameters and compute index ranges lazily. This allows
    us to compute the index range outside of the validation layer.
    
    Fixing this will let us implement a few things, such as the no error
    extension. It will also allow auto-generation of the entry points,
    since we won't have to have special cases for certain entry
    points. It will also help fix the syncState layering problem. Now the
    cached parameter helper (which is owned by the Context) can make the
    impl layer calls, instead of the validation layer calling the impl
    directly.
    
    We use a small array in Context to gather parameters in a generic
    way without reallocation on call. We also check type safety by storing
    a type info struct which can handle inheritance between type classes.
    Optional variables for the cache determine when to re-compute values.
    
    The intent with gatherParams is to call this in every entry point, and
    have in most cases be a no-op. In some cases like for IndexRange, we
    store some parameters for later use. The inheritance scheme enables
    auto-generation of the entry points by keeping signatures similar.
    
    BUG=angleproject:747
    
    Change-Id: I871e99e1334cf6e61ef8da62fde3ced094903f8a
    Reviewed-on: https://chromium-review.googlesource.com/474119
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
    Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    9c9b40ac
DEPS 4.02 KB
EditWeb IDE
×

Replace DEPS

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.