| Index: content/browser/gpu/gpu_process_host.cc
|
| diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc
|
| index 88df0ad3a144a4d06eb8f21d56c26e425853c097..ed05dcb8a350aa5720c3eb2d2aef45f4123f3fb7 100644
|
| --- a/content/browser/gpu/gpu_process_host.cc
|
| +++ b/content/browser/gpu/gpu_process_host.cc
|
| @@ -21,6 +21,7 @@
|
| #include "content/browser/gpu/compositor_util.h"
|
| #include "content/browser/gpu/gpu_data_manager_impl.h"
|
| #include "content/browser/gpu/gpu_process_host_ui_shim.h"
|
| +#include "content/browser/gpu/gpu_surface_tracker.h"
|
| #include "content/browser/gpu/shader_disk_cache.h"
|
| #include "content/browser/renderer_host/render_widget_host_impl.h"
|
| #include "content/common/child_process_host_impl.h"
|
| @@ -609,7 +610,6 @@ bool GpuProcessHost::OnMessageReceived(const IPC::Message& message) {
|
| IPC_MESSAGE_HANDLER(GpuHostMsg_Initialized, OnInitialized)
|
| IPC_MESSAGE_HANDLER(GpuHostMsg_ChannelEstablished, OnChannelEstablished)
|
| IPC_MESSAGE_HANDLER(GpuHostMsg_CommandBufferCreated, OnCommandBufferCreated)
|
| - IPC_MESSAGE_HANDLER(GpuHostMsg_DestroyCommandBuffer, OnDestroyCommandBuffer)
|
| IPC_MESSAGE_HANDLER(GpuHostMsg_GpuMemoryBufferCreated,
|
| OnGpuMemoryBufferCreated)
|
| IPC_MESSAGE_HANDLER(GpuHostMsg_DidCreateOffscreenContext,
|
| @@ -646,7 +646,8 @@ void GpuProcessHost::OnChannelConnected(int32 peer_pid) {
|
| void GpuProcessHost::EstablishGpuChannel(
|
| int client_id,
|
| uint64_t client_tracing_id,
|
| - bool share_context,
|
| + bool preempts,
|
| + bool preempted,
|
| bool allow_future_sync_points,
|
| bool allow_real_time_streams,
|
| const EstablishChannelCallback& callback) {
|
| @@ -660,9 +661,14 @@ void GpuProcessHost::EstablishGpuChannel(
|
| return;
|
| }
|
|
|
| - if (Send(new GpuMsg_EstablishChannel(client_id, client_tracing_id,
|
| - share_context, allow_future_sync_points,
|
| - allow_real_time_streams))) {
|
| + GpuMsg_EstablishChannel_Params params;
|
| + params.client_id = client_id;
|
| + params.client_tracing_id = client_tracing_id;
|
| + params.preempts = preempts;
|
| + params.preempted = preempted;
|
| + params.allow_future_sync_points = allow_future_sync_points;
|
| + params.allow_real_time_streams = allow_real_time_streams;
|
| + if (Send(new GpuMsg_EstablishChannel(params))) {
|
| channel_requests_.push(callback);
|
| } else {
|
| DVLOG(1) << "Failed to send GpuMsg_EstablishChannel.";
|
| @@ -677,7 +683,6 @@ void GpuProcessHost::EstablishGpuChannel(
|
|
|
| void GpuProcessHost::CreateViewCommandBuffer(
|
| const gfx::GLSurfaceHandle& compositing_surface,
|
| - int surface_id,
|
| int client_id,
|
| const GPUCreateCommandBufferConfig& init_params,
|
| int route_id,
|
| @@ -687,11 +692,9 @@ void GpuProcessHost::CreateViewCommandBuffer(
|
| DCHECK(CalledOnValidThread());
|
|
|
| if (!compositing_surface.is_null() &&
|
| - Send(new GpuMsg_CreateViewCommandBuffer(
|
| - compositing_surface, surface_id, client_id, init_params, route_id))) {
|
| + Send(new GpuMsg_CreateViewCommandBuffer(compositing_surface, client_id,
|
| + init_params, route_id))) {
|
| create_command_buffer_requests_.push(callback);
|
| - surface_refs_.insert(std::make_pair(surface_id,
|
| - GpuSurfaceTracker::GetInstance()->GetSurfaceRefForSurface(surface_id)));
|
| } else {
|
| // Could distinguish here between compositing_surface being NULL
|
| // and Send failing, if desired.
|
| @@ -721,12 +724,6 @@ void GpuProcessHost::CreateGpuMemoryBuffer(
|
| GpuSurfaceTracker::GetInstance()->GetSurfaceHandle(surface_id).handle;
|
| if (Send(new GpuMsg_CreateGpuMemoryBuffer(params))) {
|
| create_gpu_memory_buffer_requests_.push(callback);
|
| - create_gpu_memory_buffer_surface_refs_.push(surface_id);
|
| - if (surface_id) {
|
| - surface_refs_.insert(std::make_pair(
|
| - surface_id, GpuSurfaceTracker::GetInstance()->GetSurfaceRefForSurface(
|
| - surface_id)));
|
| - }
|
| } else {
|
| callback.Run(gfx::GpuMemoryBufferHandle());
|
| }
|
| @@ -796,14 +793,6 @@ void GpuProcessHost::OnCommandBufferCreated(CreateCommandBufferResult result) {
|
| callback.Run(result);
|
| }
|
|
|
| -void GpuProcessHost::OnDestroyCommandBuffer(int32 surface_id) {
|
| - TRACE_EVENT0("gpu", "GpuProcessHost::OnDestroyCommandBuffer");
|
| - SurfaceRefMap::iterator it = surface_refs_.find(surface_id);
|
| - if (it != surface_refs_.end()) {
|
| - surface_refs_.erase(it);
|
| - }
|
| -}
|
| -
|
| void GpuProcessHost::OnGpuMemoryBufferCreated(
|
| const gfx::GpuMemoryBufferHandle& handle) {
|
| TRACE_EVENT0("gpu", "GpuProcessHost::OnGpuMemoryBufferCreated");
|
| @@ -815,13 +804,6 @@ void GpuProcessHost::OnGpuMemoryBufferCreated(
|
| create_gpu_memory_buffer_requests_.front();
|
| create_gpu_memory_buffer_requests_.pop();
|
| callback.Run(handle);
|
| -
|
| - int32 surface_id = create_gpu_memory_buffer_surface_refs_.front();
|
| - create_gpu_memory_buffer_surface_refs_.pop();
|
| - SurfaceRefMap::iterator it = surface_refs_.find(surface_id);
|
| - if (it != surface_refs_.end()) {
|
| - surface_refs_.erase(it);
|
| - }
|
| }
|
|
|
| void GpuProcessHost::OnDidCreateOffscreenContext(const GURL& url) {
|
|
|