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/gl_renderer.h" | 5 #include "cc/gl_renderer.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/debug/trace_event.h" | 11 #include "base/debug/trace_event.h" |
12 #include "base/logging.h" | 12 #include "base/logging.h" |
13 #include "base/string_split.h" | 13 #include "base/string_split.h" |
14 #include "base/string_util.h" | 14 #include "base/string_util.h" |
15 #include "build/build_config.h" | 15 #include "build/build_config.h" |
16 #include "cc/compositor_frame.h" | 16 #include "cc/compositor_frame.h" |
17 #include "cc/compositor_frame_metadata.h" | 17 #include "cc/compositor_frame_metadata.h" |
18 #include "cc/context_provider.h" | 18 #include "cc/context_provider.h" |
19 #include "cc/damage_tracker.h" | 19 #include "cc/damage_tracker.h" |
20 #include "cc/geometry_binding.h" | 20 #include "cc/geometry_binding.h" |
21 #include "cc/gl_frame_data.h" | 21 #include "cc/gl_frame_data.h" |
22 #include "cc/layer_quad.h" | 22 #include "cc/layer_quad.h" |
23 #include "cc/math_util.h" | 23 #include "cc/math_util.h" |
| 24 #include "cc/output_surface.h" |
24 #include "cc/priority_calculator.h" | 25 #include "cc/priority_calculator.h" |
25 #include "cc/proxy.h" | 26 #include "cc/proxy.h" |
26 #include "cc/render_pass.h" | 27 #include "cc/render_pass.h" |
27 #include "cc/render_surface_filters.h" | 28 #include "cc/render_surface_filters.h" |
28 #include "cc/scoped_resource.h" | 29 #include "cc/scoped_resource.h" |
29 #include "cc/single_thread_proxy.h" | 30 #include "cc/single_thread_proxy.h" |
30 #include "cc/stream_video_draw_quad.h" | 31 #include "cc/stream_video_draw_quad.h" |
31 #include "cc/texture_draw_quad.h" | 32 #include "cc/texture_draw_quad.h" |
32 #include "cc/video_layer_impl.h" | 33 #include "cc/video_layer_impl.h" |
33 #include "gpu/GLES2/gl2extchromium.h" | 34 #include "gpu/GLES2/gl2extchromium.h" |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 return true; | 74 return true; |
74 #else | 75 #else |
75 return false; | 76 return false; |
76 #endif | 77 #endif |
77 } | 78 } |
78 | 79 |
79 } // anonymous namespace | 80 } // anonymous namespace |
80 | 81 |
81 scoped_ptr<GLRenderer> GLRenderer::create(RendererClient* client, OutputSurface*
outputSurface, ResourceProvider* resourceProvider) | 82 scoped_ptr<GLRenderer> GLRenderer::create(RendererClient* client, OutputSurface*
outputSurface, ResourceProvider* resourceProvider) |
82 { | 83 { |
83 scoped_ptr<GLRenderer> renderer(make_scoped_ptr(new GLRenderer(client, outpu
tSurface, resourceProvider))); | 84 scoped_ptr<GLRenderer> renderer(new GLRenderer(client, outputSurface, resour
ceProvider)); |
84 if (!renderer->initialize()) | 85 if (!renderer->initialize()) |
85 return scoped_ptr<GLRenderer>(); | 86 return scoped_ptr<GLRenderer>(); |
86 | 87 |
87 return renderer.Pass(); | 88 return renderer.Pass(); |
88 } | 89 } |
89 | 90 |
90 GLRenderer::GLRenderer(RendererClient* client, OutputSurface* outputSurface, Res
ourceProvider* resourceProvider) | 91 GLRenderer::GLRenderer(RendererClient* client, |
| 92 OutputSurface* outputSurface, |
| 93 ResourceProvider* resourceProvider) |
91 : DirectRenderer(client, resourceProvider) | 94 : DirectRenderer(client, resourceProvider) |
92 , m_offscreenFramebufferId(0) | 95 , m_offscreenFramebufferId(0) |
93 , m_sharedGeometryQuad(gfx::RectF(-0.5f, -0.5f, 1.0f, 1.0f)) | 96 , m_sharedGeometryQuad(gfx::RectF(-0.5f, -0.5f, 1.0f, 1.0f)) |
94 , m_outputSurface(outputSurface) | 97 , m_outputSurface(outputSurface) |
95 , m_context(outputSurface->context3d()) | 98 , m_context(outputSurface->context3d()) |
96 , m_isViewportChanged(false) | 99 , m_isViewportChanged(false) |
97 , m_isBackbufferDiscarded(false) | 100 , m_isBackbufferDiscarded(false) |
98 , m_discardBackbufferWhenNotVisible(false) | 101 , m_discardBackbufferWhenNotVisible(false) |
99 , m_isUsingBindUniform(false) | 102 , m_isUsingBindUniform(false) |
100 , m_visible(true) | 103 , m_visible(true) |
(...skipping 1746 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1847 | 1850 |
1848 releaseRenderPassTextures(); | 1851 releaseRenderPassTextures(); |
1849 } | 1852 } |
1850 | 1853 |
1851 bool GLRenderer::isContextLost() | 1854 bool GLRenderer::isContextLost() |
1852 { | 1855 { |
1853 return (m_context->getGraphicsResetStatusARB() != GL_NO_ERROR); | 1856 return (m_context->getGraphicsResetStatusARB() != GL_NO_ERROR); |
1854 } | 1857 } |
1855 | 1858 |
1856 } // namespace cc | 1859 } // namespace cc |
OLD | NEW |