| 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> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 sizeof(signature_data)); | 104 sizeof(signature_data)); |
| 105 } | 105 } |
| 106 | 106 |
| 107 Renderbuffer::Renderbuffer(RenderbufferManager* manager, | 107 Renderbuffer::Renderbuffer(RenderbufferManager* manager, |
| 108 GLuint client_id, | 108 GLuint client_id, |
| 109 GLuint service_id) | 109 GLuint service_id) |
| 110 : manager_(manager), | 110 : manager_(manager), |
| 111 client_id_(client_id), | 111 client_id_(client_id), |
| 112 service_id_(service_id), | 112 service_id_(service_id), |
| 113 cleared_(true), | 113 cleared_(true), |
| 114 depth_cleared_(true), |
| 115 stencil_cleared_(true), |
| 114 has_been_bound_(false), | 116 has_been_bound_(false), |
| 115 samples_(0), | 117 samples_(0), |
| 116 internal_format_(GL_RGBA4), | 118 internal_format_(GL_RGBA4), |
| 117 width_(0), | 119 width_(0), |
| 118 height_(0) { | 120 height_(0) { |
| 119 manager_->StartTracking(this); | 121 manager_->StartTracking(this); |
| 120 } | 122 } |
| 121 | 123 |
| 122 Renderbuffer::~Renderbuffer() { | 124 Renderbuffer::~Renderbuffer() { |
| 123 if (manager_) { | 125 if (manager_) { |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 DCHECK(renderbuffer); | 170 DCHECK(renderbuffer); |
| 169 if (!renderbuffer->cleared()) { | 171 if (!renderbuffer->cleared()) { |
| 170 --num_uncleared_renderbuffers_; | 172 --num_uncleared_renderbuffers_; |
| 171 } | 173 } |
| 172 renderbuffer->set_cleared(cleared); | 174 renderbuffer->set_cleared(cleared); |
| 173 if (!renderbuffer->cleared()) { | 175 if (!renderbuffer->cleared()) { |
| 174 ++num_uncleared_renderbuffers_; | 176 ++num_uncleared_renderbuffers_; |
| 175 } | 177 } |
| 176 } | 178 } |
| 177 | 179 |
| 180 void RenderbufferManager::SetCleared(Renderbuffer* renderbuffer, |
| 181 GLenum attachment, |
| 182 bool cleared) { |
| 183 DCHECK(renderbuffer); |
| 184 if (!renderbuffer->cleared()) { |
| 185 --num_uncleared_renderbuffers_; |
| 186 } |
| 187 renderbuffer->set_cleared(attachment, cleared); |
| 188 if (!renderbuffer->cleared()) { |
| 189 ++num_uncleared_renderbuffers_; |
| 190 } |
| 191 } |
| 192 |
| 178 void RenderbufferManager::CreateRenderbuffer( | 193 void RenderbufferManager::CreateRenderbuffer( |
| 179 GLuint client_id, GLuint service_id) { | 194 GLuint client_id, GLuint service_id) { |
| 180 scoped_refptr<Renderbuffer> renderbuffer( | 195 scoped_refptr<Renderbuffer> renderbuffer( |
| 181 new Renderbuffer(this, client_id, service_id)); | 196 new Renderbuffer(this, client_id, service_id)); |
| 182 std::pair<RenderbufferMap::iterator, bool> result = | 197 std::pair<RenderbufferMap::iterator, bool> result = |
| 183 renderbuffers_.insert(std::make_pair(client_id, renderbuffer)); | 198 renderbuffers_.insert(std::make_pair(client_id, renderbuffer)); |
| 184 DCHECK(result.second); | 199 DCHECK(result.second); |
| 185 if (!renderbuffer->cleared()) { | 200 if (!renderbuffer->cleared()) { |
| 186 ++num_uncleared_renderbuffers_; | 201 ++num_uncleared_renderbuffers_; |
| 187 } | 202 } |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 267 auto guid = gl::GetGLRenderbufferGUIDForTracing( | 282 auto guid = gl::GetGLRenderbufferGUIDForTracing( |
| 268 memory_tracker_->ShareGroupTracingGUID(), client_renderbuffer_id); | 283 memory_tracker_->ShareGroupTracingGUID(), client_renderbuffer_id); |
| 269 pmd->CreateSharedGlobalAllocatorDump(guid); | 284 pmd->CreateSharedGlobalAllocatorDump(guid); |
| 270 pmd->AddOwnershipEdge(dump->guid(), guid); | 285 pmd->AddOwnershipEdge(dump->guid(), guid); |
| 271 } | 286 } |
| 272 return true; | 287 return true; |
| 273 } | 288 } |
| 274 | 289 |
| 275 } // namespace gles2 | 290 } // namespace gles2 |
| 276 } // namespace gpu | 291 } // namespace gpu |
| OLD | NEW |