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_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_ | 5 #ifndef GPU_IPC_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_ |
6 #define GPU_IPC_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_ | 6 #define GPU_IPC_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 gpu::Capabilities GetCapabilities() override; | 114 gpu::Capabilities GetCapabilities() override; |
115 int32_t CreateImage(ClientBuffer buffer, | 115 int32_t CreateImage(ClientBuffer buffer, |
116 size_t width, | 116 size_t width, |
117 size_t height, | 117 size_t height, |
118 unsigned internal_format) override; | 118 unsigned internal_format) override; |
119 void DestroyImage(int32_t id) override; | 119 void DestroyImage(int32_t id) override; |
120 int32_t CreateGpuMemoryBufferImage(size_t width, | 120 int32_t CreateGpuMemoryBufferImage(size_t width, |
121 size_t height, | 121 size_t height, |
122 unsigned internal_format, | 122 unsigned internal_format, |
123 unsigned usage) override; | 123 unsigned usage) override; |
124 int32_t GetImageGpuMemoryBufferId(unsigned image_id) override; | |
125 void SignalQuery(uint32_t query, const base::Closure& callback) override; | 124 void SignalQuery(uint32_t query, const base::Closure& callback) override; |
126 void SetLock(base::Lock* lock) override; | 125 void SetLock(base::Lock* lock) override; |
127 void EnsureWorkVisible() override; | 126 void EnsureWorkVisible() override; |
128 gpu::CommandBufferNamespace GetNamespaceID() const override; | 127 gpu::CommandBufferNamespace GetNamespaceID() const override; |
129 gpu::CommandBufferId GetCommandBufferID() const override; | 128 gpu::CommandBufferId GetCommandBufferID() const override; |
130 int32_t GetExtraCommandBufferData() const override; | 129 int32_t GetExtraCommandBufferData() const override; |
131 uint64_t GenerateFenceSyncRelease() override; | 130 uint64_t GenerateFenceSyncRelease() override; |
132 bool IsFenceSyncRelease(uint64_t release) override; | 131 bool IsFenceSyncRelease(uint64_t release) override; |
133 bool IsFenceSyncFlushed(uint64_t release) override; | 132 bool IsFenceSyncFlushed(uint64_t release) override; |
134 bool IsFenceSyncFlushReceived(uint64_t release) override; | 133 bool IsFenceSyncFlushReceived(uint64_t release) override; |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
287 uint32_t next_signal_id_; | 286 uint32_t next_signal_id_; |
288 SignalTaskMap signal_tasks_; | 287 SignalTaskMap signal_tasks_; |
289 | 288 |
290 gpu::Capabilities capabilities_; | 289 gpu::Capabilities capabilities_; |
291 | 290 |
292 std::vector<ui::LatencyInfo> latency_info_; | 291 std::vector<ui::LatencyInfo> latency_info_; |
293 | 292 |
294 SwapBuffersCompletionCallback swap_buffers_completion_callback_; | 293 SwapBuffersCompletionCallback swap_buffers_completion_callback_; |
295 UpdateVSyncParametersCallback update_vsync_parameters_completion_callback_; | 294 UpdateVSyncParametersCallback update_vsync_parameters_completion_callback_; |
296 | 295 |
297 // |gpu_memory_buffer_id| will always contain a valid (not -1) id. | |
298 // If the GpuMemoryBuffer was created through this class, then | |
299 // |owned_gpu_memory_buffer| will also be not null. | |
300 struct ImageInfo { | |
301 ImageInfo(); | |
302 ~ImageInfo(); | |
303 ImageInfo(ImageInfo&& other); | |
304 ImageInfo& operator=(ImageInfo&& other); | |
305 int32_t gpu_memory_buffer_id = -1; | |
306 std::unique_ptr<gfx::GpuMemoryBuffer> owned_gpu_memory_buffer; | |
307 }; | |
308 // A map from image id to ImageInfo. | |
309 std::map<int32_t, ImageInfo> image_gmb_map_; | |
310 | |
311 base::WeakPtr<CommandBufferProxyImpl> weak_this_; | 296 base::WeakPtr<CommandBufferProxyImpl> weak_this_; |
312 scoped_refptr<base::SequencedTaskRunner> callback_thread_; | 297 scoped_refptr<base::SequencedTaskRunner> callback_thread_; |
313 | 298 |
314 DISALLOW_COPY_AND_ASSIGN(CommandBufferProxyImpl); | 299 DISALLOW_COPY_AND_ASSIGN(CommandBufferProxyImpl); |
315 }; | 300 }; |
316 | 301 |
317 } // namespace gpu | 302 } // namespace gpu |
318 | 303 |
319 #endif // GPU_IPC_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_ | 304 #endif // GPU_IPC_CLIENT_COMMAND_BUFFER_PROXY_IMPL_H_ |
OLD | NEW |