OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 // This API is consistent with other OpenGL setup APIs like window's WGL | 5 // This API is consistent with other OpenGL setup APIs like window's WGL |
6 // and pepper's PGL. This API is used to manage OpenGL contexts in the Chrome | 6 // and pepper's PGL. This API is used to manage OpenGL contexts in the Chrome |
7 // renderer process in a way that is consistent with other platforms. It is | 7 // renderer process in a way that is consistent with other platforms. It is |
8 // a C style API to ease porting of existing OpenGL software to Chrome. | 8 // a C style API to ease porting of existing OpenGL software to Chrome. |
9 | 9 |
10 #ifndef CHROME_RENDERER_GGL_GGL_H_ | 10 #ifndef CHROME_RENDERER_GGL_GGL_H_ |
11 #define CHROME_RENDERER_GGL_GGL_H_ | 11 #define CHROME_RENDERER_GGL_GGL_H_ |
12 #pragma once | 12 #pragma once |
13 | 13 |
14 #include "base/callback.h" | 14 #include "base/callback.h" |
15 #include "gfx/native_widget_types.h" | 15 #include "gfx/native_widget_types.h" |
16 #include "gfx/size.h" | 16 #include "gfx/size.h" |
17 | 17 |
18 class GpuChannelHost; | 18 class GpuChannelHost; |
| 19 class GpuVideoDecoderHost; |
19 | 20 |
20 namespace ggl { | 21 namespace ggl { |
21 | 22 |
22 class Context; | 23 class Context; |
23 | 24 |
24 // These are the same error codes as used by EGL. | 25 // These are the same error codes as used by EGL. |
25 enum Error { | 26 enum Error { |
26 SUCCESS = 0x3000, | 27 SUCCESS = 0x3000, |
27 NOT_INITIALIZED = 0x3001, | 28 NOT_INITIALIZED = 0x3001, |
28 BAD_CONTEXT = 0x3006, | 29 BAD_CONTEXT = 0x3006, |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 | 108 |
108 // For a view context, display everything that has been rendered since the | 109 // For a view context, display everything that has been rendered since the |
109 // last call. For an offscreen context, resolve everything that has been | 110 // last call. For an offscreen context, resolve everything that has been |
110 // rendered since the last call to a copy that can be accessed by the parent | 111 // rendered since the last call to a copy that can be accessed by the parent |
111 // context. | 112 // context. |
112 bool SwapBuffers(Context* context); | 113 bool SwapBuffers(Context* context); |
113 | 114 |
114 // Destroy the given GGL context. | 115 // Destroy the given GGL context. |
115 bool DestroyContext(Context* context); | 116 bool DestroyContext(Context* context); |
116 | 117 |
| 118 // Create a hardware video decoder corresponding to the context. |
| 119 GpuVideoDecoderHost* CreateVideoDecoder(Context* context); |
| 120 |
117 // TODO(gman): Remove this | 121 // TODO(gman): Remove this |
118 void DisableShaderTranslation(Context* context); | 122 void DisableShaderTranslation(Context* context); |
119 | 123 |
120 // Return the current GGL error. | 124 // Return the current GGL error. |
121 Error GetError(); | 125 Error GetError(); |
122 | 126 |
123 } // namespace ggl | 127 } // namespace ggl |
124 | 128 |
125 #endif // CHROME_RENDERER_GGL_GGL_H_ | 129 #endif // CHROME_RENDERER_GGL_GGL_H_ |
OLD | NEW |