1. 31 May, 2017 1 commit
    • Initialize uninitialized globals in GLSL output · 0ffc441e
      Olli Etuaho authored
      Initializing globals is done by the DeferGlobalInitializers AST
      transformation, which makes sure that the global variable init
      proceeds in the correct order. This is important since some global
      variables may use other uninitialized globals in their initializers.
      
      The global variable init is only done in case the WebGL shader spec is
      being followed. This avoids adding global initializers twice in case
      the same shader goes through multiple translations, assuming only one
      of them is a WebGL shader translation.
      
      BUG=angleproject:1966
      TEST=angle_end2end_tests, WebGL conformance tests
      
      Change-Id: Iea701d3ae40edc906abd87303f2aa27fd23bf55a
      Reviewed-on: https://chromium-review.googlesource.com/509689
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
  2. 30 May, 2017 3 commits
  3. 29 May, 2017 9 commits
  4. 26 May, 2017 3 commits
  5. 25 May, 2017 3 commits
  6. 24 May, 2017 12 commits
  7. 23 May, 2017 1 commit
  8. 22 May, 2017 1 commit
  9. 19 May, 2017 4 commits
  10. 18 May, 2017 3 commits
    • Fix names of some crashing shader tests. · bb580b1b
      Kenneth Russell authored
      The names were wrong, so the test expectations weren't applying.
      
      BUG=722345
      
      Change-Id: Ic64abf08e512dbf3c297ee89a74b614cd4590b58
      Reviewed-on: https://chromium-review.googlesource.com/508166Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Commit-Queue: Kenneth Russell <kbr@chromium.org>
    • D3D11: Add resource manager classes. · 403c1682
      Jamie Madill authored
      The resource manager tracks the allocations and deallocations of all
      D3D11 resources that have device memory: Buffers and Textures (which
      are either 2D or 3D). It also tracks the number of active Views (DSV,
      RTV, and SRV, potentially UAV with ES 3.1).
      
      A new smart pointer type will wrap the resource deallocation so that
      the object notifies the manager when ANGLE is done with the resouce.
      This allows us to track precisely how much GPU memory we think we're
      using at any point, and will help prevent resource leaks for these
      object types. It also makes initialization and releasing much more
      trivial.
      
      The base class for a resource uses a template template parameter so
      that we can use a unique or shared pointer depending on if the object
      in question needs unique or shared ownership. For some resources
      (in our case, SRVs are shared between the TextureStorage11 and
      RenderTarget11 classes, and Textures are shared in many places) we
      need to have the ability to have shared ownership. Unique ownership is
      a little bit more efficient so supporting both can be helpful.
      
      In this patch RenderTargetView allocation is moved to use the unique
      smart pointer.
      
      BUG=angleproject:2034
      
      Change-Id: Idb1245c24cd66733b8b5ca524c727350b2d2c745
      Reviewed-on: https://chromium-review.googlesource.com/503248
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
    • Refactor checks for incomplete framebuffer attachments. · 9f10b775
      Geoff Lang authored
      BUG=722684
      
      Change-Id: I6f47d92b450a056a2344767bef28e96c4552f98e
      Reviewed-on: https://chromium-review.googlesource.com/506927Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Geoff Lang <geofflang@chromium.org>