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 "gpu/command_buffer/service/renderbuffer_manager.h" | 5 #include "gpu/command_buffer/service/renderbuffer_manager.h" |
6 | 6 |
| 7 #include <stddef.h> |
| 8 #include <stdint.h> |
| 9 |
7 #include "base/logging.h" | 10 #include "base/logging.h" |
8 #include "base/strings/stringprintf.h" | 11 #include "base/strings/stringprintf.h" |
9 #include "base/thread_task_runner_handle.h" | 12 #include "base/thread_task_runner_handle.h" |
10 #include "base/trace_event/memory_dump_manager.h" | 13 #include "base/trace_event/memory_dump_manager.h" |
11 #include "base/trace_event/trace_event.h" | 14 #include "base/trace_event/trace_event.h" |
12 #include "gpu/command_buffer/common/gles2_cmd_utils.h" | 15 #include "gpu/command_buffer/common/gles2_cmd_utils.h" |
13 #include "gpu/command_buffer/service/feature_info.h" | 16 #include "gpu/command_buffer/service/feature_info.h" |
14 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 17 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
15 #include "gpu/command_buffer/service/memory_tracking.h" | 18 #include "gpu/command_buffer/service/memory_tracking.h" |
16 #include "ui/gl/gl_implementation.h" | 19 #include "ui/gl/gl_implementation.h" |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 // a Renderbuffer belonging to this. | 74 // a Renderbuffer belonging to this. |
72 CHECK_EQ(renderbuffer_count_, 0u); | 75 CHECK_EQ(renderbuffer_count_, 0u); |
73 | 76 |
74 DCHECK_EQ(0, num_uncleared_renderbuffers_); | 77 DCHECK_EQ(0, num_uncleared_renderbuffers_); |
75 | 78 |
76 base::trace_event::MemoryDumpManager::GetInstance()->UnregisterDumpProvider( | 79 base::trace_event::MemoryDumpManager::GetInstance()->UnregisterDumpProvider( |
77 this); | 80 this); |
78 } | 81 } |
79 | 82 |
80 size_t Renderbuffer::EstimatedSize() { | 83 size_t Renderbuffer::EstimatedSize() { |
81 uint32 size = 0; | 84 uint32_t size = 0; |
82 manager_->ComputeEstimatedRenderbufferSize( | 85 manager_->ComputeEstimatedRenderbufferSize( |
83 width_, height_, samples_, internal_format_, &size); | 86 width_, height_, samples_, internal_format_, &size); |
84 return size; | 87 return size; |
85 } | 88 } |
86 | 89 |
87 | 90 |
88 size_t Renderbuffer::GetSignatureSize() const { | 91 size_t Renderbuffer::GetSignatureSize() const { |
89 return sizeof(RenderbufferTag) + sizeof(RenderbufferSignature); | 92 return sizeof(RenderbufferTag) + sizeof(RenderbufferSignature); |
90 } | 93 } |
91 | 94 |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 | 195 |
193 void RenderbufferManager::RemoveRenderbuffer(GLuint client_id) { | 196 void RenderbufferManager::RemoveRenderbuffer(GLuint client_id) { |
194 RenderbufferMap::iterator it = renderbuffers_.find(client_id); | 197 RenderbufferMap::iterator it = renderbuffers_.find(client_id); |
195 if (it != renderbuffers_.end()) { | 198 if (it != renderbuffers_.end()) { |
196 Renderbuffer* renderbuffer = it->second.get(); | 199 Renderbuffer* renderbuffer = it->second.get(); |
197 renderbuffer->MarkAsDeleted(); | 200 renderbuffer->MarkAsDeleted(); |
198 renderbuffers_.erase(it); | 201 renderbuffers_.erase(it); |
199 } | 202 } |
200 } | 203 } |
201 | 204 |
202 bool RenderbufferManager::ComputeEstimatedRenderbufferSize(int width, | 205 bool RenderbufferManager::ComputeEstimatedRenderbufferSize( |
203 int height, | 206 int width, |
204 int samples, | 207 int height, |
205 int internal_format, | 208 int samples, |
206 uint32* size) const { | 209 int internal_format, |
| 210 uint32_t* size) const { |
207 DCHECK(size); | 211 DCHECK(size); |
208 | 212 |
209 uint32 temp = 0; | 213 uint32_t temp = 0; |
210 if (!SafeMultiplyUint32(width, height, &temp)) { | 214 if (!SafeMultiplyUint32(width, height, &temp)) { |
211 return false; | 215 return false; |
212 } | 216 } |
213 if (!SafeMultiplyUint32(temp, samples, &temp)) { | 217 if (!SafeMultiplyUint32(temp, samples, &temp)) { |
214 return false; | 218 return false; |
215 } | 219 } |
216 GLenum impl_format = InternalRenderbufferFormatToImplFormat(internal_format); | 220 GLenum impl_format = InternalRenderbufferFormatToImplFormat(internal_format); |
217 if (!SafeMultiplyUint32( | 221 if (!SafeMultiplyUint32( |
218 temp, GLES2Util::RenderbufferBytesPerPixel(impl_format), &temp)) { | 222 temp, GLES2Util::RenderbufferBytesPerPixel(impl_format), &temp)) { |
219 return false; | 223 return false; |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
263 auto guid = gfx::GetGLRenderbufferGUIDForTracing( | 267 auto guid = gfx::GetGLRenderbufferGUIDForTracing( |
264 memory_tracker_->ShareGroupTracingGUID(), client_renderbuffer_id); | 268 memory_tracker_->ShareGroupTracingGUID(), client_renderbuffer_id); |
265 pmd->CreateSharedGlobalAllocatorDump(guid); | 269 pmd->CreateSharedGlobalAllocatorDump(guid); |
266 pmd->AddOwnershipEdge(dump->guid(), guid); | 270 pmd->AddOwnershipEdge(dump->guid(), guid); |
267 } | 271 } |
268 return true; | 272 return true; |
269 } | 273 } |
270 | 274 |
271 } // namespace gles2 | 275 } // namespace gles2 |
272 } // namespace gpu | 276 } // namespace gpu |
OLD | NEW |