Chromium Code Reviews| OLD | NEW |
|---|---|
| 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_deque.h" | 10 #include "cc/base/scoped_ptr_deque.h" |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 136 private: | 136 private: |
| 137 friend class GLRendererShaderPixelTest; | 137 friend class GLRendererShaderPixelTest; |
| 138 friend class GLRendererShaderTest; | 138 friend class GLRendererShaderTest; |
| 139 | 139 |
| 140 static void ToGLMatrix(float* gl_matrix, const gfx::Transform& transform); | 140 static void ToGLMatrix(float* gl_matrix, const gfx::Transform& transform); |
| 141 | 141 |
| 142 void DrawCheckerboardQuad(const DrawingFrame* frame, | 142 void DrawCheckerboardQuad(const DrawingFrame* frame, |
| 143 const CheckerboardDrawQuad* quad); | 143 const CheckerboardDrawQuad* quad); |
| 144 void DrawDebugBorderQuad(const DrawingFrame* frame, | 144 void DrawDebugBorderQuad(const DrawingFrame* frame, |
| 145 const DebugBorderDrawQuad* quad); | 145 const DebugBorderDrawQuad* quad); |
| 146 static bool ShouldApplyBlendModeUsingBlendFunc(const DrawQuad* quad); | 146 static bool IsDefaultBlendMode(SkXfermode::Mode blend_mode) { |
| 147 void ApplyBlendModeUsingBlendFunc(const DrawQuad* quad); | 147 return blend_mode == SkXfermode::kSrcOver_Mode; |
| 148 void RestoreBlendFuncToDefault(); | 148 } |
| 149 bool CanApplyBlendModeUsingBlendFunc(SkXfermode::Mode blend_mode); | |
| 150 void ApplyBlendModeUsingBlendFunc(SkXfermode::Mode blend_mode); | |
| 151 void RestoreBlendFuncToDefault(SkXfermode::Mode blend_mode); | |
| 149 | 152 |
| 150 gfx::Rect GetBackdropBoundingBoxForRenderPassQuad( | 153 gfx::Rect GetBackdropBoundingBoxForRenderPassQuad( |
| 151 DrawingFrame* frame, | 154 DrawingFrame* frame, |
| 152 const RenderPassDrawQuad* quad, | 155 const RenderPassDrawQuad* quad, |
| 153 const gfx::Transform& contents_device_transform); | 156 const gfx::Transform& contents_device_transform); |
| 154 scoped_ptr<ScopedResource> GetBackdropTexture(const gfx::Rect& bounding_rect); | 157 scoped_ptr<ScopedResource> GetBackdropTexture(const gfx::Rect& bounding_rect); |
| 155 | 158 |
| 156 static bool ShouldApplyBackgroundFilters(DrawingFrame* frame, | 159 static bool ShouldApplyBackgroundFilters(DrawingFrame* frame, |
| 157 const RenderPassDrawQuad* quad); | 160 const RenderPassDrawQuad* quad); |
| 158 skia::RefPtr<SkImage> ApplyBackgroundFilters( | 161 skia::RefPtr<SkImage> ApplyBackgroundFilters( |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 429 struct PendingAsyncReadPixels; | 432 struct PendingAsyncReadPixels; |
| 430 ScopedPtrVector<PendingAsyncReadPixels> pending_async_read_pixels_; | 433 ScopedPtrVector<PendingAsyncReadPixels> pending_async_read_pixels_; |
| 431 | 434 |
| 432 scoped_ptr<ResourceProvider::ScopedWriteLockGL> current_framebuffer_lock_; | 435 scoped_ptr<ResourceProvider::ScopedWriteLockGL> current_framebuffer_lock_; |
| 433 | 436 |
| 434 class SyncQuery; | 437 class SyncQuery; |
| 435 ScopedPtrDeque<SyncQuery> pending_sync_queries_; | 438 ScopedPtrDeque<SyncQuery> pending_sync_queries_; |
| 436 ScopedPtrDeque<SyncQuery> available_sync_queries_; | 439 ScopedPtrDeque<SyncQuery> available_sync_queries_; |
| 437 scoped_ptr<SyncQuery> current_sync_query_; | 440 scoped_ptr<SyncQuery> current_sync_query_; |
| 438 bool use_sync_query_; | 441 bool use_sync_query_; |
| 442 bool use_blend_minmax; | |
|
piman
2014/10/09 22:32:15
drive-by nit: use_blend_minmax_
| |
| 439 | 443 |
| 440 SkBitmap on_demand_tile_raster_bitmap_; | 444 SkBitmap on_demand_tile_raster_bitmap_; |
| 441 ResourceProvider::ResourceId on_demand_tile_raster_resource_id_; | 445 ResourceProvider::ResourceId on_demand_tile_raster_resource_id_; |
| 442 | 446 |
| 443 DISALLOW_COPY_AND_ASSIGN(GLRenderer); | 447 DISALLOW_COPY_AND_ASSIGN(GLRenderer); |
| 444 }; | 448 }; |
| 445 | 449 |
| 446 // Setting DEBUG_GL_CALLS to 1 will call glGetError() after almost every GL | 450 // Setting DEBUG_GL_CALLS to 1 will call glGetError() after almost every GL |
| 447 // call made by the compositor. Useful for debugging rendering issues but | 451 // call made by the compositor. Useful for debugging rendering issues but |
| 448 // will significantly degrade performance. | 452 // will significantly degrade performance. |
| 449 #define DEBUG_GL_CALLS 0 | 453 #define DEBUG_GL_CALLS 0 |
| 450 | 454 |
| 451 #if DEBUG_GL_CALLS && !defined(NDEBUG) | 455 #if DEBUG_GL_CALLS && !defined(NDEBUG) |
| 452 #define GLC(context, x) \ | 456 #define GLC(context, x) \ |
| 453 (x, GLRenderer::DebugGLCall(&* context, #x, __FILE__, __LINE__)) | 457 (x, GLRenderer::DebugGLCall(&* context, #x, __FILE__, __LINE__)) |
| 454 #else | 458 #else |
| 455 #define GLC(context, x) (x) | 459 #define GLC(context, x) (x) |
| 456 #endif | 460 #endif |
| 457 | 461 |
| 458 } // namespace cc | 462 } // namespace cc |
| 459 | 463 |
| 460 #endif // CC_OUTPUT_GL_RENDERER_H_ | 464 #endif // CC_OUTPUT_GL_RENDERER_H_ |
| OLD | NEW |