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
  • ProgramExecutable.h
Find file
BlameHistoryPermalink
  • Jamie Madill's avatar
    Program: Support multiple varying packings. · d654ac9b
    Jamie Madill authored Dec 30, 2020
    Instead of using a single varying packing for all program stages,
    we switch to using a varying register packing for each pair of
    input/output shaders. This allows several valid use cases that use
    many varying to succeed. For instance Geometry Shaders have both
    an input and output varying packing. With tessellation shaders the
    upper bound of valid varying packings in one Program goes up even
    more.
    
    We keep multiple varying packings at once inside a new
    "ProgramVaryingPacking" class. Internally the class keeps a unique
    varying mapping for each input/output interface in the program.
    Separable programs with "open" interfaces are handled specially.
    
    Fixes a bug where varying counting was artificially limited for
    programs with more than two shaders.
    
    This CL also disables GS support when we're emulating line raster
    so we don't have to figure out the details on how to place the
    special position varying.
    
    Bug: angleproject:5496
    Change-Id: I1f9a327c4750caef570c608d86953e9d0cc5eea3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2606532
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: 's avatarTim Van Patten <timvp@google.com>
    d654ac9b
ProgramExecutable.h 16.9 KB
EditWeb IDE
×

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