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

Side by Side Diff: content/browser/gpu/gpu_process_host.cc

Issue 331723003: gpu: Remove Create/DeleteImage IPC by adding an X11_PIXMAP_BUFFER GpuMemoryBuffer type. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 #include "content/browser/gpu/gpu_process_host.h" 5 #include "content/browser/gpu/gpu_process_host.h"
6 6
7 #include "base/base64.h" 7 #include "base/base64.h"
8 #include "base/base_switches.h" 8 #include "base/base_switches.h"
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 Send(new GpuMsg_CreateViewCommandBuffer( 641 Send(new GpuMsg_CreateViewCommandBuffer(
642 compositing_surface, surface_id, client_id, init_params, route_id))) { 642 compositing_surface, surface_id, client_id, init_params, route_id))) {
643 create_command_buffer_requests_.push(callback); 643 create_command_buffer_requests_.push(callback);
644 surface_refs_.insert(std::make_pair(surface_id, 644 surface_refs_.insert(std::make_pair(surface_id,
645 GpuSurfaceTracker::GetInstance()->GetSurfaceRefForSurface(surface_id))); 645 GpuSurfaceTracker::GetInstance()->GetSurfaceRefForSurface(surface_id)));
646 } else { 646 } else {
647 callback.Run(false); 647 callback.Run(false);
648 } 648 }
649 } 649 }
650 650
651 void GpuProcessHost::CreateImage(gfx::PluginWindowHandle window, 651 void GpuProcessHost::CreateImage(const gfx::GpuMemoryBufferHandle& handle,
652 const gfx::Size& size,
653 unsigned internalformat,
652 int client_id, 654 int client_id,
653 int image_id, 655 int image_id,
654 const CreateImageCallback& callback) { 656 const CreateImageCallback& callback) {
655 TRACE_EVENT0("gpu", "GpuProcessHost::CreateImage"); 657 TRACE_EVENT0("gpu", "GpuProcessHost::CreateImage");
656 658
657 DCHECK(CalledOnValidThread()); 659 DCHECK(CalledOnValidThread());
658 660
659 if (Send(new GpuMsg_CreateImage(window, client_id, image_id))) { 661 if (Send(new GpuMsg_CreateImage(
662 handle, size, internalformat, client_id, image_id))) {
660 create_image_requests_.push(callback); 663 create_image_requests_.push(callback);
661 } else { 664 } else {
662 callback.Run(gfx::Size()); 665 callback.Run(false);
663 } 666 }
664 } 667 }
665 668
666 void GpuProcessHost::DeleteImage(int client_id, 669 void GpuProcessHost::DeleteImage(int client_id,
667 int image_id, 670 int image_id,
668 int sync_point) { 671 int sync_point) {
669 TRACE_EVENT0("gpu", "GpuProcessHost::DeleteImage"); 672 TRACE_EVENT0("gpu", "GpuProcessHost::DeleteImage");
670 673
671 DCHECK(CalledOnValidThread()); 674 DCHECK(CalledOnValidThread());
672 675
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
756 } 759 }
757 760
758 void GpuProcessHost::OnDestroyCommandBuffer(int32 surface_id) { 761 void GpuProcessHost::OnDestroyCommandBuffer(int32 surface_id) {
759 TRACE_EVENT0("gpu", "GpuProcessHost::OnDestroyCommandBuffer"); 762 TRACE_EVENT0("gpu", "GpuProcessHost::OnDestroyCommandBuffer");
760 SurfaceRefMap::iterator it = surface_refs_.find(surface_id); 763 SurfaceRefMap::iterator it = surface_refs_.find(surface_id);
761 if (it != surface_refs_.end()) { 764 if (it != surface_refs_.end()) {
762 surface_refs_.erase(it); 765 surface_refs_.erase(it);
763 } 766 }
764 } 767 }
765 768
766 void GpuProcessHost::OnImageCreated(const gfx::Size size) { 769 void GpuProcessHost::OnImageCreated(bool succeeded) {
767 TRACE_EVENT0("gpu", "GpuProcessHost::OnImageCreated"); 770 TRACE_EVENT0("gpu", "GpuProcessHost::OnImageCreated");
768 771
769 if (create_image_requests_.empty()) 772 if (create_image_requests_.empty())
770 return; 773 return;
771 774
772 CreateImageCallback callback = create_image_requests_.front(); 775 CreateImageCallback callback = create_image_requests_.front();
773 create_image_requests_.pop(); 776 create_image_requests_.pop();
774 callback.Run(size); 777 callback.Run(succeeded);
775 } 778 }
776 779
777 void GpuProcessHost::OnGpuMemoryBufferCreated( 780 void GpuProcessHost::OnGpuMemoryBufferCreated(
778 const gfx::GpuMemoryBufferHandle& handle) { 781 const gfx::GpuMemoryBufferHandle& handle) {
779 TRACE_EVENT0("gpu", "GpuProcessHost::OnGpuMemoryBufferCreated"); 782 TRACE_EVENT0("gpu", "GpuProcessHost::OnGpuMemoryBufferCreated");
780 783
781 if (create_gpu_memory_buffer_requests_.empty()) 784 if (create_gpu_memory_buffer_requests_.empty())
782 return; 785 return;
783 786
784 CreateGpuMemoryBufferCallback callback = 787 CreateGpuMemoryBufferCallback callback =
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
1112 TRACE_EVENT0("gpu", "GpuProcessHost::OnCacheShader"); 1115 TRACE_EVENT0("gpu", "GpuProcessHost::OnCacheShader");
1113 ClientIdToShaderCacheMap::iterator iter = 1116 ClientIdToShaderCacheMap::iterator iter =
1114 client_id_to_shader_cache_.find(client_id); 1117 client_id_to_shader_cache_.find(client_id);
1115 // If the cache doesn't exist then this is an off the record profile. 1118 // If the cache doesn't exist then this is an off the record profile.
1116 if (iter == client_id_to_shader_cache_.end()) 1119 if (iter == client_id_to_shader_cache_.end())
1117 return; 1120 return;
1118 iter->second->Cache(GetShaderPrefixKey() + ":" + key, shader); 1121 iter->second->Cache(GetShaderPrefixKey() + ":" + key, shader);
1119 } 1122 }
1120 1123
1121 } // namespace content 1124 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698