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 #ifndef GPU_IPC_SERVICE_GPU_COMMAND_BUFFER_STUB_H_ | 5 #ifndef GPU_IPC_SERVICE_GPU_COMMAND_BUFFER_STUB_H_ |
6 #define GPU_IPC_SERVICE_GPU_COMMAND_BUFFER_STUB_H_ | 6 #define GPU_IPC_SERVICE_GPU_COMMAND_BUFFER_STUB_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 int32_t end, | 160 int32_t end, |
161 IPC::Message* reply_message); | 161 IPC::Message* reply_message); |
162 void OnAsyncFlush(int32_t put_offset, | 162 void OnAsyncFlush(int32_t put_offset, |
163 uint32_t flush_count, | 163 uint32_t flush_count, |
164 const std::vector<ui::LatencyInfo>& latency_info); | 164 const std::vector<ui::LatencyInfo>& latency_info); |
165 void OnRegisterTransferBuffer(int32_t id, | 165 void OnRegisterTransferBuffer(int32_t id, |
166 base::SharedMemoryHandle transfer_buffer, | 166 base::SharedMemoryHandle transfer_buffer, |
167 uint32_t size); | 167 uint32_t size); |
168 void OnDestroyTransferBuffer(int32_t id); | 168 void OnDestroyTransferBuffer(int32_t id); |
169 void OnGetTransferBuffer(int32_t id, IPC::Message* reply_message); | 169 void OnGetTransferBuffer(int32_t id, IPC::Message* reply_message); |
| 170 bool OnWaitSyncToken(const SyncToken& sync_token); |
170 | 171 |
171 void OnEnsureBackbuffer(); | 172 void OnEnsureBackbuffer(); |
172 | 173 |
173 void OnWaitSyncToken(const SyncToken& sync_token); | |
174 void OnSignalSyncToken(const SyncToken& sync_token, uint32_t id); | 174 void OnSignalSyncToken(const SyncToken& sync_token, uint32_t id); |
175 void OnSignalAck(uint32_t id); | 175 void OnSignalAck(uint32_t id); |
176 void OnSignalQuery(uint32_t query, uint32_t id); | 176 void OnSignalQuery(uint32_t query, uint32_t id); |
177 | 177 |
178 void OnFenceSyncRelease(uint64_t release); | 178 void OnFenceSyncRelease(uint64_t release); |
179 bool OnWaitFenceSync(CommandBufferNamespace namespace_id, | 179 void OnWaitSyncTokenCompleted(const SyncToken& sync_token); |
180 CommandBufferId command_buffer_id, | |
181 uint64_t release); | |
182 void OnWaitFenceSyncCompleted(CommandBufferNamespace namespace_id, | |
183 CommandBufferId command_buffer_id, | |
184 uint64_t release); | |
185 | 180 |
186 void OnDescheduleUntilFinished(); | 181 void OnDescheduleUntilFinished(); |
187 void OnRescheduleAfterFinished(); | 182 void OnRescheduleAfterFinished(); |
188 | 183 |
189 void OnCreateImage(const GpuCommandBufferMsg_CreateImage_Params& params); | 184 void OnCreateImage(const GpuCommandBufferMsg_CreateImage_Params& params); |
190 void OnDestroyImage(int32_t id); | 185 void OnDestroyImage(int32_t id); |
191 void OnCreateStreamTexture(uint32_t texture_id, | 186 void OnCreateStreamTexture(uint32_t texture_id, |
192 int32_t stream_id, | 187 int32_t stream_id, |
193 bool* succeeded); | 188 bool* succeeded); |
194 void OnCommandProcessed(); | 189 void OnCommandProcessed(); |
195 void OnParseError(); | 190 void OnParseError(); |
196 | 191 |
197 void ReportState(); | 192 void ReportState(); |
198 | 193 |
199 // Wrapper for CommandExecutor::PutChanged that sets the crash report URL. | 194 // Wrapper for CommandExecutor::PutChanged that sets the crash report URL. |
200 void PutChanged(); | 195 void PutChanged(); |
201 | 196 |
202 // Poll the command buffer to execute work. | 197 // Poll the command buffer to execute work. |
203 void PollWork(); | 198 void PollWork(); |
204 void PerformWork(); | 199 void PerformWork(); |
205 | 200 |
206 // Schedule processing of delayed work. This updates the time at which | 201 // Schedule processing of delayed work. This updates the time at which |
207 // delayed work should be processed. |process_delayed_work_time_| is | 202 // delayed work should be processed. |process_delayed_work_time_| is |
208 // updated to current time + delay. Call this after processing some amount | 203 // updated to current time + delay. Call this after processing some amount |
209 // of delayed work. | 204 // of delayed work. |
210 void ScheduleDelayedWork(base::TimeDelta delay); | 205 void ScheduleDelayedWork(base::TimeDelta delay); |
211 | 206 |
212 bool CheckContextLost(); | 207 bool CheckContextLost(); |
213 void CheckCompleteWaits(); | 208 void CheckCompleteWaits(); |
214 void PullTextureUpdates(CommandBufferNamespace namespace_id, | |
215 CommandBufferId command_buffer_id, | |
216 uint32_t release); | |
217 | 209 |
218 // The lifetime of objects of this class is managed by a GpuChannel. The | 210 // The lifetime of objects of this class is managed by a GpuChannel. The |
219 // GpuChannels destroy all the GpuCommandBufferStubs that they own when they | 211 // GpuChannels destroy all the GpuCommandBufferStubs that they own when they |
220 // are destroyed. So a raw pointer is safe. | 212 // are destroyed. So a raw pointer is safe. |
221 GpuChannel* const channel_; | 213 GpuChannel* const channel_; |
222 | 214 |
223 // The group of contexts that share namespaces with this context. | 215 // The group of contexts that share namespaces with this context. |
224 scoped_refptr<gles2::ContextGroup> context_group_; | 216 scoped_refptr<gles2::ContextGroup> context_group_; |
225 | 217 |
226 bool initialized_; | 218 bool initialized_; |
(...skipping 26 matching lines...) Expand all Loading... |
253 | 245 |
254 std::unique_ptr<WaitForCommandState> wait_for_token_; | 246 std::unique_ptr<WaitForCommandState> wait_for_token_; |
255 std::unique_ptr<WaitForCommandState> wait_for_get_offset_; | 247 std::unique_ptr<WaitForCommandState> wait_for_get_offset_; |
256 | 248 |
257 DISALLOW_COPY_AND_ASSIGN(GpuCommandBufferStub); | 249 DISALLOW_COPY_AND_ASSIGN(GpuCommandBufferStub); |
258 }; | 250 }; |
259 | 251 |
260 } // namespace gpu | 252 } // namespace gpu |
261 | 253 |
262 #endif // GPU_IPC_SERVICE_GPU_COMMAND_BUFFER_STUB_H_ | 254 #endif // GPU_IPC_SERVICE_GPU_COMMAND_BUFFER_STUB_H_ |
OLD | NEW |