Chromium Code Reviews| 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/gles2_cmd_copy_texture_chromium.h" | 5 #include "gpu/command_buffer/service/gles2_cmd_copy_texture_chromium.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "gpu/command_buffer/service/gl_utils.h" | 10 #include "gpu/command_buffer/service/gl_utils.h" |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 253 namespace gpu { | 253 namespace gpu { |
| 254 | 254 |
| 255 CopyTextureCHROMIUMResourceManager::CopyTextureCHROMIUMResourceManager() | 255 CopyTextureCHROMIUMResourceManager::CopyTextureCHROMIUMResourceManager() |
| 256 : initialized_(false), | 256 : initialized_(false), |
| 257 vertex_shaders_(NUM_VERTEX_SHADERS, 0u), | 257 vertex_shaders_(NUM_VERTEX_SHADERS, 0u), |
| 258 fragment_shaders_(NUM_FRAGMENT_SHADERS, 0u), | 258 fragment_shaders_(NUM_FRAGMENT_SHADERS, 0u), |
| 259 buffer_id_(0u), | 259 buffer_id_(0u), |
| 260 framebuffer_(0u) {} | 260 framebuffer_(0u) {} |
| 261 | 261 |
| 262 CopyTextureCHROMIUMResourceManager::~CopyTextureCHROMIUMResourceManager() { | 262 CopyTextureCHROMIUMResourceManager::~CopyTextureCHROMIUMResourceManager() { |
| 263 DCHECK(!buffer_id_); | 263 // |buffer_id_| and |framebuffer_| can be not-null because when GPU context is |
| 264 DCHECK(!framebuffer_); | 264 // lost, this class can be deleted without releasing resources like |
| 265 // GLES2DecoderImpl. | |
|
piman
2014/12/05 20:34:12
nit: is there a way to check that the GL resources
| |
| 265 } | 266 } |
| 266 | 267 |
| 267 void CopyTextureCHROMIUMResourceManager::Initialize( | 268 void CopyTextureCHROMIUMResourceManager::Initialize( |
| 268 const gles2::GLES2Decoder* decoder) { | 269 const gles2::GLES2Decoder* decoder) { |
| 269 COMPILE_ASSERT( | 270 COMPILE_ASSERT( |
| 270 kVertexPositionAttrib == 0u, | 271 kVertexPositionAttrib == 0u, |
| 271 Position_attribs_must_be_0); | 272 Position_attribs_must_be_0); |
| 272 DCHECK(!buffer_id_); | 273 DCHECK(!buffer_id_); |
| 273 DCHECK(!framebuffer_); | 274 DCHECK(!framebuffer_); |
| 274 DCHECK(programs_.empty()); | 275 DCHECK(programs_.empty()); |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 473 decoder->RestoreTextureState(dest_id); | 474 decoder->RestoreTextureState(dest_id); |
| 474 decoder->RestoreTextureUnitBindings(0); | 475 decoder->RestoreTextureUnitBindings(0); |
| 475 decoder->RestoreActiveTexture(); | 476 decoder->RestoreActiveTexture(); |
| 476 decoder->RestoreProgramBindings(); | 477 decoder->RestoreProgramBindings(); |
| 477 decoder->RestoreBufferBindings(); | 478 decoder->RestoreBufferBindings(); |
| 478 decoder->RestoreFramebufferBindings(); | 479 decoder->RestoreFramebufferBindings(); |
| 479 decoder->RestoreGlobalState(); | 480 decoder->RestoreGlobalState(); |
| 480 } | 481 } |
| 481 | 482 |
| 482 } // namespace gpu | 483 } // namespace gpu |
| OLD | NEW |