Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(459)

Unified Diff: cc/output/gl_renderer.h

Issue 2612023002: cc: Implement overdraw feedback debugging feature. (Closed)
Patch Set: make sure overdraw_feedback_ is initialized and reset properly Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/output/direct_renderer.cc ('k') | cc/output/gl_renderer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/gl_renderer.h
diff --git a/cc/output/gl_renderer.h b/cc/output/gl_renderer.h
index c701318855ad04b5ea9db941a7ea0f1d97fdcb99..3b78caf7e89934e64e377dde333d3f5bc5f8b79e 100644
--- a/cc/output/gl_renderer.h
+++ b/cc/output/gl_renderer.h
@@ -270,6 +270,17 @@ class CC_EXPORT GLRenderer : public DirectRenderer {
void ScheduleRenderPassDrawQuad(const CALayerOverlay* ca_layer_overlay,
DrawingFrame* external_frame);
+ // Setup/flush all pending overdraw feedback to framebuffer.
+ void SetupOverdrawFeedback();
+ void FlushOverdrawFeedback(const DrawingFrame* frame,
+ const gfx::Rect& output_rect);
+ // Process overdraw feedback from query.
+ using OverdrawFeedbackCallback = base::Callback<void(unsigned, int)>;
+ void ProcessOverdrawFeedback(std::vector<int>* overdraw,
+ size_t num_expected_results,
+ unsigned query,
+ int multiplier);
+
using OverlayResourceLock =
std::unique_ptr<ResourceProvider::ScopedReadLockGL>;
using OverlayResourceLockList = std::vector<OverlayResourceLock>;
@@ -353,6 +364,9 @@ class CC_EXPORT GLRenderer : public DirectRenderer {
BoundGeometry bound_geometry_;
ColorLUTCache color_lut_cache_;
+ unsigned offscreen_stencil_renderbuffer_id_ = 0;
+ gfx::Size offscreen_stencil_renderbuffer_size_;
+
base::WeakPtrFactory<GLRenderer> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(GLRenderer);
« no previous file with comments | « cc/output/direct_renderer.cc ('k') | cc/output/gl_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698