| 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 #include "cc/output/gl_renderer.h" | 5 #include "cc/output/gl_renderer.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 #include "third_party/skia/include/core/SkColorFilter.h" | 47 #include "third_party/skia/include/core/SkColorFilter.h" |
| 48 #include "third_party/skia/include/core/SkSurface.h" | 48 #include "third_party/skia/include/core/SkSurface.h" |
| 49 #include "third_party/skia/include/gpu/GrContext.h" | 49 #include "third_party/skia/include/gpu/GrContext.h" |
| 50 #include "third_party/skia/include/gpu/GrTexture.h" | 50 #include "third_party/skia/include/gpu/GrTexture.h" |
| 51 #include "third_party/skia/include/gpu/SkGpuDevice.h" | 51 #include "third_party/skia/include/gpu/SkGpuDevice.h" |
| 52 #include "third_party/skia/include/gpu/SkGrTexturePixelRef.h" | 52 #include "third_party/skia/include/gpu/SkGrTexturePixelRef.h" |
| 53 #include "third_party/skia/include/gpu/gl/GrGLInterface.h" | 53 #include "third_party/skia/include/gpu/gl/GrGLInterface.h" |
| 54 #include "ui/gfx/quad_f.h" | 54 #include "ui/gfx/quad_f.h" |
| 55 #include "ui/gfx/rect_conversions.h" | 55 #include "ui/gfx/rect_conversions.h" |
| 56 | 56 |
| 57 using WebKit::WebGraphicsContext3D; | 57 using blink::WebGraphicsContext3D; |
| 58 | 58 |
| 59 namespace cc { | 59 namespace cc { |
| 60 | 60 |
| 61 namespace { | 61 namespace { |
| 62 | 62 |
| 63 // TODO(epenner): This should probably be moved to output surface. | 63 // TODO(epenner): This should probably be moved to output surface. |
| 64 // | 64 // |
| 65 // This implements a simple fence based on client side swaps. | 65 // This implements a simple fence based on client side swaps. |
| 66 // This is to isolate the ResourceProvider from 'frames' which | 66 // This is to isolate the ResourceProvider from 'frames' which |
| 67 // it shouldn't need to care about, while still allowing us to | 67 // it shouldn't need to care about, while still allowing us to |
| (...skipping 2206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2274 } | 2274 } |
| 2275 | 2275 |
| 2276 unsigned buffer = context_->createBuffer(); | 2276 unsigned buffer = context_->createBuffer(); |
| 2277 GLC(context_, context_->bindBuffer(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, | 2277 GLC(context_, context_->bindBuffer(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, |
| 2278 buffer)); | 2278 buffer)); |
| 2279 GLC(context_, context_->bufferData(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, | 2279 GLC(context_, context_->bufferData(GL_PIXEL_PACK_TRANSFER_BUFFER_CHROMIUM, |
| 2280 4 * window_rect.size().GetArea(), | 2280 4 * window_rect.size().GetArea(), |
| 2281 NULL, | 2281 NULL, |
| 2282 GL_STREAM_READ)); | 2282 GL_STREAM_READ)); |
| 2283 | 2283 |
| 2284 WebKit::WebGLId query = 0; | 2284 blink::WebGLId query = 0; |
| 2285 if (is_async) { | 2285 if (is_async) { |
| 2286 query = context_->createQueryEXT(); | 2286 query = context_->createQueryEXT(); |
| 2287 GLC(context_, context_->beginQueryEXT( | 2287 GLC(context_, context_->beginQueryEXT( |
| 2288 GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM, | 2288 GL_ASYNC_PIXEL_PACK_COMPLETED_CHROMIUM, |
| 2289 query)); | 2289 query)); |
| 2290 } | 2290 } |
| 2291 | 2291 |
| 2292 GLC(context_, | 2292 GLC(context_, |
| 2293 context_->readPixels(window_rect.x(), | 2293 context_->readPixels(window_rect.x(), |
| 2294 window_rect.y(), | 2294 window_rect.y(), |
| (...skipping 670 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2965 // The Skia GPU backend requires a stencil buffer. See ReinitializeGrCanvas | 2965 // The Skia GPU backend requires a stencil buffer. See ReinitializeGrCanvas |
| 2966 // implementation. | 2966 // implementation. |
| 2967 return gr_context_ && context_->getContextAttributes().stencil; | 2967 return gr_context_ && context_->getContextAttributes().stencil; |
| 2968 } | 2968 } |
| 2969 | 2969 |
| 2970 bool GLRenderer::IsContextLost() { | 2970 bool GLRenderer::IsContextLost() { |
| 2971 return output_surface_->context_provider()->IsContextLost(); | 2971 return output_surface_->context_provider()->IsContextLost(); |
| 2972 } | 2972 } |
| 2973 | 2973 |
| 2974 } // namespace cc | 2974 } // namespace cc |
| OLD | NEW |