OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <stdint.h> | 10 #include <stdint.h> |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 | 155 |
156 // Destroys the graphics context. | 156 // Destroys the graphics context. |
157 virtual void Destroy(bool have_context) = 0; | 157 virtual void Destroy(bool have_context) = 0; |
158 | 158 |
159 // Set the surface associated with the default FBO. | 159 // Set the surface associated with the default FBO. |
160 virtual void SetSurface(const scoped_refptr<gfx::GLSurface>& surface) = 0; | 160 virtual void SetSurface(const scoped_refptr<gfx::GLSurface>& surface) = 0; |
161 // Releases the surface associated with the GL context. | 161 // Releases the surface associated with the GL context. |
162 // The decoder should not be used until a new surface is set. | 162 // The decoder should not be used until a new surface is set. |
163 virtual void ReleaseSurface() = 0; | 163 virtual void ReleaseSurface() = 0; |
164 | 164 |
165 virtual void ProduceFrontBuffer(const Mailbox& mailbox) = 0; | 165 virtual void TakeFrontBuffer(const Mailbox& mailbox) = 0; |
| 166 virtual void ReturnFrontBuffer(const Mailbox& mailbox, bool is_lost) = 0; |
166 | 167 |
167 // Resize an offscreen frame buffer. | 168 // Resize an offscreen frame buffer. |
168 virtual bool ResizeOffscreenFrameBuffer(const gfx::Size& size) = 0; | 169 virtual bool ResizeOffscreenFrameBuffer(const gfx::Size& size) = 0; |
169 | 170 |
170 // Make this decoder's GL context current. | 171 // Make this decoder's GL context current. |
171 virtual bool MakeCurrent() = 0; | 172 virtual bool MakeCurrent() = 0; |
172 | 173 |
173 // Gets the GLES2 Util which holds info. | 174 // Gets the GLES2 Util which holds info. |
174 virtual GLES2Util* GetGLES2Util() = 0; | 175 virtual GLES2Util* GetGLES2Util() = 0; |
175 | 176 |
(...skipping 21 matching lines...) Expand all Loading... |
197 virtual void RestoreTextureState(unsigned service_id) const = 0; | 198 virtual void RestoreTextureState(unsigned service_id) const = 0; |
198 virtual void RestoreTextureUnitBindings(unsigned unit) const = 0; | 199 virtual void RestoreTextureUnitBindings(unsigned unit) const = 0; |
199 virtual void RestoreAllExternalTextureBindingsIfNeeded() = 0; | 200 virtual void RestoreAllExternalTextureBindingsIfNeeded() = 0; |
200 | 201 |
201 virtual void ClearAllAttributes() const = 0; | 202 virtual void ClearAllAttributes() const = 0; |
202 virtual void RestoreAllAttributes() const = 0; | 203 virtual void RestoreAllAttributes() const = 0; |
203 | 204 |
204 virtual void SetIgnoreCachedStateForTest(bool ignore) = 0; | 205 virtual void SetIgnoreCachedStateForTest(bool ignore) = 0; |
205 virtual void SetForceShaderNameHashingForTest(bool force) = 0; | 206 virtual void SetForceShaderNameHashingForTest(bool force) = 0; |
206 virtual uint32_t GetAndClearBackbufferClearBitsForTest(); | 207 virtual uint32_t GetAndClearBackbufferClearBitsForTest(); |
| 208 virtual size_t GetSavedBackTextureCountForTest() = 0; |
| 209 virtual size_t GetCreatedBackTextureCountForTest() = 0; |
207 | 210 |
208 // Gets the QueryManager for this context. | 211 // Gets the QueryManager for this context. |
209 virtual QueryManager* GetQueryManager() = 0; | 212 virtual QueryManager* GetQueryManager() = 0; |
210 | 213 |
211 // Gets the TransformFeedbackManager for this context. | 214 // Gets the TransformFeedbackManager for this context. |
212 virtual TransformFeedbackManager* GetTransformFeedbackManager() = 0; | 215 virtual TransformFeedbackManager* GetTransformFeedbackManager() = 0; |
213 | 216 |
214 // Gets the VertexArrayManager for this context. | 217 // Gets the VertexArrayManager for this context. |
215 virtual VertexArrayManager* GetVertexArrayManager() = 0; | 218 virtual VertexArrayManager* GetVertexArrayManager() = 0; |
216 | 219 |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 bool log_commands_; | 320 bool log_commands_; |
318 bool unsafe_es3_apis_enabled_; | 321 bool unsafe_es3_apis_enabled_; |
319 bool force_shader_name_hashing_for_test_; | 322 bool force_shader_name_hashing_for_test_; |
320 DISALLOW_COPY_AND_ASSIGN(GLES2Decoder); | 323 DISALLOW_COPY_AND_ASSIGN(GLES2Decoder); |
321 }; | 324 }; |
322 | 325 |
323 } // namespace gles2 | 326 } // namespace gles2 |
324 } // namespace gpu | 327 } // namespace gpu |
325 | 328 |
326 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ | 329 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ |
OLD | NEW |