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
  • glslang_wrapper_utils.cpp
Find file
BlameHistoryPermalink
  • Shahbaz Youssefi's avatar
    Vulkan: Support vertex attribute aliasing for non-matrix types · 9091de43
    Shahbaz Youssefi authored Oct 17, 2020
    Initial implementation that supports float and vecN types.  In this
    case, every attribute occupies a single location.  When two attributes
    alias, they are either the same size, or one is bigger than the other.
    
    Take the following example:
    
        attribute vec3 a; // location 0
        attribute vec3 b; // location 0
    
        attribute vec4 c; // location 1
        attribute vec2 d; // location 1
    
    The shader may access either a or b (but not both).  Similarly, it can
    access either c or d (but not both).  The shader can be modified such
    that:
    
    - f(b) is replaced with f(a).
    - g(d) is replaced with g(c.xy).
    - b and d are removed
    
    As a result, there are no longer any aliasing attributes.  In other
    words, when attributes alias, the larger attribute can be retained and
    the other attributes can be replaced by selecting the appropriate number
    of components from the retained attribute.
    
    Bug: angleproject:4249
    Change-Id: I7c5461f777d659c92977e2572091a8ce5e422704
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2482286
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: 's avatarCourtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: 's avatarCharlie Lao <cclao@google.com>
    9091de43
glslang_wrapper_utils.cpp 116 KB
EditWeb IDE
×

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