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
  • util
  • Vector.cpp
Find file
BlameHistoryPermalink
  • Jamie Madill's avatar
    D3D: Rework varying packing code. · 9fc3682c
    Jamie Madill authored Nov 18, 2015
    In D3D we pack varyings by making a register map, and using the
    recommended GLSL ES algorithm to reserve register space. We use
    this map to assign row and column slots to each varying and then
    produce a semantic index value.
    
    The existing scheme had a number of bugs, and was failing several
    angle_end2end_tests. The new design cleans up the code somewhat
    and uses a different counting scheme for the semantic indexes:
    just sort the varyings in packing order and use a simple
    incrementing semantic index per varying. In SM4+, the HLSL compiler
    sorts and packs the varyings correctly itself, and in SM3, handle
    the cases we don't support by returning an error instead of a D3D
    compiler link error.
    
    Also refactor how we store varying information for TF Feedback/
    StreamOut. Only store the necessary D3D information, instead of
    extra information like the name and type.
    
    This fixes several tests in GLSLTest/*. This also will allow us to
    fix interpolation qualifier packing and the structure packing in
    HLSL, which seems to work differently than the rest of the varying
    types.
    
    BUG=angleproject:1202
    TEST=bots,dEQP-GLES3.functional.transform_feedback.*
    
    Change-Id: Ie5bfbb4f71d8bf97f39115fc46d2e61b131df639
    Reviewed-on: https://chromium-review.googlesource.com/311241Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
    9fc3682c
Vector.cpp 3.56 KB
EditWeb IDE
×

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