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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/bind_helpers.h" | 6 #include "base/bind_helpers.h" |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/debug/trace_event.h" | 8 #include "base/debug/trace_event.h" |
9 #include "base/hash.h" | 9 #include "base/hash.h" |
10 #include "base/memory/shared_memory.h" | 10 #include "base/memory/shared_memory.h" |
(...skipping 928 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
939 if (!image) | 939 if (!image) |
940 return; | 940 return; |
941 | 941 |
942 // For Android specific workaround. | 942 // For Android specific workaround. |
943 if (context_group_->feature_info()->workarounds().release_image_after_use) | 943 if (context_group_->feature_info()->workarounds().release_image_after_use) |
944 image->SetReleaseAfterUse(); | 944 image->SetReleaseAfterUse(); |
945 | 945 |
946 if (decoder_) { | 946 if (decoder_) { |
947 gpu::gles2::ImageManager* image_manager = decoder_->GetImageManager(); | 947 gpu::gles2::ImageManager* image_manager = decoder_->GetImageManager(); |
948 DCHECK(image_manager); | 948 DCHECK(image_manager); |
949 if (id <= 0) { | |
reveman
2014/07/25 19:00:23
I don't think this check should exist. Either we c
sohanjg
2014/07/26 10:42:22
Done.
| |
950 LOG(ERROR) << "Cannot add image with non-positive ID."; | |
951 return; | |
952 } | |
949 image_manager->AddImage(image.get(), id); | 953 image_manager->AddImage(image.get(), id); |
reveman
2014/07/25 19:00:23
You need to check for collisions before this call.
sohanjg
2014/07/26 10:42:23
Done.
| |
950 } | 954 } |
951 } | 955 } |
952 | 956 |
953 void GpuCommandBufferStub::OnDestroyGpuMemoryBuffer(int32 id) { | 957 void GpuCommandBufferStub::OnDestroyGpuMemoryBuffer(int32 id) { |
954 TRACE_EVENT0("gpu", "GpuCommandBufferStub::OnDestroyGpuMemoryBuffer"); | 958 TRACE_EVENT0("gpu", "GpuCommandBufferStub::OnDestroyGpuMemoryBuffer"); |
955 | 959 |
956 if (decoder_) { | 960 if (decoder_) { |
957 gpu::gles2::ImageManager* image_manager = decoder_->GetImageManager(); | 961 gpu::gles2::ImageManager* image_manager = decoder_->GetImageManager(); |
958 DCHECK(image_manager); | 962 DCHECK(image_manager); |
963 if (id <= 0) { | |
reveman
2014/07/25 19:00:23
this check shouldn't exist.
sohanjg
2014/07/26 10:42:22
Done.
| |
964 LOG(ERROR) << "Cannot remove image with non-positive ID."; | |
965 return; | |
966 } | |
967 DCHECK(image_manager->LookupImage(id)); | |
reveman
2014/07/25 19:00:23
A DCHECK is not OK here. We need to log an error a
sohanjg
2014/07/26 10:42:23
Done.
| |
959 image_manager->RemoveImage(id); | 968 image_manager->RemoveImage(id); |
960 } | 969 } |
961 } | 970 } |
962 | 971 |
963 void GpuCommandBufferStub::SendConsoleMessage( | 972 void GpuCommandBufferStub::SendConsoleMessage( |
964 int32 id, | 973 int32 id, |
965 const std::string& message) { | 974 const std::string& message) { |
966 GPUCommandBufferConsoleMessage console_message; | 975 GPUCommandBufferConsoleMessage console_message; |
967 console_message.id = id; | 976 console_message.id = id; |
968 console_message.message = message; | 977 console_message.message = message; |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1052 if (decoder_) | 1061 if (decoder_) |
1053 decoder_->LoseContext(GL_UNKNOWN_CONTEXT_RESET_ARB); | 1062 decoder_->LoseContext(GL_UNKNOWN_CONTEXT_RESET_ARB); |
1054 command_buffer_->SetParseError(gpu::error::kLostContext); | 1063 command_buffer_->SetParseError(gpu::error::kLostContext); |
1055 } | 1064 } |
1056 | 1065 |
1057 uint64 GpuCommandBufferStub::GetMemoryUsage() const { | 1066 uint64 GpuCommandBufferStub::GetMemoryUsage() const { |
1058 return GetMemoryManager()->GetClientMemoryUsage(this); | 1067 return GetMemoryManager()->GetClientMemoryUsage(this); |
1059 } | 1068 } |
1060 | 1069 |
1061 } // namespace content | 1070 } // namespace content |
OLD | NEW |