1. 26 Jan, 2017 2 commits
    • Add ESSL 3.10 integer math built-ins · 9250cb24
      Olli Etuaho authored
      This adds built-ins found in ESSL 3.10 section 8.8 Integer functions.
      
      This includes constant folding support for functions that may be
      constant folded, and support for both GLSL and HLSL output. In HLSL
      several of the functions need to be emulated.
      
      The precision qualification for the return value of some of these
      functions is determined by special rules, that are now part of type
      promotion for TIntermUnary nodes and determining the type of
      TIntermAggregate nodes.
      
      BUG=angleproject:1730
      TEST=angle_unittests
      TEST=dEQP-GLES31.functional.shaders.builtin_functions.integer.*
      
      Change-Id: Ib0056c17671c42b6496c2f0ef059b99f8f25c122
      Reviewed-on: https://chromium-review.googlesource.com/431310
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Fix creating pbuffers on IDCompositionSurfaces. · 2add15ef
      John Bauman authored
      IDCompositionSurfaces can't be bound as SRVs, so don't try to create
      SRVs for them.
      
      Also, OMSetRenderTargets must have NumViews <= 1 if an
      IDCompositionSurface is being bound. MRT doesn't work with them, and just
      having the remaining elements be null isn't enough.
      
      BUG=678800
      
      Change-Id: I76b28de7cbda772bff286eae2b83b70c9dcd2232
      Reviewed-on: https://chromium-review.googlesource.com/431134Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Commit-Queue: John Bauman <jbauman@chromium.org>
  2. 25 Jan, 2017 3 commits
  3. 24 Jan, 2017 2 commits
  4. 23 Jan, 2017 5 commits
  5. 20 Jan, 2017 1 commit
    • Make AST path always include the current node being traversed · 1d9dcc24
      Olli Etuaho authored
      AST traversers tend to sometimes call traverse() functions manually
      during PreVisit. Change TIntermTraverser so that even if this happens,
      all the nodes are automatically added to the traversal path, instead
      of having to add them manually in each individual AST traverser.
      
      This also makes calling getParentNode() return the correct node during
      InVisit.
      
      This does cause the same node being added to the traversal path twice
      in some cases, where nodes are repeatedly traversed, like in
      OutputHLSL, but this should not have adverse side effects. The more
      common case is that the traverse() function is called on the children
      of the node being currently traversed.
      
      This fixes a bug in OVR_multiview validation, which did not previously
      call incrementDepth and decrementDepth when it should have.
      
      BUG=angleproject:1725
      TEST=angle_unittests, angle_end2end_tests
      
      Change-Id: I6ae762eef760509ebe853eefa37dac28c16e7a9b
      Reviewed-on: https://chromium-review.googlesource.com/430732
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
  6. 19 Jan, 2017 6 commits
  7. 18 Jan, 2017 1 commit
  8. 17 Jan, 2017 6 commits
  9. 16 Jan, 2017 1 commit
  10. 13 Jan, 2017 9 commits
  11. 12 Jan, 2017 4 commits