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

Side by Side Diff: content/public/browser/android/synchronous_compositor.h

Issue 2174203002: OnDrawHardware() implementation with async messages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added DemandDrawHwAsync to TestSynchronousCompositor Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_PUBLIC_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_H_ 5 #ifndef CONTENT_PUBLIC_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_H_
6 #define CONTENT_PUBLIC_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_H_ 6 #define CONTENT_PUBLIC_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <memory> 10 #include <memory>
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 61
62 // "On demand" hardware draw. Parameters are used by compositor for this draw. 62 // "On demand" hardware draw. Parameters are used by compositor for this draw.
63 // |viewport_size| is the current size to improve results during resize. 63 // |viewport_size| is the current size to improve results during resize.
64 // |viewport_rect_for_tile_priority| and |transform_for_tile_priority| are 64 // |viewport_rect_for_tile_priority| and |transform_for_tile_priority| are
65 // used to customize the tiling decisions of compositor. 65 // used to customize the tiling decisions of compositor.
66 virtual Frame DemandDrawHw( 66 virtual Frame DemandDrawHw(
67 const gfx::Size& viewport_size, 67 const gfx::Size& viewport_size,
68 const gfx::Rect& viewport_rect_for_tile_priority, 68 const gfx::Rect& viewport_rect_for_tile_priority,
69 const gfx::Transform& transform_for_tile_priority) = 0; 69 const gfx::Transform& transform_for_tile_priority) = 0;
70 70
71 // Same as DemandDrawHw, but uses asynchronous IPC messages. Calls
72 // SynchronousCompositorClient::OnDrawHardwareProcessFrame to return the
73 // frame.
74 virtual void DemandDrawHwAsync(
75 const gfx::Size& viewport_size,
76 const gfx::Rect& viewport_rect_for_tile_priority,
77 const gfx::Transform& transform_for_tile_priority) = 0;
78
71 // For delegated rendering, return resources from parent compositor to this. 79 // For delegated rendering, return resources from parent compositor to this.
72 // Note that all resources must be returned before ReleaseHwDraw. 80 // Note that all resources must be returned before ReleaseHwDraw.
73 virtual void ReturnResources(uint32_t output_surface_id, 81 virtual void ReturnResources(uint32_t output_surface_id,
74 const cc::ReturnedResourceArray& resources) = 0; 82 const cc::ReturnedResourceArray& resources) = 0;
75 83
76 // "On demand" SW draw, into the supplied canvas (observing the transform 84 // "On demand" SW draw, into the supplied canvas (observing the transform
77 // and clip set there-in). 85 // and clip set there-in).
78 virtual bool DemandDrawSw(SkCanvas* canvas) = 0; 86 virtual bool DemandDrawSw(SkCanvas* canvas) = 0;
79 87
80 // Set the memory limit policy of this compositor. 88 // Set the memory limit policy of this compositor.
(...skipping 13 matching lines...) Expand all
94 // and if any input animation is active, it should tick now. 102 // and if any input animation is active, it should tick now.
95 virtual void OnComputeScroll(base::TimeTicks animation_time) = 0; 103 virtual void OnComputeScroll(base::TimeTicks animation_time) = 0;
96 104
97 protected: 105 protected:
98 virtual ~SynchronousCompositor() {} 106 virtual ~SynchronousCompositor() {}
99 }; 107 };
100 108
101 } // namespace content 109 } // namespace content
102 110
103 #endif // CONTENT_PUBLIC_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_H_ 111 #endif // CONTENT_PUBLIC_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698