1. 18 Nov, 2015 2 commits
    • D3D: Rework varying packing code. · 9fc3682c
      Jamie Madill authored
      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>
    • ProgramD3D: Move some common code into a Metadata class. · e39a3f0a
      Jamie Madill authored
      This metadata class captures some of our commonly referenced but also
      complex flats into a shared place. We can then re-use them in the
      semantic code, the DynamicHLSL linking code, and the program code.
      
      Refactoring patch only.
      
      BUG=angleproject:1202
      
      Change-Id: I8b6088cfa5488c5173a6f06c15abab5a4ead4cb8
      Reviewed-on: https://chromium-review.googlesource.com/311700
      Tryjob-Request: Jamie Madill <jmadill@chromium.org>
      Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
  2. 17 Nov, 2015 3 commits
  3. 13 Nov, 2015 7 commits
  4. 12 Nov, 2015 7 commits
  5. 11 Nov, 2015 3 commits
  6. 10 Nov, 2015 4 commits
  7. 09 Nov, 2015 5 commits
  8. 06 Nov, 2015 9 commits