1. 21 Mar, 2017 3 commits
  2. 20 Mar, 2017 3 commits
  3. 16 Mar, 2017 2 commits
  4. 15 Mar, 2017 4 commits
  5. 14 Mar, 2017 4 commits
    • Fix build failure in UniformLinker.cpp on Linux · ddb5eb56
      Jiawei-Shao authored
      This patch adds the declaration of libANGLE/features.h in UniformLinker.cpp
      to fix the build failure on Linux when you use gn to build ANGLE alone.
      
      BUG=angleproject:1938
      
      Change-Id: I19636df8f81b307e6d2e08fdac286cfb3f705eab
      Reviewed-on: https://chromium-review.googlesource.com/454083Reviewed-by: 's avatarYunchao He <yunchao.he@intel.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • ES31: Implement DrawArraysIndirect D3D part · fbe49a8f
      Qin Jiajia authored
      There are four buffer types for vertex attribute storage in D3D11:
        DIRECT
        STATIC
        DYNAMIC
        CURRENT_VALUE
      
      When drawing, it will call applyVertexBuffer to bind the right type
      buffers in D3D11.
      
      DIRECT uses the gl buffer directly without any translation.
      
      CURRENT_VALUE uses a single value for the attribute.
      
      STATIC translates the whole vertex buffer once. So it doesn't need the
      first, count and instance informations since it always translates the
      whole buffer.
      
      DYNAMIC translates the data every frame. To improve the performance,
      in implementation, it only translates 'count' vertexes from 'first'
      location in vertex buffer with one drawing for non-instanced vertices.
      'first' and 'count' are got from draw parameter list. And for the
      translated vertex buffer, when drawing, the first vertex location is 0.
      
      From above analysis, we can see that if all attribute storages are
      non-dynamic, we can directly use the indirect buffer to draw. But for
      dynamic storages, we have to calculate the first, count, and instances
      from indirect buffer and apply them to translate the dynamic type
      buffers. Meanwhile, we have to set the first to 0 (see above
      description)when drawing.
      
      DrawArrysIndirect implementation is like below:
      1. Check whether all vertex attributes are non-dynamic
      2. If yes, applyVertexBuffer and DrawInstancedIndirect
      3. If no, 1) calculate first, count, and instances from indirect buffer.
                2) applyVertexBuffer with these parameters.
                4) Use DrawInstanced instead of DrawInstancedIndirect.
      
      BUG=angleproject:1595
      TEST=dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect*
      
      Change-Id: I36431f416443279d51de523b07ce60727914cbbf
      Reviewed-on: https://chromium-review.googlesource.com/446690
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • RenderStateCache BlendState Hash Fix · fe34780f
      Shahmeer Esmail authored
      Fix hash function for blendState cache
      
      BUG=angleproject:1937
      
      Change-Id: I0acd7dfcfb933b2b7ff0c1dc6854c7623ec57b3b
      Reviewed-on: https://chromium-review.googlesource.com/453887Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • RenderStateCache memory usage · e5cdca7e
      Shahmeer Esmail authored
      Reduce RenderStateCache cache sizes from 4k to 2k. Saves 64kb of memory.
      
      Change-Id: I9e92bbdf095f1e66cf9b84ba81899a8af59d6d86
      Reviewed-on: https://chromium-review.googlesource.com/453886Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
  6. 10 Mar, 2017 4 commits
  7. 09 Mar, 2017 6 commits
  8. 08 Mar, 2017 1 commit
    • Plumb robust resource init extensions. · e08a1d36
      Jamie Madill authored
      This also cleans up a few minor glitches in the extension texts,
      and renames the EGL extension for consistency.
      
      It incidentally fixes a bug in our EGL init where we were checking
      the wrong client versions for KHR_create_context.
      
      It also implements a new feature for tests which allow them to defer
      Context creation until the test body. This allows tests to check for
      EGL extension available before trying to create a context with certain
      extensions.
      
      BUG=angleproject:1635
      
      Change-Id: I9311991332c357e36214082b16f2a4a57bfa8865
      Reviewed-on: https://chromium-review.googlesource.com/450920
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
  9. 07 Mar, 2017 5 commits
  10. 06 Mar, 2017 3 commits
  11. 03 Mar, 2017 1 commit
  12. 02 Mar, 2017 3 commits
  13. 01 Mar, 2017 1 commit