Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(604)

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder.h

Issue 782583003: List sync points to wait on in AsyncFlush message Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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>
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 52
53 typedef base::Callback<void(const std::string& key, 53 typedef base::Callback<void(const std::string& key,
54 const std::string& shader)> ShaderCacheCallback; 54 const std::string& shader)> ShaderCacheCallback;
55 55
56 // This class implements the AsyncAPIInterface interface, decoding GLES2 56 // This class implements the AsyncAPIInterface interface, decoding GLES2
57 // commands and calling GL. 57 // commands and calling GL.
58 class GPU_EXPORT GLES2Decoder : public base::SupportsWeakPtr<GLES2Decoder>, 58 class GPU_EXPORT GLES2Decoder : public base::SupportsWeakPtr<GLES2Decoder>,
59 public CommonDecoder { 59 public CommonDecoder {
60 public: 60 public:
61 typedef error::Error Error; 61 typedef error::Error Error;
62 typedef base::Callback<bool(uint32 id)> WaitSyncPointCallback;
63 62
64 // The default stencil mask, which has all bits set. This really should be a 63 // The default stencil mask, which has all bits set. This really should be a
65 // GLuint, but we can't #include gl_bindings.h in this file without causing 64 // GLuint, but we can't #include gl_bindings.h in this file without causing
66 // macro redefinitions. 65 // macro redefinitions.
67 static const unsigned int kDefaultStencilMask; 66 static const unsigned int kDefaultStencilMask;
68 67
69 // Creates a decoder. 68 // Creates a decoder.
70 static GLES2Decoder* Create(ContextGroup* group); 69 static GLES2Decoder* Create(ContextGroup* group);
71 70
72 ~GLES2Decoder() override; 71 ~GLES2Decoder() override;
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 unsigned type, 220 unsigned type,
222 int width, 221 int width,
223 int height, 222 int height,
224 bool is_texture_immutable) = 0; 223 bool is_texture_immutable) = 0;
225 224
226 virtual ErrorState* GetErrorState() = 0; 225 virtual ErrorState* GetErrorState() = 0;
227 226
228 // A callback for messages from the decoder. 227 // A callback for messages from the decoder.
229 virtual void SetShaderCacheCallback(const ShaderCacheCallback& callback) = 0; 228 virtual void SetShaderCacheCallback(const ShaderCacheCallback& callback) = 0;
230 229
231 // Sets the callback for waiting on a sync point. The callback returns the
232 // scheduling status (i.e. true if the channel is still scheduled).
233 virtual void SetWaitSyncPointCallback(
234 const WaitSyncPointCallback& callback) = 0;
235
236 virtual void WaitForReadPixels(base::Closure callback) = 0; 230 virtual void WaitForReadPixels(base::Closure callback) = 0;
237 virtual uint32 GetTextureUploadCount() = 0; 231 virtual uint32 GetTextureUploadCount() = 0;
238 virtual base::TimeDelta GetTotalTextureUploadTime() = 0; 232 virtual base::TimeDelta GetTotalTextureUploadTime() = 0;
239 virtual base::TimeDelta GetTotalProcessingCommandsTime() = 0; 233 virtual base::TimeDelta GetTotalProcessingCommandsTime() = 0;
240 virtual void AddProcessingCommandsTime(base::TimeDelta) = 0; 234 virtual void AddProcessingCommandsTime(base::TimeDelta) = 0;
241 235
242 // Returns true if the context was lost either by GL_ARB_robustness, forced 236 // Returns true if the context was lost either by GL_ARB_robustness, forced
243 // context loss or command buffer parse error. 237 // context loss or command buffer parse error.
244 virtual bool WasContextLost() = 0; 238 virtual bool WasContextLost() = 0;
245 239
(...skipping 19 matching lines...) Expand all
265 bool log_commands_; 259 bool log_commands_;
266 bool unsafe_es3_apis_enabled_; 260 bool unsafe_es3_apis_enabled_;
267 261
268 DISALLOW_COPY_AND_ASSIGN(GLES2Decoder); 262 DISALLOW_COPY_AND_ASSIGN(GLES2Decoder);
269 }; 263 };
270 264
271 } // namespace gles2 265 } // namespace gles2
272 } // namespace gpu 266 } // namespace gpu
273 267
274 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_ 268 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_H_
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/command_buffer_service_unittest.cc ('k') | gpu/command_buffer/service/gles2_cmd_decoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698