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 CONTENT_COMMON_GPU_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_ | 5 #ifndef CONTENT_COMMON_GPU_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_ |
6 #define CONTENT_COMMON_GPU_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_ | 6 #define CONTENT_COMMON_GPU_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <queue> | 9 #include <queue> |
10 #include <string> | 10 #include <string> |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 void RemoveDeletionObserver(DeletionObserver* observer); | 107 void RemoveDeletionObserver(DeletionObserver* observer); |
108 | 108 |
109 bool DiscardBackbuffer(); | 109 bool DiscardBackbuffer(); |
110 bool EnsureBackbuffer(); | 110 bool EnsureBackbuffer(); |
111 | 111 |
112 // Makes this command buffer invoke a task when a sync point is reached, or | 112 // Makes this command buffer invoke a task when a sync point is reached, or |
113 // the command buffer that inserted that sync point is destroyed. | 113 // the command buffer that inserted that sync point is destroyed. |
114 bool SignalSyncPoint(uint32 sync_point, | 114 bool SignalSyncPoint(uint32 sync_point, |
115 const base::Closure& callback); | 115 const base::Closure& callback); |
116 | 116 |
| 117 // Makes this command buffer invoke a task when a query is completed, or |
| 118 // the command buffer that inserted that sync point is destroyed. |
| 119 // Should be invoked between begin/end query for reliable operation. |
| 120 bool SignalQuery(unsigned query, |
| 121 const base::Closure& callback); |
| 122 |
117 // Generates n unique mailbox names that can be used with | 123 // Generates n unique mailbox names that can be used with |
118 // GL_texture_mailbox_CHROMIUM. Unlike genMailboxCHROMIUM, this IPC is | 124 // GL_texture_mailbox_CHROMIUM. Unlike genMailboxCHROMIUM, this IPC is |
119 // handled only on the GPU process' IO thread, and so is not effectively | 125 // handled only on the GPU process' IO thread, and so is not effectively |
120 // a finish. | 126 // a finish. |
121 bool GenerateMailboxNames(unsigned num, std::vector<gpu::Mailbox>* names); | 127 bool GenerateMailboxNames(unsigned num, std::vector<gpu::Mailbox>* names); |
122 | 128 |
123 // Sends an IPC message with the new state of surface visibility. | 129 // Sends an IPC message with the new state of surface visibility. |
124 bool SetSurfaceVisible(bool visible); | 130 bool SetSurfaceVisible(bool visible); |
125 | 131 |
126 void SetOnConsoleMessageCallback( | 132 void SetOnConsoleMessageCallback( |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 // Tasks to be invoked in SignalSyncPoint responses. | 203 // Tasks to be invoked in SignalSyncPoint responses. |
198 uint32 next_signal_id_; | 204 uint32 next_signal_id_; |
199 SignalTaskMap signal_tasks_; | 205 SignalTaskMap signal_tasks_; |
200 | 206 |
201 DISALLOW_COPY_AND_ASSIGN(CommandBufferProxyImpl); | 207 DISALLOW_COPY_AND_ASSIGN(CommandBufferProxyImpl); |
202 }; | 208 }; |
203 | 209 |
204 } // namespace content | 210 } // namespace content |
205 | 211 |
206 #endif // CONTENT_COMMON_GPU_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_ | 212 #endif // CONTENT_COMMON_GPU_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_ |
OLD | NEW |