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

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

Issue 1339203002: Added global order numbers to in process command buffers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added DCHECK in destructor Created 5 years, 3 months 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #ifndef GPU_COMMAND_BUFFER_SERVICE_IN_PROCESS_COMMAND_BUFFER_H_ 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_IN_PROCESS_COMMAND_BUFFER_H_
6 #define GPU_COMMAND_BUFFER_SERVICE_IN_PROCESS_COMMAND_BUFFER_H_ 6 #define GPU_COMMAND_BUFFER_SERVICE_IN_PROCESS_COMMAND_BUFFER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 29 matching lines...) Expand all
40 #if defined(OS_ANDROID) 40 #if defined(OS_ANDROID)
41 namespace gfx { 41 namespace gfx {
42 class SurfaceTexture; 42 class SurfaceTexture;
43 } 43 }
44 namespace gpu { 44 namespace gpu {
45 class StreamTextureManagerInProcess; 45 class StreamTextureManagerInProcess;
46 } 46 }
47 #endif 47 #endif
48 48
49 namespace gpu { 49 namespace gpu {
50 class SyncPointClient;
50 class SyncPointManager; 51 class SyncPointManager;
51 class ValueStateMap; 52 class ValueStateMap;
52 53
53 namespace gles2 { 54 namespace gles2 {
54 class FramebufferCompletenessCache; 55 class FramebufferCompletenessCache;
55 class GLES2Decoder; 56 class GLES2Decoder;
56 class MailboxManager; 57 class MailboxManager;
57 class ProgramCache; 58 class ProgramCache;
58 class ShaderTranslatorCache; 59 class ShaderTranslatorCache;
59 class SubscriptionRefSet; 60 class SubscriptionRefSet;
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 size(size), 193 size(size),
193 attribs(attribs), 194 attribs(attribs),
194 gpu_preference(gpu_preference), 195 gpu_preference(gpu_preference),
195 capabilities(capabilities), 196 capabilities(capabilities),
196 context_group(share_group), 197 context_group(share_group),
197 image_factory(image_factory) {} 198 image_factory(image_factory) {}
198 }; 199 };
199 200
200 bool InitializeOnGpuThread(const InitializeOnGpuThreadParams& params); 201 bool InitializeOnGpuThread(const InitializeOnGpuThreadParams& params);
201 bool DestroyOnGpuThread(); 202 bool DestroyOnGpuThread();
202 void FlushOnGpuThread(int32 put_offset); 203 void FlushOnGpuThread(int32 put_offset, uint32_t order_num);
203 void ScheduleIdleWorkOnGpuThread(); 204 void ScheduleIdleWorkOnGpuThread();
204 uint32 CreateStreamTextureOnGpuThread(uint32 client_texture_id); 205 uint32 CreateStreamTextureOnGpuThread(uint32 client_texture_id);
205 bool MakeCurrent(); 206 bool MakeCurrent();
206 base::Closure WrapCallback(const base::Closure& callback); 207 base::Closure WrapCallback(const base::Closure& callback);
207 State GetStateFast(); 208 State GetStateFast();
208 void QueueTask(const base::Closure& task) { service_->ScheduleTask(task); } 209 void QueueTask(const base::Closure& task) { service_->ScheduleTask(task); }
209 void CheckSequencedThread(); 210 void CheckSequencedThread();
210 void RetireSyncPointOnGpuThread(uint32 sync_point); 211 void RetireSyncPointOnGpuThread(uint32 sync_point);
211 void SignalSyncPointOnGpuThread(uint32 sync_point, 212 void SignalSyncPointOnGpuThread(uint32 sync_point,
212 const base::Closure& callback); 213 const base::Closure& callback);
(...skipping 16 matching lines...) Expand all
229 void PerformIdleWork(); 230 void PerformIdleWork();
230 231
231 // Members accessed on the gpu thread (possibly with the exception of 232 // Members accessed on the gpu thread (possibly with the exception of
232 // creation): 233 // creation):
233 bool context_lost_; 234 bool context_lost_;
234 scoped_refptr<TransferBufferManagerInterface> transfer_buffer_manager_; 235 scoped_refptr<TransferBufferManagerInterface> transfer_buffer_manager_;
235 scoped_ptr<GpuScheduler> gpu_scheduler_; 236 scoped_ptr<GpuScheduler> gpu_scheduler_;
236 scoped_ptr<gles2::GLES2Decoder> decoder_; 237 scoped_ptr<gles2::GLES2Decoder> decoder_;
237 scoped_refptr<gfx::GLContext> context_; 238 scoped_refptr<gfx::GLContext> context_;
238 scoped_refptr<gfx::GLSurface> surface_; 239 scoped_refptr<gfx::GLSurface> surface_;
240 scoped_refptr<SyncPointClient> sync_point_client_;
239 base::Closure context_lost_callback_; 241 base::Closure context_lost_callback_;
240 bool idle_work_pending_; // Used to throttle PerformIdleWork. 242 bool idle_work_pending_; // Used to throttle PerformIdleWork.
241 ImageFactory* image_factory_; 243 ImageFactory* image_factory_;
242 244
243 // Members accessed on the client thread: 245 // Members accessed on the client thread:
244 State last_state_; 246 State last_state_;
245 int32 last_put_offset_; 247 int32 last_put_offset_;
246 gpu::Capabilities capabilities_; 248 gpu::Capabilities capabilities_;
247 GpuMemoryBufferManager* gpu_memory_buffer_manager_; 249 GpuMemoryBufferManager* gpu_memory_buffer_manager_;
248 base::AtomicSequenceNumber next_image_id_; 250 base::AtomicSequenceNumber next_image_id_;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 SyncPointManager* sync_point_manager_; // Non-owning. 298 SyncPointManager* sync_point_manager_; // Non-owning.
297 scoped_refptr<gpu::gles2::ShaderTranslatorCache> shader_translator_cache_; 299 scoped_refptr<gpu::gles2::ShaderTranslatorCache> shader_translator_cache_;
298 scoped_refptr<gpu::gles2::FramebufferCompletenessCache> 300 scoped_refptr<gpu::gles2::FramebufferCompletenessCache>
299 framebuffer_completeness_cache_; 301 framebuffer_completeness_cache_;
300 DISALLOW_COPY_AND_ASSIGN(GpuInProcessThread); 302 DISALLOW_COPY_AND_ASSIGN(GpuInProcessThread);
301 }; 303 };
302 304
303 } // namespace gpu 305 } // namespace gpu
304 306
305 #endif // GPU_COMMAND_BUFFER_SERVICE_IN_PROCESS_COMMAND_BUFFER_H_ 307 #endif // GPU_COMMAND_BUFFER_SERVICE_IN_PROCESS_COMMAND_BUFFER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698