1. 03 Oct, 2017 10 commits
  2. 02 Oct, 2017 6 commits
  3. 29 Sep, 2017 3 commits
  4. 28 Sep, 2017 1 commit
  5. 27 Sep, 2017 4 commits
  6. 26 Sep, 2017 1 commit
  7. 25 Sep, 2017 2 commits
  8. 21 Sep, 2017 10 commits
  9. 20 Sep, 2017 3 commits
    • D3D11: Implement a dirty bit for Shaders. · c8bee335
      Jamie Madill authored
      This allows us to skip calling the dynamic shader generation and
      program shader application when there haven't been any state
      changes. It builds on the previous work that immediately update
      state caches in the VertexArray11 and Framebuffer11. It should
      improve performance in draw-call limited applications by a small
      margin.
      
      For reference, here are the conditions under which the shaders
      are refreshed:
      
      1. Directly changing the program executable
      2. The vertex attribute layout
      3. The fragment shader's rendertargets
      4. Enabling/disabling rasterizer discard
      5. Enabling/disabling transform feedback
      6. An internal shader was used
      7. Drawing with/without point sprites
      
      Improves the score of the draw call stress test for the D3D11
      back-end (with null driver) by about 40% on my test machine.
      
      The 9_3 back-end seems to have an issue where the getSRV call
      to a texture storage can change the "use level zero workaround"
      status of the storage, which in turn will invalidate the state.
      Since this is localized to 9_3 only, put in a hack to disable
      an assert check for now.
      
      BUG=angleproject:2151
      
      Change-Id: Idbd0a31376691b33972e735d5833a9b02a8a4aa9
      Reviewed-on: https://chromium-review.googlesource.com/666278Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarFrank Henigman <fjhenigman@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • Removed "name" and "used" from variable location. · fb997ec1
      Jamie Madill authored
      The used flag was redundant with the index (which used MAXUINT). The
      name was redundant with the stored uniform. Removing these gives a
      very minor performance speed up when iterating and retrieving
      uniform locations.
      
      BUG=angleproject:1390
      
      Change-Id: Ieeccdff7c131e1359e754e246d3648b73aad5baf
      Reviewed-on: https://chromium-review.googlesource.com/659224
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • D3D11: Fix ClearBufferiv with STENCIL. · 805d281a
      Jamie Madill authored
      For some reason we were using the second GLint value passed into the
      method, when the spec says we should have a single clear value.
      
      Noticed when adding tests for lazy robust resource init (tests will
      be added in a subsequent patch).
      
      BUG=angleproject:2107
      
      Change-Id: Iadfc5072796255072bfb71ff1918253045e29576
      Reviewed-on: https://chromium-review.googlesource.com/675049
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarFrank Henigman <fjhenigman@chromium.org>