OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 file contains the GLES2Decoder class. | 5 // This file contains the GLES2Decoder class. |
6 | 6 |
7 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ | 7 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ |
8 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ | 8 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 | 83 |
84 virtual bool SetParent(GLES2Decoder* parent_decoder, | 84 virtual bool SetParent(GLES2Decoder* parent_decoder, |
85 uint32 parent_texture_id) = 0; | 85 uint32 parent_texture_id) = 0; |
86 | 86 |
87 // Resize an offscreen frame buffer. | 87 // Resize an offscreen frame buffer. |
88 virtual bool ResizeOffscreenFrameBuffer(const gfx::Size& size) = 0; | 88 virtual bool ResizeOffscreenFrameBuffer(const gfx::Size& size) = 0; |
89 | 89 |
90 // Make this decoder's GL context current. | 90 // Make this decoder's GL context current. |
91 virtual bool MakeCurrent() = 0; | 91 virtual bool MakeCurrent() = 0; |
92 | 92 |
| 93 // Have the decoder release the context. |
| 94 virtual void ReleaseCurrent() = 0; |
| 95 |
93 // Gets the GLES2 Util which holds info. | 96 // Gets the GLES2 Util which holds info. |
94 virtual GLES2Util* GetGLES2Util() = 0; | 97 virtual GLES2Util* GetGLES2Util() = 0; |
95 | 98 |
96 // Gets the associated GLSurface. | 99 // Gets the associated GLSurface. |
97 virtual gfx::GLSurface* GetGLSurface() = 0; | 100 virtual gfx::GLSurface* GetGLSurface() = 0; |
98 | 101 |
99 // Gets the associated GLContext. | 102 // Gets the associated GLContext. |
100 virtual gfx::GLContext* GetGLContext() = 0; | 103 virtual gfx::GLContext* GetGLContext() = 0; |
101 | 104 |
102 // Gets the associated ContextGroup | 105 // Gets the associated ContextGroup |
103 virtual ContextGroup* GetContextGroup() = 0; | 106 virtual ContextGroup* GetContextGroup() = 0; |
104 | 107 |
105 // Sets a callback which is called when a glResizeCHROMIUM command | 108 // Sets a callback which is called when a glResizeCHROMIUM command |
106 // is processed. | 109 // is processed. |
107 virtual void SetResizeCallback( | 110 virtual void SetResizeCallback( |
108 Callback1<gfx::Size>::Type* callback) = 0; | 111 Callback1<gfx::Size>::Type* callback) = 0; |
109 | 112 |
110 #if defined(OS_MACOSX) | |
111 // Sets a callback which is called when a SwapBuffers command is processed. | 113 // Sets a callback which is called when a SwapBuffers command is processed. |
112 virtual void SetSwapBuffersCallback(Callback0::Type* callback) = 0; | 114 virtual void SetSwapBuffersCallback(Callback0::Type* callback) = 0; |
113 #endif | |
114 | 115 |
115 virtual void SetStreamTextureManager(StreamTextureManager* manager) = 0; | 116 virtual void SetStreamTextureManager(StreamTextureManager* manager) = 0; |
116 | 117 |
117 // Get the service texture ID corresponding to a client texture ID. | 118 // Get the service texture ID corresponding to a client texture ID. |
118 // If no such record is found then return false. | 119 // If no such record is found then return false. |
119 virtual bool GetServiceTextureId(uint32 client_texture_id, | 120 virtual bool GetServiceTextureId(uint32 client_texture_id, |
120 uint32* service_texture_id); | 121 uint32* service_texture_id); |
121 | 122 |
122 // Provides detail about a lost context if one occurred. | 123 // Provides detail about a lost context if one occurred. |
123 virtual error::ContextLostReason GetContextLostReason() = 0; | 124 virtual error::ContextLostReason GetContextLostReason() = 0; |
124 | 125 |
125 protected: | 126 protected: |
126 GLES2Decoder(); | 127 GLES2Decoder(); |
127 | 128 |
128 private: | 129 private: |
129 bool debug_; | 130 bool debug_; |
130 | 131 |
131 DISALLOW_COPY_AND_ASSIGN(GLES2Decoder); | 132 DISALLOW_COPY_AND_ASSIGN(GLES2Decoder); |
132 }; | 133 }; |
133 | 134 |
134 } // namespace gles2 | 135 } // namespace gles2 |
135 } // namespace gpu | 136 } // namespace gpu |
136 | 137 |
137 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ | 138 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ |
OLD | NEW |