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

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

Issue 23455060: mix-blend-mode implementation for accelerated layers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressing comments #40 Created 7 years, 1 month 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 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 "base/cancelable_callback.h" 8 #include "base/cancelable_callback.h"
9 #include "cc/base/cc_export.h" 9 #include "cc/base/cc_export.h"
10 #include "cc/base/scoped_ptr_vector.h" 10 #include "cc/base/scoped_ptr_vector.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 94
95 const gfx::QuadF& SharedGeometryQuad() const { return shared_geometry_quad_; } 95 const gfx::QuadF& SharedGeometryQuad() const { return shared_geometry_quad_; }
96 const GeometryBinding* SharedGeometry() const { 96 const GeometryBinding* SharedGeometry() const {
97 return shared_geometry_.get(); 97 return shared_geometry_.get();
98 } 98 }
99 99
100 void GetFramebufferPixelsAsync(gfx::Rect rect, 100 void GetFramebufferPixelsAsync(gfx::Rect rect,
101 scoped_ptr<CopyOutputRequest> request); 101 scoped_ptr<CopyOutputRequest> request);
102 void GetFramebufferTexture(unsigned texture_id, 102 void GetFramebufferTexture(unsigned texture_id,
103 ResourceFormat texture_format, 103 ResourceFormat texture_format,
104 gfx::Rect device_rect); 104 gfx::Rect device_rect,
105 bool is_texture_storage);
105 void ReleaseRenderPassTextures(); 106 void ReleaseRenderPassTextures();
106 107
107 void SetStencilEnabled(bool enabled); 108 void SetStencilEnabled(bool enabled);
108 bool stencil_enabled() const { return stencil_shadow_; } 109 bool stencil_enabled() const { return stencil_shadow_; }
109 void SetBlendEnabled(bool enabled); 110 void SetBlendEnabled(bool enabled);
110 bool blend_enabled() const { return blend_shadow_; } 111 bool blend_enabled() const { return blend_shadow_; }
111 112
112 virtual void BindFramebufferToOutputSurface(DrawingFrame* frame) OVERRIDE; 113 virtual void BindFramebufferToOutputSurface(DrawingFrame* frame) OVERRIDE;
113 virtual bool BindFramebufferToTexture(DrawingFrame* frame, 114 virtual bool BindFramebufferToTexture(DrawingFrame* frame,
114 const ScopedResource* resource, 115 const ScopedResource* resource,
(...skipping 29 matching lines...) Expand all
144 private: 145 private:
145 friend class GLRendererShaderPixelTest; 146 friend class GLRendererShaderPixelTest;
146 friend class GLRendererShaderTest; 147 friend class GLRendererShaderTest;
147 148
148 static void ToGLMatrix(float* gl_matrix, const gfx::Transform& transform); 149 static void ToGLMatrix(float* gl_matrix, const gfx::Transform& transform);
149 150
150 void DrawCheckerboardQuad(const DrawingFrame* frame, 151 void DrawCheckerboardQuad(const DrawingFrame* frame,
151 const CheckerboardDrawQuad* quad); 152 const CheckerboardDrawQuad* quad);
152 void DrawDebugBorderQuad(const DrawingFrame* frame, 153 void DrawDebugBorderQuad(const DrawingFrame* frame,
153 const DebugBorderDrawQuad* quad); 154 const DebugBorderDrawQuad* quad);
154 scoped_ptr<ScopedResource> DrawBackgroundFilters( 155 scoped_ptr<ScopedResource> GetBackgroundWithFilters(
155 DrawingFrame* frame, 156 DrawingFrame* frame,
156 const RenderPassDrawQuad* quad, 157 const RenderPassDrawQuad* quad,
157 const gfx::Transform& contents_device_transform, 158 const gfx::Transform& contents_device_transform,
158 const gfx::Transform& contents_device_transformInverse); 159 const gfx::Transform& contents_device_transformInverse,
160 bool* background_changed);
159 void DrawRenderPassQuad(DrawingFrame* frame, const RenderPassDrawQuad* quad); 161 void DrawRenderPassQuad(DrawingFrame* frame, const RenderPassDrawQuad* quad);
160 void DrawSolidColorQuad(const DrawingFrame* frame, 162 void DrawSolidColorQuad(const DrawingFrame* frame,
161 const SolidColorDrawQuad* quad); 163 const SolidColorDrawQuad* quad);
162 void DrawStreamVideoQuad(const DrawingFrame* frame, 164 void DrawStreamVideoQuad(const DrawingFrame* frame,
163 const StreamVideoDrawQuad* quad); 165 const StreamVideoDrawQuad* quad);
164 void EnqueueTextureQuad(const DrawingFrame* frame, 166 void EnqueueTextureQuad(const DrawingFrame* frame,
165 const TextureDrawQuad* quad); 167 const TextureDrawQuad* quad);
166 void FlushTextureQuadCache(); 168 void FlushTextureQuadCache();
167 void DrawIOSurfaceQuad(const DrawingFrame* frame, 169 void DrawIOSurfaceQuad(const DrawingFrame* frame,
168 const IOSurfaceDrawQuad* quad); 170 const IOSurfaceDrawQuad* quad);
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 skia::RefPtr<GrContext> gr_context_; 432 skia::RefPtr<GrContext> gr_context_;
431 skia::RefPtr<SkCanvas> sk_canvas_; 433 skia::RefPtr<SkCanvas> sk_canvas_;
432 434
433 TextureMailboxDeleter* texture_mailbox_deleter_; 435 TextureMailboxDeleter* texture_mailbox_deleter_;
434 436
435 gfx::Rect swap_buffer_rect_; 437 gfx::Rect swap_buffer_rect_;
436 gfx::Rect scissor_rect_; 438 gfx::Rect scissor_rect_;
437 gfx::Rect viewport_; 439 gfx::Rect viewport_;
438 bool is_backbuffer_discarded_; 440 bool is_backbuffer_discarded_;
439 bool is_using_bind_uniform_; 441 bool is_using_bind_uniform_;
442 bool is_using_texture_storage_;
440 bool visible_; 443 bool visible_;
441 bool is_scissor_enabled_; 444 bool is_scissor_enabled_;
442 bool stencil_shadow_; 445 bool stencil_shadow_;
443 bool blend_shadow_; 446 bool blend_shadow_;
444 unsigned program_shadow_; 447 unsigned program_shadow_;
445 TexturedQuadDrawCache draw_cache_; 448 TexturedQuadDrawCache draw_cache_;
446 int highp_threshold_min_; 449 int highp_threshold_min_;
447 int highp_threshold_cache_; 450 int highp_threshold_cache_;
448 451
449 struct PendingAsyncReadPixels; 452 struct PendingAsyncReadPixels;
(...skipping 17 matching lines...) Expand all
467 #if DEBUG_GL_CALLS && !defined(NDEBUG) 470 #if DEBUG_GL_CALLS && !defined(NDEBUG)
468 #define GLC(context, x) \ 471 #define GLC(context, x) \
469 (x, GLRenderer::DebugGLCall(&* context, #x, __FILE__, __LINE__)) 472 (x, GLRenderer::DebugGLCall(&* context, #x, __FILE__, __LINE__))
470 #else 473 #else
471 #define GLC(context, x) (x) 474 #define GLC(context, x) (x)
472 #endif 475 #endif
473 476
474 } // namespace cc 477 } // namespace cc
475 478
476 #endif // CC_OUTPUT_GL_RENDERER_H_ 479 #endif // CC_OUTPUT_GL_RENDERER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698