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

Side by Side Diff: cc/output/gl_renderer.h

Issue 2254543003: cc: Delete the RendererClient class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@setvisible-browser
Patch Set: deleterendererclient: rebase Created 4 years, 4 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
« no previous file with comments | « cc/output/direct_renderer.cc ('k') | cc/output/gl_renderer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2010 The Chromium Authors. All rights reserved. 1 // Copyright 2010 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 CC_OUTPUT_GL_RENDERER_H_ 5 #ifndef CC_OUTPUT_GL_RENDERER_H_
6 #define CC_OUTPUT_GL_RENDERER_H_ 6 #define CC_OUTPUT_GL_RENDERER_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 class StaticGeometryBinding; 44 class StaticGeometryBinding;
45 class DynamicGeometryBinding; 45 class DynamicGeometryBinding;
46 class ScopedEnsureFramebufferAllocation; 46 class ScopedEnsureFramebufferAllocation;
47 struct DrawRenderPassDrawQuadParams; 47 struct DrawRenderPassDrawQuadParams;
48 48
49 // Class that handles drawing of composited render layers using GL. 49 // Class that handles drawing of composited render layers using GL.
50 class CC_EXPORT GLRenderer : public DirectRenderer { 50 class CC_EXPORT GLRenderer : public DirectRenderer {
51 public: 51 public:
52 class ScopedUseGrContext; 52 class ScopedUseGrContext;
53 53
54 GLRenderer(RendererClient* client, 54 GLRenderer(const RendererSettings* settings,
55 const RendererSettings* settings,
56 OutputSurface* output_surface, 55 OutputSurface* output_surface,
57 ResourceProvider* resource_provider, 56 ResourceProvider* resource_provider,
58 TextureMailboxDeleter* texture_mailbox_deleter, 57 TextureMailboxDeleter* texture_mailbox_deleter,
59 int highp_threshold_min); 58 int highp_threshold_min);
60 ~GLRenderer() override; 59 ~GLRenderer() override;
61 60
62 const RendererCapabilitiesImpl& Capabilities() const override; 61 const RendererCapabilitiesImpl& Capabilities() const override;
63 62
64 void SwapBuffers(CompositorFrameMetadata metadata) override; 63 void SwapBuffers(CompositorFrameMetadata metadata) override;
65 void SwapBuffersComplete() override; 64 void SwapBuffersComplete() override;
66 65
67 void DidReceiveTextureInUseResponses( 66 void DidReceiveTextureInUseResponses(
68 const gpu::TextureInUseResponses& responses) override; 67 const gpu::TextureInUseResponses& responses) override;
69 68
70 virtual bool IsContextLost(); 69 virtual bool IsContextLost();
71 70
72 protected: 71 protected:
73 void DidChangeVisibility() override; 72 void DidChangeVisibility() override;
74 73
75 bool IsBackbufferDiscarded() const { return is_backbuffer_discarded_; }
76
77 const gfx::QuadF& SharedGeometryQuad() const { return shared_geometry_quad_; } 74 const gfx::QuadF& SharedGeometryQuad() const { return shared_geometry_quad_; }
78 const StaticGeometryBinding* SharedGeometry() const { 75 const StaticGeometryBinding* SharedGeometry() const {
79 return shared_geometry_.get(); 76 return shared_geometry_.get();
80 } 77 }
81 78
82 void GetFramebufferPixelsAsync(const DrawingFrame* frame, 79 void GetFramebufferPixelsAsync(const DrawingFrame* frame,
83 const gfx::Rect& rect, 80 const gfx::Rect& rect,
84 std::unique_ptr<CopyOutputRequest> request); 81 std::unique_ptr<CopyOutputRequest> request);
85 void GetFramebufferTexture(unsigned texture_id, 82 void GetFramebufferTexture(unsigned texture_id,
86 const gfx::Rect& device_rect); 83 const gfx::Rect& device_rect);
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 typedef base::Callback<void(std::unique_ptr<CopyOutputRequest> copy_request, 242 typedef base::Callback<void(std::unique_ptr<CopyOutputRequest> copy_request,
246 bool success)> 243 bool success)>
247 AsyncGetFramebufferPixelsCleanupCallback; 244 AsyncGetFramebufferPixelsCleanupCallback;
248 void FinishedReadback(unsigned source_buffer, 245 void FinishedReadback(unsigned source_buffer,
249 unsigned query, 246 unsigned query,
250 const gfx::Size& size); 247 const gfx::Size& size);
251 248
252 void ReinitializeGLState(); 249 void ReinitializeGLState();
253 void RestoreGLState(); 250 void RestoreGLState();
254 251
255 void DiscardBackbuffer() override;
256 void EnsureBackbuffer() override;
257
258 void ScheduleCALayers(DrawingFrame* frame); 252 void ScheduleCALayers(DrawingFrame* frame);
259 void ScheduleOverlays(DrawingFrame* frame); 253 void ScheduleOverlays(DrawingFrame* frame);
260 254
261 // Copies the contents of the render pass draw quad, including filter effects, 255 // Copies the contents of the render pass draw quad, including filter effects,
262 // to an overlay resource, returned in |resource|. The resource is allocated 256 // to an overlay resource, returned in |resource|. The resource is allocated
263 // from |overlay_resource_pool_|. 257 // from |overlay_resource_pool_|.
264 // The resulting Resource may be larger than the original quad. The new size 258 // The resulting Resource may be larger than the original quad. The new size
265 // and position is placed in |new_bounds|. 259 // and position is placed in |new_bounds|.
266 void CopyRenderPassDrawQuadToOverlayResource( 260 void CopyRenderPassDrawQuadToOverlayResource(
267 const CALayerOverlay* ca_layer_overlay, 261 const CALayerOverlay* ca_layer_overlay,
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
498 SolidColorProgram solid_color_program_; 492 SolidColorProgram solid_color_program_;
499 SolidColorProgramAA solid_color_program_aa_; 493 SolidColorProgramAA solid_color_program_aa_;
500 494
501 gpu::gles2::GLES2Interface* gl_; 495 gpu::gles2::GLES2Interface* gl_;
502 gpu::ContextSupport* context_support_; 496 gpu::ContextSupport* context_support_;
503 497
504 TextureMailboxDeleter* texture_mailbox_deleter_; 498 TextureMailboxDeleter* texture_mailbox_deleter_;
505 499
506 gfx::Rect swap_buffer_rect_; 500 gfx::Rect swap_buffer_rect_;
507 gfx::Rect scissor_rect_; 501 gfx::Rect scissor_rect_;
508 bool is_backbuffer_discarded_;
509 bool is_using_bind_uniform_; 502 bool is_using_bind_uniform_;
510 bool is_scissor_enabled_; 503 bool is_scissor_enabled_;
511 bool scissor_rect_needs_reset_; 504 bool scissor_rect_needs_reset_;
512 bool stencil_shadow_; 505 bool stencil_shadow_;
513 bool blend_shadow_; 506 bool blend_shadow_;
514 unsigned program_shadow_; 507 unsigned program_shadow_;
515 TexturedQuadDrawCache draw_cache_; 508 TexturedQuadDrawCache draw_cache_;
516 int highp_threshold_min_; 509 int highp_threshold_min_;
517 int highp_threshold_cache_; 510 int highp_threshold_cache_;
518 511
(...skipping 29 matching lines...) Expand all
548 bool force_drawing_frame_framebuffer_unflipped_ = false; 541 bool force_drawing_frame_framebuffer_unflipped_ = false;
549 542
550 BoundGeometry bound_geometry_; 543 BoundGeometry bound_geometry_;
551 ColorLUTCache color_lut_cache_; 544 ColorLUTCache color_lut_cache_;
552 DISALLOW_COPY_AND_ASSIGN(GLRenderer); 545 DISALLOW_COPY_AND_ASSIGN(GLRenderer);
553 }; 546 };
554 547
555 } // namespace cc 548 } // namespace cc
556 549
557 #endif // CC_OUTPUT_GL_RENDERER_H_ 550 #endif // CC_OUTPUT_GL_RENDERER_H_
OLDNEW
« 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