Chromium Code Reviews| Index: content/browser/compositor/buffer_queue.h |
| diff --git a/content/browser/compositor/buffer_queue.h b/content/browser/compositor/buffer_queue.h |
| index 170b7bd3232b169f9face6176a2f05848a5369bb..078788452d57945bf13a96b75de61e1ae7350401 100644 |
| --- a/content/browser/compositor/buffer_queue.h |
| +++ b/content/browser/compositor/buffer_queue.h |
| @@ -8,6 +8,7 @@ |
| #include <queue> |
| #include <vector> |
| +#include "base/memory/linked_ptr.h" |
| #include "base/memory/ref_counted.h" |
| #include "base/memory/scoped_ptr.h" |
| #include "content/common/content_export.h" |
| @@ -18,6 +19,10 @@ namespace cc { |
| class ContextProvider; |
| } |
| +namespace gfx { |
| +class GpuMemoryBuffer; |
| +} |
| + |
| namespace content { |
| class BrowserGpuMemoryBufferManager; |
| @@ -53,11 +58,13 @@ class CONTENT_EXPORT BufferQueue { |
| friend class BufferQueueTest; |
| struct AllocatedSurface { |
| - AllocatedSurface() : texture(0), image(0) {} |
| - AllocatedSurface(unsigned int texture, |
| + AllocatedSurface(); |
| + AllocatedSurface(scoped_ptr<gfx::GpuMemoryBuffer> buffer, |
| + unsigned int texture, |
| unsigned int image, |
| - const gfx::Rect& rect) |
| - : texture(texture), image(image), damage(rect) {} |
| + const gfx::Rect& rect); |
| + ~AllocatedSurface(); |
|
ccameron
2015/10/22 22:16:49
This is the part where we keep the GMB around whil
Ken Russell (switch to Gerrit)
2015/10/23 01:13:13
I'm not qualified to review this change; suggest d
danakj
2015/10/23 19:52:08
Ya reveman or some of the ozone ppls would be good
alexst (slow to review)
2015/10/23 19:59:10
This should be fine, the reason we didn't hold ont
|
| + linked_ptr<gfx::GpuMemoryBuffer> buffer; |
|
reveman
2015/10/23 20:44:40
Can we avoid having these be reference counted?
ccameron
2015/10/26 22:28:11
Yes, but that will require making the various inst
|
| unsigned int texture; |
| unsigned int image; |
| gfx::Rect damage; // This is the damage for this frame from the previous. |