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

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

Issue 9380037: Use shared memory to update the renderer's view of the command buffer state. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix hang when last_state_.error accidentally overwritten Created 8 years, 10 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 | Annotate | Revision Log
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 // Multiply-included message file, hence no include guard here, but see below 5 // Multiply-included message file, hence no include guard here, but see below
6 // for a much smaller-than-usual include guard section. 6 // for a much smaller-than-usual include guard section.
7 7
8 #include <vector> 8 #include <vector>
9 #include <string> 9 #include <string>
10 10
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 //------------------------------------------------------------------------------ 311 //------------------------------------------------------------------------------
312 // GPU Command Buffer Messages 312 // GPU Command Buffer Messages
313 // These are messages between a renderer process to the GPU process relating to 313 // These are messages between a renderer process to the GPU process relating to
314 // a single OpenGL context. 314 // a single OpenGL context.
315 // Initialize a command buffer with the given number of command entries. 315 // Initialize a command buffer with the given number of command entries.
316 // Returns the shared memory handle for the command buffer mapped to the 316 // Returns the shared memory handle for the command buffer mapped to the
317 // calling process. 317 // calling process.
318 IPC_SYNC_MESSAGE_ROUTED0_1(GpuCommandBufferMsg_Initialize, 318 IPC_SYNC_MESSAGE_ROUTED0_1(GpuCommandBufferMsg_Initialize,
319 bool /* result */) 319 bool /* result */)
320 320
321 // Sets the shared memory buffer used to hold the CommandBufferSharedState,
322 // used to transmit the current state.
323 IPC_SYNC_MESSAGE_ROUTED1_0(GpuCommandBufferMsg_SetSharedStateBuffer,
324 int32 /* shm_id */)
325
321 // Sets the shared memory buffer used for commands. 326 // Sets the shared memory buffer used for commands.
322 IPC_SYNC_MESSAGE_ROUTED1_0(GpuCommandBufferMsg_SetGetBuffer, 327 IPC_SYNC_MESSAGE_ROUTED1_0(GpuCommandBufferMsg_SetGetBuffer,
323 int32 /* shm_id */) 328 int32 /* shm_id */)
324 329
325 // Sets the parent command buffer. This allows the parent and child to share 330 // Sets the parent command buffer. This allows the parent and child to share
326 // textures. 331 // textures.
327 IPC_SYNC_MESSAGE_ROUTED2_1(GpuCommandBufferMsg_SetParent, 332 IPC_SYNC_MESSAGE_ROUTED2_1(GpuCommandBufferMsg_SetParent,
328 int32 /* parent_route_id */, 333 int32 /* parent_route_id */,
329 uint32 /* parent_texture_id */, 334 uint32 /* parent_texture_id */,
330 bool /* result */) 335 bool /* result */)
331 336
332 // Get the current state of the command buffer. 337 // Get the current state of the command buffer.
333 IPC_SYNC_MESSAGE_ROUTED0_1(GpuCommandBufferMsg_GetState, 338 IPC_SYNC_MESSAGE_ROUTED0_1(GpuCommandBufferMsg_GetState,
334 gpu::CommandBuffer::State /* state */) 339 gpu::CommandBuffer::State /* state */)
335 340
336 // Get the current state of the command buffer, as fast as possible. 341 // Get the current state of the command buffer, as fast as possible.
337 IPC_SYNC_MESSAGE_ROUTED0_1(GpuCommandBufferMsg_GetStateFast, 342 IPC_SYNC_MESSAGE_ROUTED0_1(GpuCommandBufferMsg_GetStateFast,
338 gpu::CommandBuffer::State /* state */) 343 gpu::CommandBuffer::State /* state */)
339 344
340 // Asynchronously synchronize the put and get offsets of both processes. 345 // Asynchronously synchronize the put and get offsets of both processes.
341 // Caller passes its current put offset. Current state (including get offset) 346 // Caller passes its current put offset. Current state (including get offset)
342 // is returned via an UpdateState message. 347 // is returned in shared memory.
343 IPC_MESSAGE_ROUTED2(GpuCommandBufferMsg_AsyncFlush, 348 IPC_MESSAGE_ROUTED2(GpuCommandBufferMsg_AsyncFlush,
344 int32 /* put_offset */, 349 int32 /* put_offset */,
345 uint32 /* flush_count */) 350 uint32 /* flush_count */)
346 351
347 // Asynchronously process any commands known to the GPU process. This is only 352 // Asynchronously process any commands known to the GPU process. This is only
348 // used in the event that a channel is unscheduled and needs to be flushed 353 // used in the event that a channel is unscheduled and needs to be flushed
349 // again to process any commands issued subsequent to unscheduling. The GPU 354 // again to process any commands issued subsequent to unscheduling. The GPU
350 // process actually sends it (deferred) to itself. 355 // process actually sends it (deferred) to itself.
351 IPC_MESSAGE_ROUTED0(GpuCommandBufferMsg_Rescheduled) 356 IPC_MESSAGE_ROUTED0(GpuCommandBufferMsg_Rescheduled)
352 357
353 // Return the current state of the command buffer following a request via
354 // an AsyncGetState or AsyncFlush message. (This message is sent from the
355 // GPU process to the renderer process.)
356 IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_UpdateState,
357 gpu::CommandBuffer::State /* state */)
358
359 // Sent by the GPU process to display messages in the console. 358 // Sent by the GPU process to display messages in the console.
360 IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_ConsoleMsg, 359 IPC_MESSAGE_ROUTED1(GpuCommandBufferMsg_ConsoleMsg,
361 GPUCommandBufferConsoleMessage /* msg */) 360 GPUCommandBufferConsoleMessage /* msg */)
362 361
363 // Create a shared memory transfer buffer. Returns an id that can be used to 362 // Create a shared memory transfer buffer. Returns an id that can be used to
364 // identify the transfer buffer from a comment. 363 // identify the transfer buffer from a comment.
365 IPC_SYNC_MESSAGE_ROUTED2_1(GpuCommandBufferMsg_CreateTransferBuffer, 364 IPC_SYNC_MESSAGE_ROUTED2_1(GpuCommandBufferMsg_CreateTransferBuffer,
366 int32 /* size */, 365 int32 /* size */,
367 int32 /* id_request (-1 means any) */, 366 int32 /* id_request (-1 means any) */,
368 int32 /* id */) 367 int32 /* id */)
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 480
482 // Confirm decoder has been flushed. 481 // Confirm decoder has been flushed.
483 IPC_MESSAGE_ROUTED0(AcceleratedVideoDecoderHostMsg_FlushDone) 482 IPC_MESSAGE_ROUTED0(AcceleratedVideoDecoderHostMsg_FlushDone)
484 483
485 // Confirm decoder has been reset. 484 // Confirm decoder has been reset.
486 IPC_MESSAGE_ROUTED0(AcceleratedVideoDecoderHostMsg_ResetDone) 485 IPC_MESSAGE_ROUTED0(AcceleratedVideoDecoderHostMsg_ResetDone)
487 486
488 // Video decoder has encountered an error. 487 // Video decoder has encountered an error.
489 IPC_MESSAGE_ROUTED1(AcceleratedVideoDecoderHostMsg_ErrorNotification, 488 IPC_MESSAGE_ROUTED1(AcceleratedVideoDecoderHostMsg_ErrorNotification,
490 uint32) /* Error ID */ 489 uint32) /* Error ID */
OLDNEW
« no previous file with comments | « content/common/gpu/gpu_command_buffer_stub.cc ('k') | gpu/command_buffer/common/command_buffer_shared.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698