Chromium Code Reviews| Index: cc/output/ca_layer_overlay.h |
| diff --git a/cc/output/ca_layer_overlay.h b/cc/output/ca_layer_overlay.h |
| index e26145c93f48f514793bdc18f8d17f0a78851f80..4f1c1b1fd145c5386026011d77528835469f8051 100644 |
| --- a/cc/output/ca_layer_overlay.h |
| +++ b/cc/output/ca_layer_overlay.h |
| @@ -6,6 +6,7 @@ |
| #define CC_OUTPUT_CA_LAYER_OVERLAY_H_ |
| #include "base/memory/ref_counted.h" |
| +#include "cc/base/resource_id.h" |
| #include "cc/quads/render_pass.h" |
| #include "third_party/skia/include/core/SkColor.h" |
| #include "third_party/skia/include/core/SkMatrix44.h" |
| @@ -39,6 +40,20 @@ class CC_EXPORT CALayerOverlaySharedState |
| ~CALayerOverlaySharedState() {} |
| }; |
|
ccameron
2016/07/20 05:32:19
I'd advocate just stuffing the CopyRenderPassDrawQ
erikchen
2016/07/20 21:48:01
Done.
|
| +class RenderPassDrawQuadCopier { |
| + public: |
| + // On success, the resource will be marked as in-use and will not be reused |
| + // until the gpu process has marked the resource as no longer in use. The |
| + // caller is required to send the IOSurface to the gpu process. |
| + virtual bool CopyRenderPassDrawQuadToIOSurface(const RenderPassDrawQuad* quad, |
| + ResourceId* resource_id) = 0; |
| + // Immediately releases the IOSurface-backed resources for reuse or deletion. |
| + virtual void ReleaseIOSurfaces(const std::vector<ResourceId>& resources) = 0; |
|
ccameron
2016/07/20 05:32:19
ReleaseIOSurfaces appears only to be called from w
erikchen
2016/07/20 21:48:01
Done.
|
| + // Informs the RenderPassDrawQuadCopier of the number of copied IOSurfaces for |
| + // the current frame, which will affect the IOSurface cache size. |
| + virtual void UpdateCopyCountForFrame(size_t count) = 0; |
|
ccameron
2016/07/20 05:32:19
This appears only to be called in testing code. Ca
erikchen
2016/07/20 21:48:01
Done.
|
| +}; |
| + |
| // Holds all information necessary to construct a CALayer from a DrawQuad. |
| class CC_EXPORT CALayerOverlay { |
| public: |