1. 19 Sep, 2018 7 commits
    • Re-land "Add FastVector for simple dynamic vector cases." · bf7cfbea
      Jamie Madill authored
      Re-land fixes memory leak and adds inline to a few more methods.
      
      This optimized vector keeps an initial fixed size storage but has
      unbounded growth like a normal std::vector. It operates like a
      FixedVector initially but then switches the storage to an allocated
      pool when the element count exceeds the array limit.
      
      This gives fast performance in the small case since no dynamic
      allocation is needed. It also handles the "slow" big case.
      
      Bug: angleproject:2763
      Change-Id: Ib3cc7b652a14ed346528bf15820023ab0b5317ce
      Reviewed-on: https://chromium-review.googlesource.com/1233453
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
    • Remove writeResource down readPixels path · 2ec817bb
      Tobin Ehlis authored
      This is not needed and results in creating an empty command buffer.
      
      Bug: angleproject:2818
      Change-Id: I06e5542cb3cd819c18758c909b8fcb624b074874
      Reviewed-on: https://chromium-review.googlesource.com/1232981Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Tobin Ehlis <tobine@google.com>
    • Add ANGLE_multiview_multisample · 2c8f0845
      Olli Etuaho authored
      We add a novel multiview multisampling extension that includes the
      requirement to explicitly resolve the multisampled framebuffer. The
      explicit resolve is much more straightforward to implement on top of
      OpenGL and D3D11 than implicit resolve found in the native extension
      OVR_multiview_multisampled_render_to_texture. It also has predictable
      performance characteristics.
      
      The extension allows multiview drawing to 2D multisample texture
      arrays and is now enabled on both the GL backend and the D3D11
      backend. The implementation is fairly simple, as it involves just
      small changes in validation to allow multisampled framebuffer
      attachments. The multiview rendering logic is exactly the same
      regardless of whether multisampling is enabled.
      
      For the most part the same tests are used to test both multisampled
      and non-multisampled rendering. The tests will use a different
      framebuffer setup depending on the test param. They resolve the
      multisampled framebuffer to a non-multisampled framebuffer prior to
      any readbacks from the framebuffer.
      
      Some of the tests are adjusted so that they have the correct sub-pixel
      positioning of multisampled quads, so there won't be any pixels that
      would be just partially covered.
      
      The tests don't have any tolerance for partially covered pixels - if
      we find any platforms where the tests run into a sub-pixel positioning
      corner case, tolerance may need to be added later.
      
      BUG=angleproject:2775
      TEST=angle_end2end_tests
      
      Change-Id: I590d7f300a92ea5439f2720d9db14a7976db2e1d
      Reviewed-on: https://chromium-review.googlesource.com/1221214
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Remove unused include global_state.h from validationEGL.cpp. · 5c72f28d
      Jeff Gilbert authored
      Bug: angleproject:2825
      Change-Id: I34a7c520d31cf0a9321d5599046159ef9bf58be5
      Reviewed-on: https://chromium-review.googlesource.com/1232973
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Revert "Add FastVector for simple dynamic vector cases." · dc8fb937
      Yuly Novikov authored
      This reverts commit 4d45e7dc.
      
      Reason for revert: Memory leak detected during roll in https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_asan_rel_ng/101750
      
      Original change's description:
      > Add FastVector for simple dynamic vector cases.
      > 
      > This optimized vector keeps an initial fixed size storage but has
      > unbounded growth like a normal std::vector. It operates like a
      > FixedVector initially but then switches the storage to an allocated
      > pool when the element count exceeds the array limit.
      > 
      > This gives fast performance in the small case since no dynamic
      > allocation is needed. It also handles the "slow" big case.
      > 
      > Bug: angleproject:2763
      > Change-Id: I9c002b205bd4ac9fc171d1fdc42bc8ea5fe8dabe
      > Reviewed-on: https://chromium-review.googlesource.com/1227794
      > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
      > Commit-Queue: Jamie Madill <jmadill@chromium.org>
      
      TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
      
      Change-Id: Iaec76244cc736a8469b80bfc8534fb0fd6c49e11
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: angleproject:2763
      Reviewed-on: https://chromium-review.googlesource.com/1232978Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    • Improve dirtybits for compute · 99118c1c
      jchen10 authored
      For D3D11 backend, dirtybits are used to sync and update state
      for compute.
      For GL backend, mProgramUniformBuffersDirty,
      mProgramAtomicCounterBuffersDirty, mProgramImagesDirty are newly
      applied.
      
      Bug: angleproject:2814
      
      Change-Id: Ia459ca26705b7c685179d64e0c934535bf16741f
      Reviewed-on: https://chromium-review.googlesource.com/1215245Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    • ParallelCompile: Parallelize shader translation · a155bacf
      jchen10 authored
      This changes to construct a new ShHandle of compiler for each Shader,
      and use it to translate the shader source in a background thread.
      
      Bug: chromium:849576
      
      Change-Id: Ib49952c7292321ee6aa1c5996f8f7927f40d8f04
      Reviewed-on: https://chromium-review.googlesource.com/1177195
      Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
  2. 18 Sep, 2018 5 commits
  3. 17 Sep, 2018 6 commits
  4. 14 Sep, 2018 3 commits
  5. 13 Sep, 2018 11 commits
  6. 12 Sep, 2018 4 commits
  7. 11 Sep, 2018 4 commits