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
  • tests
  • gl_tests
  • GLSLTest.cpp
Find file
BlameHistoryPermalink
  • Shahbaz Youssefi's avatar
    Vulkan: SPIR-V Gen: Handle load/store access chain · aa2626f9
    Shahbaz Youssefi authored May 21, 2021
    This change implements a key instruction of SPIR-V, OpAccessChain.
    Inspired by glslang's implementation, a class is added (AccessChain)
    that tracks "indices" into a base value.  These indices could select a
    field of a block, an element of an array, a column of a matrix, or a
    component of a vector.  Nuances (such as multi-component swizzle as an
    lvalue not representable in SPIR-V) and optimizations (such as
    all-literal indices to an rvalue) that are implemented in glslang have
    also been implemented in this change.  As a result, this change
    implements all manners of loads and stores (with the exception of this
    gotcha: https://github.com/KhronosGroup/glslang/issues/2637).
    
    The change uses this feature to translate the basic shader which does
    `gl_Position = positionAttr;` (by implementing EOpAssign), and enables a
    test that uses this shader.
    
    Bug: angleproject:4889
    Change-Id: I22dbe5b169ce499eaac657902164aca3b0ebc193
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2911880
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarTim Van Patten <timvp@google.com>
    aa2626f9
GLSLTest.cpp 338 KB
EditWeb IDE
×

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