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 #include "content/browser/gpu/gpu_process_host.h" | 5 #include "content/browser/gpu/gpu_process_host.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
702 | 702 |
703 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( | 703 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( |
704 switches::kDisableGpuShaderDiskCache)) { | 704 switches::kDisableGpuShaderDiskCache)) { |
705 CreateChannelCache(client_id); | 705 CreateChannelCache(client_id); |
706 } | 706 } |
707 } | 707 } |
708 | 708 |
709 void GpuProcessHost::CreateViewCommandBuffer( | 709 void GpuProcessHost::CreateViewCommandBuffer( |
710 const gfx::GLSurfaceHandle& compositing_surface, | 710 const gfx::GLSurfaceHandle& compositing_surface, |
711 int client_id, | 711 int client_id, |
712 const GPUCreateCommandBufferConfig& init_params, | 712 const GpuCreateCommandBufferConfig& init_params, |
713 int route_id, | 713 int route_id, |
714 const CreateCommandBufferCallback& callback) { | 714 const CreateCommandBufferCallback& callback) { |
715 TRACE_EVENT0("gpu", "GpuProcessHost::CreateViewCommandBuffer"); | 715 TRACE_EVENT0("gpu", "GpuProcessHost::CreateViewCommandBuffer"); |
716 | 716 |
717 DCHECK(CalledOnValidThread()); | 717 DCHECK(CalledOnValidThread()); |
718 | 718 |
719 if (!compositing_surface.is_null() && | 719 if (!compositing_surface.is_null() && |
720 Send(new GpuMsg_CreateViewCommandBuffer(compositing_surface, client_id, | 720 Send(new GpuMsg_CreateViewCommandBuffer(compositing_surface, client_id, |
721 init_params, route_id))) { | 721 init_params, route_id))) { |
722 create_command_buffer_requests_.push(callback); | 722 create_command_buffer_requests_.push(callback); |
723 } else { | 723 } else { |
724 // Could distinguish here between compositing_surface being NULL | 724 // Could distinguish here between compositing_surface being NULL |
725 // and Send failing, if desired. | 725 // and Send failing, if desired. |
726 callback.Run(CREATE_COMMAND_BUFFER_FAILED_AND_CHANNEL_LOST); | 726 callback.Run(CREATE_COMMAND_BUFFER_FAILED_AND_CHANNEL_LOST); |
727 } | 727 } |
728 } | 728 } |
729 | 729 |
730 void GpuProcessHost::CreateGpuMemoryBuffer( | 730 void GpuProcessHost::CreateGpuMemoryBuffer( |
731 gfx::GpuMemoryBufferId id, | 731 gfx::GpuMemoryBufferId id, |
732 const gfx::Size& size, | 732 const gfx::Size& size, |
733 gfx::BufferFormat format, | 733 gfx::BufferFormat format, |
734 gfx::BufferUsage usage, | 734 gfx::BufferUsage usage, |
735 int client_id, | 735 int client_id, |
736 int32_t surface_id, | 736 int32_t surface_id, |
737 const CreateGpuMemoryBufferCallback& callback) { | 737 const CreateGpuMemoryBufferCallback& callback) { |
738 TRACE_EVENT0("gpu", "GpuProcessHost::CreateGpuMemoryBuffer"); | 738 TRACE_EVENT0("gpu", "GpuProcessHost::CreateGpuMemoryBuffer"); |
739 | 739 |
740 DCHECK(CalledOnValidThread()); | 740 DCHECK(CalledOnValidThread()); |
741 | 741 |
742 GpuMsg_CreateGpuMemoryBuffer_Params params; | 742 CreateGpuMemoryBufferParams params; |
743 params.id = id; | 743 params.id = id; |
744 params.size = size; | 744 params.size = size; |
745 params.format = format; | 745 params.format = format; |
746 params.usage = usage; | 746 params.usage = usage; |
747 params.client_id = client_id; | 747 params.client_id = client_id; |
748 params.surface_handle = | 748 params.surface_handle = |
749 GpuSurfaceTracker::GetInstance()->GetSurfaceHandle(surface_id).handle; | 749 GpuSurfaceTracker::GetInstance()->GetSurfaceHandle(surface_id).handle; |
750 if (Send(new GpuMsg_CreateGpuMemoryBuffer(params))) { | 750 if (Send(new GpuMsg_CreateGpuMemoryBuffer(params))) { |
751 create_gpu_memory_buffer_requests_.push(callback); | 751 create_gpu_memory_buffer_requests_.push(callback); |
752 } else { | 752 } else { |
753 callback.Run(gfx::GpuMemoryBufferHandle()); | 753 callback.Run(gfx::GpuMemoryBufferHandle()); |
754 } | 754 } |
755 } | 755 } |
756 | 756 |
757 void GpuProcessHost::CreateGpuMemoryBufferFromHandle( | 757 void GpuProcessHost::CreateGpuMemoryBufferFromHandle( |
758 const gfx::GpuMemoryBufferHandle& handle, | 758 const gfx::GpuMemoryBufferHandle& handle, |
759 gfx::GpuMemoryBufferId id, | 759 gfx::GpuMemoryBufferId id, |
760 const gfx::Size& size, | 760 const gfx::Size& size, |
761 gfx::BufferFormat format, | 761 gfx::BufferFormat format, |
762 int client_id, | 762 int client_id, |
763 const CreateGpuMemoryBufferCallback& callback) { | 763 const CreateGpuMemoryBufferCallback& callback) { |
764 TRACE_EVENT0("gpu", "GpuProcessHost::CreateGpuMemoryBufferFromHandle"); | 764 TRACE_EVENT0("gpu", "GpuProcessHost::CreateGpuMemoryBufferFromHandle"); |
765 | 765 |
766 DCHECK(CalledOnValidThread()); | 766 DCHECK(CalledOnValidThread()); |
767 | 767 |
768 GpuMsg_CreateGpuMemoryBufferFromHandle_Params params; | 768 CreateGpuMemoryBufferFromHandleParams params; |
769 params.handle = handle; | 769 params.handle = handle; |
770 params.id = id; | 770 params.id = id; |
771 params.size = size; | 771 params.size = size; |
772 params.format = format; | 772 params.format = format; |
773 params.client_id = client_id; | 773 params.client_id = client_id; |
774 if (Send(new GpuMsg_CreateGpuMemoryBufferFromHandle(params))) { | 774 if (Send(new GpuMsg_CreateGpuMemoryBufferFromHandle(params))) { |
775 create_gpu_memory_buffer_requests_.push(callback); | 775 create_gpu_memory_buffer_requests_.push(callback); |
776 } else { | 776 } else { |
777 callback.Run(gfx::GpuMemoryBufferHandle()); | 777 callback.Run(gfx::GpuMemoryBufferHandle()); |
778 } | 778 } |
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1180 TRACE_EVENT0("gpu", "GpuProcessHost::OnCacheShader"); | 1180 TRACE_EVENT0("gpu", "GpuProcessHost::OnCacheShader"); |
1181 ClientIdToShaderCacheMap::iterator iter = | 1181 ClientIdToShaderCacheMap::iterator iter = |
1182 client_id_to_shader_cache_.find(client_id); | 1182 client_id_to_shader_cache_.find(client_id); |
1183 // If the cache doesn't exist then this is an off the record profile. | 1183 // If the cache doesn't exist then this is an off the record profile. |
1184 if (iter == client_id_to_shader_cache_.end()) | 1184 if (iter == client_id_to_shader_cache_.end()) |
1185 return; | 1185 return; |
1186 iter->second->Cache(GetShaderPrefixKey() + ":" + key, shader); | 1186 iter->second->Cache(GetShaderPrefixKey() + ":" + key, shader); |
1187 } | 1187 } |
1188 | 1188 |
1189 } // namespace content | 1189 } // namespace content |
OLD | NEW |