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

Side by Side Diff: gpu/command_buffer/service/in_process_command_buffer.cc

Issue 1417853006: gpu: introduce glSetStreamTextureSizeCHROMIUM(GLuint texture, GLint stream_id, GLsizei width, GLsiz… Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix android_webview.test failure Created 5 years, 1 month 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "gpu/command_buffer/service/in_process_command_buffer.h" 5 #include "gpu/command_buffer/service/in_process_command_buffer.h"
6 6
7 #include <queue> 7 #include <queue>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 889 matching lines...) Expand 10 before | Expand all | Expand 10 after
900 900
901 gles2::QueryManager::Query* query = query_manager_->GetQuery(query_id); 901 gles2::QueryManager::Query* query = query_manager_->GetQuery(query_id);
902 if (!query) 902 if (!query)
903 callback.Run(); 903 callback.Run();
904 else 904 else
905 query->AddCallback(callback); 905 query->AddCallback(callback);
906 } 906 }
907 907
908 void InProcessCommandBuffer::SetSurfaceVisible(bool visible) {} 908 void InProcessCommandBuffer::SetSurfaceVisible(bool visible) {}
909 909
910 uint32 InProcessCommandBuffer::CreateStreamTexture(uint32 texture_id) { 910 int32 InProcessCommandBuffer::CreateStreamTexture(uint32 texture_id) {
911 base::WaitableEvent completion(true, false); 911 base::WaitableEvent completion(true, false);
912 uint32 stream_id = 0; 912 int32 stream_id = 0;
913 base::Callback<uint32(void)> task = 913 base::Callback<int32(void)> task =
914 base::Bind(&InProcessCommandBuffer::CreateStreamTextureOnGpuThread, 914 base::Bind(&InProcessCommandBuffer::CreateStreamTextureOnGpuThread,
915 base::Unretained(this), 915 base::Unretained(this), texture_id);
916 texture_id);
917 QueueTask( 916 QueueTask(
918 base::Bind(&RunTaskWithResult<uint32>, task, &stream_id, &completion)); 917 base::Bind(&RunTaskWithResult<int32>, task, &stream_id, &completion));
919 completion.Wait(); 918 completion.Wait();
920 return stream_id; 919 return stream_id;
921 } 920 }
922 921
922 void InProcessCommandBuffer::SetStreamTextureSize(uint32 texture_id,
923 int32 stream_id,
924 size_t width,
925 size_t height) {
926 QueueTask(base::Bind(&InProcessCommandBuffer::SetStreamTextureSizeOnGpuThread,
927 base::Unretained(this), texture_id, stream_id, width,
928 height));
929 }
930
923 void InProcessCommandBuffer::SetLock(base::Lock*) { 931 void InProcessCommandBuffer::SetLock(base::Lock*) {
924 } 932 }
925 933
926 bool InProcessCommandBuffer::IsGpuChannelLost() { 934 bool InProcessCommandBuffer::IsGpuChannelLost() {
927 // There is no such channel to lose for in-process contexts. This only 935 // There is no such channel to lose for in-process contexts. This only
928 // makes sense for out-of-process command buffers. 936 // makes sense for out-of-process command buffers.
929 return false; 937 return false;
930 } 938 }
931 939
932 CommandBufferNamespace InProcessCommandBuffer::GetNamespaceID() const { 940 CommandBufferNamespace InProcessCommandBuffer::GetNamespaceID() const {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
969 977
970 sync_point_client_->Wait(release_state.get(), sync_token.release_count(), 978 sync_point_client_->Wait(release_state.get(), sync_token.release_count(),
971 WrapCallback(callback)); 979 WrapCallback(callback));
972 } 980 }
973 981
974 bool InProcessCommandBuffer::CanWaitUnverifiedSyncToken( 982 bool InProcessCommandBuffer::CanWaitUnverifiedSyncToken(
975 const SyncToken* sync_token) { 983 const SyncToken* sync_token) {
976 return false; 984 return false;
977 } 985 }
978 986
979 uint32 InProcessCommandBuffer::CreateStreamTextureOnGpuThread( 987 int32 InProcessCommandBuffer::CreateStreamTextureOnGpuThread(
980 uint32 client_texture_id) { 988 uint32 client_texture_id) {
981 #if defined(OS_ANDROID) 989 #if defined(OS_ANDROID)
982 return stream_texture_manager_->CreateStreamTexture( 990 return stream_texture_manager_->CreateStreamTexture(
983 client_texture_id, decoder_->GetContextGroup()->texture_manager()); 991 client_texture_id, decoder_->GetContextGroup()->texture_manager());
984 #else 992 #else
985 return 0; 993 return 0;
986 #endif 994 #endif
987 } 995 }
988 996
997 void InProcessCommandBuffer::SetStreamTextureSizeOnGpuThread(
998 uint32 client_texture_id,
999 int32 stream_id,
1000 size_t width,
1001 size_t height) {
1002 #if defined(OS_ANDROID)
1003 stream_texture_manager_->SetStreamTextureSize(
1004 client_texture_id, stream_id, width, height,
1005 decoder_->GetContextGroup()->texture_manager());
1006 #endif
1007 }
1008
989 gpu::error::Error InProcessCommandBuffer::GetLastError() { 1009 gpu::error::Error InProcessCommandBuffer::GetLastError() {
990 CheckSequencedThread(); 1010 CheckSequencedThread();
991 return last_state_.error; 1011 return last_state_.error;
992 } 1012 }
993 1013
994 bool InProcessCommandBuffer::Initialize() { 1014 bool InProcessCommandBuffer::Initialize() {
995 NOTREACHED(); 1015 NOTREACHED();
996 return false; 1016 return false;
997 } 1017 }
998 1018
(...skipping 27 matching lines...) Expand all
1026 base::Bind(&RunOnTargetThread, base::Passed(&scoped_callback)); 1046 base::Bind(&RunOnTargetThread, base::Passed(&scoped_callback));
1027 base::Closure wrapped_callback = 1047 base::Closure wrapped_callback =
1028 base::Bind(&PostCallback, base::ThreadTaskRunnerHandle::IsSet() 1048 base::Bind(&PostCallback, base::ThreadTaskRunnerHandle::IsSet()
1029 ? base::ThreadTaskRunnerHandle::Get() 1049 ? base::ThreadTaskRunnerHandle::Get()
1030 : nullptr, 1050 : nullptr,
1031 callback_on_client_thread); 1051 callback_on_client_thread);
1032 return wrapped_callback; 1052 return wrapped_callback;
1033 } 1053 }
1034 1054
1035 #if defined(OS_ANDROID) 1055 #if defined(OS_ANDROID)
1036 scoped_refptr<gfx::SurfaceTexture> 1056 scoped_refptr<gfx::SurfaceTexture> InProcessCommandBuffer::GetSurfaceTexture(
1037 InProcessCommandBuffer::GetSurfaceTexture(uint32 stream_id) { 1057 int32 stream_id) {
1038 DCHECK(stream_texture_manager_); 1058 DCHECK(stream_texture_manager_);
1039 return stream_texture_manager_->GetSurfaceTexture(stream_id); 1059 return stream_texture_manager_->GetSurfaceTexture(stream_id);
1040 } 1060 }
1041 #endif 1061 #endif
1042 1062
1043 GpuInProcessThread::GpuInProcessThread(SyncPointManager* sync_point_manager) 1063 GpuInProcessThread::GpuInProcessThread(SyncPointManager* sync_point_manager)
1044 : base::Thread("GpuThread"), sync_point_manager_(sync_point_manager) { 1064 : base::Thread("GpuThread"), sync_point_manager_(sync_point_manager) {
1045 Start(); 1065 Start();
1046 } 1066 }
1047 1067
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1083 framebuffer_completeness_cache_ = 1103 framebuffer_completeness_cache_ =
1084 new gpu::gles2::FramebufferCompletenessCache; 1104 new gpu::gles2::FramebufferCompletenessCache;
1085 return framebuffer_completeness_cache_; 1105 return framebuffer_completeness_cache_;
1086 } 1106 }
1087 1107
1088 SyncPointManager* GpuInProcessThread::sync_point_manager() { 1108 SyncPointManager* GpuInProcessThread::sync_point_manager() {
1089 return sync_point_manager_; 1109 return sync_point_manager_;
1090 } 1110 }
1091 1111
1092 } // namespace gpu 1112 } // namespace gpu
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698