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
  • ProgramLinkedResources.cpp
Find file
BlameHistoryPermalink
  • Jamie Madill's avatar
    Refactor BlockLayoutEncoder APIs for std430. · 4e712be2
    Jamie Madill authored Jan 03, 2019
    This splits HLSL SSBO access into two steps.
    
    First we compute a mapping from the collected SSBO variable names to
    TField pointers. Then during tree traversal we use a block encoding
    visitor class that uses the shader names to store BlockMemberInfo
    structures for the structures and variables. Each nested structure
    is traversed separately so that the BlockMemberInfo offsets are
    relative to the structure start rather than the enclosing block. The
    array stride for a structure is the size of the struct after all the
    alignment is included.
    
    This gives the correct results for the SSBO access chain in the HLSL
    code. It also will allow us to use the same encoding and visiting logic
    for SSBOs on the API side.
    
    Bug: angleproject:3024
    Change-Id: I42b1db0e7547782ae77fe5f64a797f803f203f45
    Reviewed-on: https://chromium-review.googlesource.com/c/1352731
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
    4e712be2
ProgramLinkedResources.cpp 40.3 KB
EditWeb IDE
×

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