1. 12 Dec, 2016 8 commits
  2. 11 Dec, 2016 1 commit
  3. 09 Dec, 2016 5 commits
  4. 08 Dec, 2016 6 commits
  5. 07 Dec, 2016 2 commits
    • Validate that line width is not NaN. · 47c48080
      Geoff Lang authored
      BUG=668223
      
      Change-Id: I2f38b358dd4a6b9327562704dacce37f2b16acaa
      Reviewed-on: https://chromium-review.googlesource.com/417192Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Commit-Queue: Geoff Lang <geofflang@chromium.org>
    • Handle constant folding arithmetic involving infinity · 2d73665d
      Olli Etuaho authored
      Constant folding arithmetic operations that involve infinity are now
      handled correctly in the cases where the result is infinity or zero.
      The implementation mostly relies on C++ to implement IEEE float
      arithmetic correctly so that unnecessary overhead is avoided.
      
      Constant folding arithmetic operations that result in overflow now
      issue a warning but result in infinity. This is not mandated by the
      spec but is a reasonable choice since it is the behavior of the
      default IEEE rounding mode.
      
      Constant folding arithmetic operations that result in NaN in IEEE will
      generate a warning but the NaN is kept. This is also not mandated by
      the spec, but is among the allowed behaviors.
      
      There's no special handling for ESSL 1.00. ESSL 1.00 doesn't really
      have the concept of NaN, but since it is not feasible to control
      generating NaNs at shader run time either way, it should not be a big
      issue if constant folding may generate them as well.
      
      TEST=angle_unittests
      BUG=chromium:661857
      
      Change-Id: I06116c6fdd02f224939d4a651e4e62f2fd4c98a8
      Reviewed-on: https://chromium-review.googlesource.com/414911Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
  6. 06 Dec, 2016 1 commit
  7. 05 Dec, 2016 2 commits
  8. 02 Dec, 2016 3 commits
  9. 01 Dec, 2016 5 commits
  10. 30 Nov, 2016 3 commits
  11. 29 Nov, 2016 3 commits
  12. 28 Nov, 2016 1 commit
    • D3D: Implement multi-thread shader compilation. · 01074255
      Jamie Madill authored
      Choose to use std::async for now to implement multi-threaded compiles.
      This should work across platforms and also be usable for other
      threading tasks. Note that std::async does not have a good way to
      wait for multiple std::futures. Also the Linux compile of std::async
      is broken due to a bug in an old STL version, so disable it on this
      platform.
      
      The implementation uses a static polymorphism approach, which should
      have very good performance (no virtual calls).
      
      This design leaves the door open for other future implementations,
      such as a Win32 thread pool, or one based on angle::Platform.
      
      BUG=angleproject:422
      
      Change-Id: Ia2f13c3af0339efaca1d19b40b3e08ecca61b8e8
      Reviewed-on: https://chromium-review.googlesource.com/413712
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>