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 <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/callback.h" | 12 #include "base/callback.h" |
13 #include "base/memory/weak_ptr.h" | 13 #include "base/memory/weak_ptr.h" |
14 #include "base/time/time.h" | 14 #include "base/time/time.h" |
15 #include "build/build_config.h" | 15 #include "build/build_config.h" |
16 #include "gpu/command_buffer/common/capabilities.h" | 16 #include "gpu/command_buffer/common/capabilities.h" |
17 #include "gpu/command_buffer/service/common_decoder.h" | 17 #include "gpu/command_buffer/service/common_decoder.h" |
18 #include "gpu/command_buffer/service/logger.h" | 18 #include "gpu/command_buffer/service/logger.h" |
19 #include "ui/gfx/size.h" | 19 #include "ui/gfx/size.h" |
| 20 #include "ui/gl/gl_bindings.h" |
20 #include "ui/gl/gl_context.h" | 21 #include "ui/gl/gl_context.h" |
21 | 22 |
22 namespace gfx { | 23 namespace gfx { |
23 class GLContext; | 24 class GLContext; |
24 class GLSurface; | 25 class GLSurface; |
25 } | 26 } |
26 | 27 |
27 namespace gpu { | 28 namespace gpu { |
28 | 29 |
29 class AsyncPixelTransferDelegate; | 30 class AsyncPixelTransferDelegate; |
(...skipping 22 matching lines...) Expand all Loading... |
52 const std::string& shader)> ShaderCacheCallback; | 53 const std::string& shader)> ShaderCacheCallback; |
53 | 54 |
54 // This class implements the AsyncAPIInterface interface, decoding GLES2 | 55 // This class implements the AsyncAPIInterface interface, decoding GLES2 |
55 // commands and calling GL. | 56 // commands and calling GL. |
56 class GPU_EXPORT GLES2Decoder : public base::SupportsWeakPtr<GLES2Decoder>, | 57 class GPU_EXPORT GLES2Decoder : public base::SupportsWeakPtr<GLES2Decoder>, |
57 public CommonDecoder { | 58 public CommonDecoder { |
58 public: | 59 public: |
59 typedef error::Error Error; | 60 typedef error::Error Error; |
60 typedef base::Callback<bool(uint32 id)> WaitSyncPointCallback; | 61 typedef base::Callback<bool(uint32 id)> WaitSyncPointCallback; |
61 | 62 |
| 63 // The default stencil mask, which has all bits set. |
| 64 static const GLuint kDefaultStencilMask; |
| 65 |
62 // Creates a decoder. | 66 // Creates a decoder. |
63 static GLES2Decoder* Create(ContextGroup* group); | 67 static GLES2Decoder* Create(ContextGroup* group); |
64 | 68 |
65 virtual ~GLES2Decoder(); | 69 virtual ~GLES2Decoder(); |
66 | 70 |
67 bool initialized() const { | 71 bool initialized() const { |
68 return initialized_; | 72 return initialized_; |
69 } | 73 } |
70 | 74 |
71 void set_initialized() { | 75 void set_initialized() { |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 bool debug_; | 247 bool debug_; |
244 bool log_commands_; | 248 bool log_commands_; |
245 | 249 |
246 DISALLOW_COPY_AND_ASSIGN(GLES2Decoder); | 250 DISALLOW_COPY_AND_ASSIGN(GLES2Decoder); |
247 }; | 251 }; |
248 | 252 |
249 } // namespace gles2 | 253 } // namespace gles2 |
250 } // namespace gpu | 254 } // namespace gpu |
251 | 255 |
252 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ | 256 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ |
OLD | NEW |