src/libGLESv2/ResourceManager.h


Log

Author Commit Date CI Message
Geoff Lang 0b7eef7c 2014-06-12T14:10:47 Removed common_includes.h reordered includes. Since we are not using precompiled headers anymore, remove common_includes.h so that fewer files are included in cpp files. Reordered includes to be in the following order: 1) Local ANGLE project headers, ordered by directory in descending depth 2) GL headers 3) STL headers This helps enforce the include-what-you-use principal by reducing the number of STL headers unexpectedly shared between files. This include order conflicts with some of the Google c++ style guide which states that STL includes should be first but this helps us catch more issues. Change-Id: I8f7785f4ad574e253dd3c7b4fb1e54d3ce3b99fc Reviewed-on: https://chromium-review.googlesource.com/214850 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill f51639a4 2014-06-25T16:04:57 Use a common include for GL headers. A common place to define required GL includes gives us a nice point to centralize GL customizations. In the header currently are the basic GLES headers with extensions, and a define carried over from desktop GL. BUG=angle:466 Change-Id: I6fc61947b4514654ec21355a786904eac04656c0 Reviewed-on: https://chromium-review.googlesource.com/204936 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Jamie Madill 6c7b4ada 2014-06-16T10:33:59 Add new ref-counted Renderbuffer class. Renderbuffers are a clear object type in GL, and this patch adds a more consistent state representation for them. They're managed by the ResourceManager, and have a storage implementation similar to Textures, but much simpler. BUG=angle:660 Change-Id: Ia17199bb8cb570d48db42e1f28ccbcc12a902fcf Reviewed-on: https://chromium-review.googlesource.com/201834 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill 3c7fa226 2014-06-05T13:08:51 Rename Renderbuffer to FramebufferAttachment. Part of the refactoring effort to clean up our classes for FBO attachments and Renderbuffers. BUG=angle:660 Change-Id: Id23df904f56499568159611b66c8922b9dce6a3d Reviewed-on: https://chromium-review.googlesource.com/201832 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang d7e7d735 2014-05-27T16:10:46 Move the GL_APICALL and similar defines to the project level. BUG=angle:658 Change-Id: Ib4fa10bb89a6658efbc20d5a763d8ec9c3a5506f Reviewed-on: https://chromium-review.googlesource.com/201465 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 9b8f92ea 2013-07-30T15:23:30 Remove uses of the HASH_MAP define since unordered_map is already used in several places. TRAC #23618 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Geoff Lang
Jamie Madill cd055f81 2013-07-26T11:55:15 Add state for the new fence sync objects in ES3. TRAC #23446 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Authored-by: Jamie Madill
Jamie Madill dc35604b 2013-07-19T16:36:57 Add state for sampler objects. TRAC #23453 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Authored-by: Jamie Madill
shannon.woods%transgaming.com@gtempaccount.com f26ddae9 2013-04-13T03:29:13 Added the GLES3 headers and updated all locations where the GLES2 headers were included to also include the GLES3 headers. TRAC #22694 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2069 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ef19da5a 2012-11-28T19:35:08 Renamed EnumTypes.h to angletypes.h. TRAC #22041 Updated the include guard and documentation and updated all locations where EnumTypes.h was included. Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1417 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 370482e7 2012-11-28T19:32:13 Pass the Renderer to the ResourceManager at construction time. TRAC #22000 Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1404 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ba0570ef 2012-10-31T18:07:39 Move sampler state setting to the Renderer Trac #21727 git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1336 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com db2115d8 2012-08-27T16:25:33 Use unordered_map instead of hash_map on GCC stdext namespace is a non-standard extension. Use standard std::unordered_map on GCC. Issue=358 Signed-of-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@1260 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com d4a35179 2011-05-11T15:36:45 Apply vertex textures and sampler states to the D3D9 device. Issue=95 TRAC #16568 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@639 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0e64dd6d 2011-05-11T15:36:37 Rename SamplerType to TextureType (refactoring). Issue=95 TRAC #16568 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@638 736b8ea6-26fd-11df-bfd4-992fa37f6226
benvanik@google.com 1a23334f 2011-04-28T19:44:39 Unifying resource handle allocation code with an allocator optimized for O(1) allocs/releases. Issue=143 Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@623 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 733ba93b 2011-04-14T15:03:48 Use a hash map for faster resource lookups. TRAC #14871 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@615 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org ff8bdfb0 2010-09-15T17:27:49 Backing out r417 and r418. I will recommit these as two separate patches: one for ID invalidation and one for reference counting issue. I will not recommit the FBO changes and since the GLES2 spec will soon make it undefined whether FBOs are in a shared namespace. Review URL: http://codereview.appspot.com/2154045 git-svn-id: https://angleproject.googlecode.com/svn/trunk@422 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 5525502d 2010-09-11T02:12:47 Replaced raw pointers to RefCountObject to BindingPointer. This fixes the ANGLE crashes in Chrome when using canvas 2D. The issue was this: Renderbuffer *mColorbufferProxy = new RenderBuffer(...); // Reference count is zero. BindingPointer<RenderBuffer> tempRef; tempRef.set(mColorbufferProxy); // Reference count is one. tempRef.set(NULL); // Reference count is zero and object is destroyed, leaving mColorbufferProxy dangling. I also initially suspected the problem was that FBOs are not treated as shared and the implementation of shared FBOs is still in the patch. I believe GLES2 supports shared FBOs. My reading of the GLES2 spec is that when a shared object is deleted, it loses its id but retains its state if left bound elsewhere. I added that to RefCountObject. Review URL: http://codereview.appspot.com/2120045 git-svn-id: https://angleproject.googlecode.com/svn/trunk@417 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 0d25b005 2010-07-28T19:21:07 Create shared contexts. TRAC #12498 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@363 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com da13f3e9 2010-07-28T19:20:56 Adds resource manager class. TRAC #12493 The resource manager class is now in charge of allocation & management of objects which may be shared by multiple contexts. Signed-off-by: Andrew Lewycky Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@360 736b8ea6-26fd-11df-bfd4-992fa37f6226