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

Side by Side Diff: content/common/gpu/gpu_command_buffer_stub.h

Issue 1336623004: content/gpu: Simplify gpu channel message handling. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: dcheng's final comments 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 (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 #ifndef CONTENT_COMMON_GPU_GPU_COMMAND_BUFFER_STUB_H_ 5 #ifndef CONTENT_COMMON_GPU_GPU_COMMAND_BUFFER_STUB_H_
6 #define CONTENT_COMMON_GPU_GPU_COMMAND_BUFFER_STUB_H_ 6 #define CONTENT_COMMON_GPU_GPU_COMMAND_BUFFER_STUB_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 // GpuMemoryManagerClient implementation: 97 // GpuMemoryManagerClient implementation:
98 gfx::Size GetSurfaceSize() const override; 98 gfx::Size GetSurfaceSize() const override;
99 gpu::gles2::MemoryTracker* GetMemoryTracker() const override; 99 gpu::gles2::MemoryTracker* GetMemoryTracker() const override;
100 void SetMemoryAllocation(const gpu::MemoryAllocation& allocation) override; 100 void SetMemoryAllocation(const gpu::MemoryAllocation& allocation) override;
101 void SuggestHaveFrontBuffer(bool suggest_have_frontbuffer) override; 101 void SuggestHaveFrontBuffer(bool suggest_have_frontbuffer) override;
102 bool GetTotalGpuMemory(uint64* bytes) override; 102 bool GetTotalGpuMemory(uint64* bytes) override;
103 103
104 // Whether this command buffer can currently handle IPC messages. 104 // Whether this command buffer can currently handle IPC messages.
105 bool IsScheduled(); 105 bool IsScheduled();
106 106
107 // If the command buffer is pre-empted and cannot process commands.
108 bool IsPreempted() const {
109 return scheduler_.get() && scheduler_->IsPreempted();
110 }
111
112 // Whether there are commands in the buffer that haven't been processed. 107 // Whether there are commands in the buffer that haven't been processed.
113 bool HasUnprocessedCommands(); 108 bool HasUnprocessedCommands();
114 109
115 gpu::gles2::GLES2Decoder* decoder() const { return decoder_.get(); } 110 gpu::gles2::GLES2Decoder* decoder() const { return decoder_.get(); }
116 gpu::GpuScheduler* scheduler() const { return scheduler_.get(); } 111 gpu::GpuScheduler* scheduler() const { return scheduler_.get(); }
117 GpuChannel* channel() const { return channel_; } 112 GpuChannel* channel() const { return channel_; }
118 113
119 // Identifies the target surface. 114 // Identifies the target surface.
120 int32 surface_id() const { return surface_id_; } 115 int32 surface_id() const { return surface_id_; }
121 116
(...skipping 13 matching lines...) Expand all
135 130
136 void SendCachedShader(const std::string& key, const std::string& shader); 131 void SendCachedShader(const std::string& key, const std::string& shader);
137 132
138 gfx::GLSurface* surface() const { return surface_.get(); } 133 gfx::GLSurface* surface() const { return surface_.get(); }
139 134
140 void AddDestructionObserver(DestructionObserver* observer); 135 void AddDestructionObserver(DestructionObserver* observer);
141 void RemoveDestructionObserver(DestructionObserver* observer); 136 void RemoveDestructionObserver(DestructionObserver* observer);
142 137
143 // Associates a sync point to this stub. When the stub is destroyed, it will 138 // Associates a sync point to this stub. When the stub is destroyed, it will
144 // retire all sync points that haven't been previously retired. 139 // retire all sync points that haven't been previously retired.
145 void AddSyncPoint(uint32 sync_point); 140 void AddSyncPoint(uint32 sync_point, bool retire);
146 141
147 void SetPreemptByFlag(scoped_refptr<gpu::PreemptionFlag> flag); 142 void SetPreemptByFlag(scoped_refptr<gpu::PreemptionFlag> flag);
148 143
149 void SetLatencyInfoCallback(const LatencyInfoCallback& callback); 144 void SetLatencyInfoCallback(const LatencyInfoCallback& callback);
150 145
151 void MarkContextLost(); 146 void MarkContextLost();
152 147
153 const gpu::gles2::FeatureInfo* GetFeatureInfo() const; 148 const gpu::gles2::FeatureInfo* GetFeatureInfo() const;
154 149
155 void SendSwapBuffersCompleted( 150 void SendSwapBuffersCompleted(
(...skipping 19 matching lines...) Expand all
175 void OnProduceFrontBuffer(const gpu::Mailbox& mailbox); 170 void OnProduceFrontBuffer(const gpu::Mailbox& mailbox);
176 void OnGetState(IPC::Message* reply_message); 171 void OnGetState(IPC::Message* reply_message);
177 void OnWaitForTokenInRange(int32 start, 172 void OnWaitForTokenInRange(int32 start,
178 int32 end, 173 int32 end,
179 IPC::Message* reply_message); 174 IPC::Message* reply_message);
180 void OnWaitForGetOffsetInRange(int32 start, 175 void OnWaitForGetOffsetInRange(int32 start,
181 int32 end, 176 int32 end,
182 IPC::Message* reply_message); 177 IPC::Message* reply_message);
183 void OnAsyncFlush(int32 put_offset, uint32 flush_count, 178 void OnAsyncFlush(int32 put_offset, uint32 flush_count,
184 const std::vector<ui::LatencyInfo>& latency_info); 179 const std::vector<ui::LatencyInfo>& latency_info);
185 void OnRescheduled();
186 void OnRegisterTransferBuffer(int32 id, 180 void OnRegisterTransferBuffer(int32 id,
187 base::SharedMemoryHandle transfer_buffer, 181 base::SharedMemoryHandle transfer_buffer,
188 uint32 size); 182 uint32 size);
189 void OnDestroyTransferBuffer(int32 id); 183 void OnDestroyTransferBuffer(int32 id);
190 void OnGetTransferBuffer(int32 id, IPC::Message* reply_message); 184 void OnGetTransferBuffer(int32 id, IPC::Message* reply_message);
191 185
192 void OnCreateVideoDecoder(media::VideoCodecProfile profile, 186 void OnCreateVideoDecoder(media::VideoCodecProfile profile,
193 int32 route_id, 187 int32 route_id,
194 IPC::Message* reply_message); 188 IPC::Message* reply_message);
195 void OnCreateVideoEncoder(media::VideoPixelFormat input_format, 189 void OnCreateVideoEncoder(media::VideoPixelFormat input_format,
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 size_t total_gpu_memory_; 292 size_t total_gpu_memory_;
299 scoped_ptr<WaitForCommandState> wait_for_token_; 293 scoped_ptr<WaitForCommandState> wait_for_token_;
300 scoped_ptr<WaitForCommandState> wait_for_get_offset_; 294 scoped_ptr<WaitForCommandState> wait_for_get_offset_;
301 295
302 DISALLOW_COPY_AND_ASSIGN(GpuCommandBufferStub); 296 DISALLOW_COPY_AND_ASSIGN(GpuCommandBufferStub);
303 }; 297 };
304 298
305 } // namespace content 299 } // namespace content
306 300
307 #endif // CONTENT_COMMON_GPU_GPU_COMMAND_BUFFER_STUB_H_ 301 #endif // CONTENT_COMMON_GPU_GPU_COMMAND_BUFFER_STUB_H_
OLDNEW
« no previous file with comments | « content/common/gpu/gpu_channel_manager.cc ('k') | content/common/gpu/gpu_command_buffer_stub.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698