1. 24 Oct, 2016 1 commit
    • Add cross-platform Workarounds to Context. · 4e5f1451
      Kenneth Russell authored
      These are distinct from the renderer-level workarounds.
      
      Add the first workaround, loseContextOnOutOfMemory. This is enabled
      when the application enables reset notifications via KHR_robustness,
      and is intended for more robust handling of errors in key APIs for
      Chromium's correctness (in particular, sync objects).
      
      Change Context::getResetStatus to persistently return the "lost" status
      if it was set by calling Context::markContextLost. Previously, if
      markContextLost was called but the implementation hadn't actually
      received an error like a lost device, the "lost" reset status would be
      dropped. Returning it only once to the caller is also fragile. Tested
      this by manually injecting a failure in FenceSync11::clientWait and
      ensuring that Chromium detected it as expected.
      
      BUG=chromium:650138
      
      Change-Id: Ie53069eacd1754ad5d64936e3fef315af24605fa
      Reviewed-on: https://chromium-review.googlesource.com/394233
      Commit-Queue: Kenneth Russell <kbr@chromium.org>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Reviewed-on: https://chromium-review.googlesource.com/402250Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
  2. 06 Oct, 2016 9 commits
  3. 05 Oct, 2016 5 commits
  4. 04 Oct, 2016 3 commits
    • Fix integer math overflows in the preprocessor · 7f9a55f7
      Olli Etuaho authored
      Evaluating integer expressions in the ESSL preprocessor may result in
      overflowing the signed integer range. Implement wrapping overflow for
      preprocessor expressions in a way that doesn't hit any undefined
      behavior.  In the ESSL spec, preprocessor expressions are defined to
      have mostly the same semantics as in C++. Since C++ doesn't define
      what happens on signed integer overflow, we choose to make most of the
      operators wrap on overflow for backward compatibility and consistency
      with the rest of the ESSL spec.
      
      We reuse the existing wrapping overflow helpers that are
      used for constant folding. To be able to do this, the type used in the
      preprocessor expression parser is changed from 64-bit to 32-bit.
      
      Shifting negative numbers is implemented as a logical shift. This
      cannot be disallowed since dEQP requires shaders shifting negative
      numbers to pass compilation.
      
      Undefined bitwise shifts where the offset is greater than 31 will now
      result in a compile-time error.
      
      A couple of test cases are now covered by the preprocessor tests
      rather than full compilation tests. This isolates the tests better and
      they run faster.
      
      BUG=chromium:652223
      TEST=angle_unittests
      
      Change-Id: I84be40d404c10ecd0846c5d477e626a94a2a8587
      Reviewed-on: https://chromium-review.googlesource.com/392146
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • D3D11: Fix unreferenced XFB vars getting dropped. · 4c655248
      Jamie Madill authored
      Our for-loop logic was confused so that some unreferenced
      transform feedback varyings might get dropped.
      
      BUG=chromium:651493
      
      Change-Id: Id283230da0a47fc647b2a3862da60be5538e439e
      Reviewed-on: https://chromium-review.googlesource.com/391945
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • formatutils: allow reusing rowPitch computation for depthPitch · 0e48719f
      Corentin Wallez authored
      This should fix a null D3D11 backend draw call performance regression.
      
      BUG=651101
      
      Change-Id: I2eb10cddd15f0e7b25b886c89eccd2906e988c72
      Reviewed-on: https://chromium-review.googlesource.com/392227Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Corentin Wallez <cwallez@chromium.org>
  5. 03 Oct, 2016 3 commits
  6. 01 Oct, 2016 2 commits
  7. 30 Sep, 2016 1 commit
  8. 29 Sep, 2016 6 commits
  9. 28 Sep, 2016 4 commits
  10. 27 Sep, 2016 5 commits
  11. 26 Sep, 2016 1 commit