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

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

Issue 10067035: RefCounted types should not have public destructors, media/ and gpu/ edition (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 8 years, 7 months 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 | Annotate | Revision Log
OLDNEW
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/framebuffer_manager.h" 5 #include "gpu/command_buffer/service/framebuffer_manager.h"
6 #include "base/logging.h" 6 #include "base/logging.h"
7 #include "gpu/command_buffer/common/gles2_cmd_utils.h" 7 #include "gpu/command_buffer/common/gles2_cmd_utils.h"
8 8
9 namespace gpu { 9 namespace gpu {
10 namespace gles2 { 10 namespace gles2 {
11 11
12 class RenderbufferAttachment 12 class RenderbufferAttachment
13 : public FramebufferManager::FramebufferInfo::Attachment { 13 : public FramebufferManager::FramebufferInfo::Attachment {
14 public: 14 public:
15 explicit RenderbufferAttachment( 15 explicit RenderbufferAttachment(
16 RenderbufferManager::RenderbufferInfo* renderbuffer) 16 RenderbufferManager::RenderbufferInfo* renderbuffer)
17 : renderbuffer_(renderbuffer) { 17 : renderbuffer_(renderbuffer) {
18 } 18 }
19 19
20 virtual ~RenderbufferAttachment() { }
21
22 virtual GLsizei width() const { 20 virtual GLsizei width() const {
23 return renderbuffer_->width(); 21 return renderbuffer_->width();
24 } 22 }
25 23
26 virtual GLsizei height() const { 24 virtual GLsizei height() const {
27 return renderbuffer_->height(); 25 return renderbuffer_->height();
28 } 26 }
29 27
30 virtual GLenum internal_format() const { 28 virtual GLenum internal_format() const {
31 return renderbuffer_->internal_format(); 29 return renderbuffer_->internal_format();
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 uint32 need = GLES2Util::GetChannelsNeededForAttachmentType( 64 uint32 need = GLES2Util::GetChannelsNeededForAttachmentType(
67 attachment_type); 65 attachment_type);
68 uint32 have = GLES2Util::GetChannelsForFormat(internal_format()); 66 uint32 have = GLES2Util::GetChannelsForFormat(internal_format());
69 return (need & have) != 0; 67 return (need & have) != 0;
70 } 68 }
71 69
72 RenderbufferManager::RenderbufferInfo* renderbuffer() const { 70 RenderbufferManager::RenderbufferInfo* renderbuffer() const {
73 return renderbuffer_.get(); 71 return renderbuffer_.get();
74 } 72 }
75 73
74 protected:
75 virtual ~RenderbufferAttachment() { }
76
76 private: 77 private:
77 RenderbufferManager::RenderbufferInfo::Ref renderbuffer_; 78 RenderbufferManager::RenderbufferInfo::Ref renderbuffer_;
78 79
79 DISALLOW_COPY_AND_ASSIGN(RenderbufferAttachment); 80 DISALLOW_COPY_AND_ASSIGN(RenderbufferAttachment);
80 }; 81 };
81 82
82 class TextureAttachment 83 class TextureAttachment
83 : public FramebufferManager::FramebufferInfo::Attachment { 84 : public FramebufferManager::FramebufferInfo::Attachment {
84 public: 85 public:
85 TextureAttachment( 86 TextureAttachment(
86 TextureManager::TextureInfo* texture, GLenum target, GLint level) 87 TextureManager::TextureInfo* texture, GLenum target, GLint level)
87 : texture_(texture), 88 : texture_(texture),
88 target_(target), 89 target_(target),
89 level_(level) { 90 level_(level) {
90 } 91 }
91 92
92 virtual ~TextureAttachment() { }
93
94 virtual GLsizei width() const { 93 virtual GLsizei width() const {
95 GLsizei temp_width = 0; 94 GLsizei temp_width = 0;
96 GLsizei temp_height = 0; 95 GLsizei temp_height = 0;
97 texture_->GetLevelSize(target_, level_, &temp_width, &temp_height); 96 texture_->GetLevelSize(target_, level_, &temp_width, &temp_height);
98 return temp_width; 97 return temp_width;
99 } 98 }
100 99
101 virtual GLsizei height() const { 100 virtual GLsizei height() const {
102 GLsizei temp_width = 0; 101 GLsizei temp_width = 0;
103 GLsizei temp_height = 0; 102 GLsizei temp_height = 0;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 GLenum internal_format = 0; 151 GLenum internal_format = 0;
153 if (!texture_->GetLevelType(target_, level_, &type, &internal_format)) { 152 if (!texture_->GetLevelType(target_, level_, &type, &internal_format)) {
154 return false; 153 return false;
155 } 154 }
156 uint32 need = GLES2Util::GetChannelsNeededForAttachmentType( 155 uint32 need = GLES2Util::GetChannelsNeededForAttachmentType(
157 attachment_type); 156 attachment_type);
158 uint32 have = GLES2Util::GetChannelsForFormat(internal_format); 157 uint32 have = GLES2Util::GetChannelsForFormat(internal_format);
159 return (need & have) != 0; 158 return (need & have) != 0;
160 } 159 }
161 160
161 protected:
162 virtual ~TextureAttachment() { }
163
162 private: 164 private:
163 TextureManager::TextureInfo::Ref texture_; 165 TextureManager::TextureInfo::Ref texture_;
164 GLenum target_; 166 GLenum target_;
165 GLint level_; 167 GLint level_;
166 168
167 DISALLOW_COPY_AND_ASSIGN(TextureAttachment); 169 DISALLOW_COPY_AND_ASSIGN(TextureAttachment);
168 }; 170 };
169 171
170 FramebufferManager::FramebufferManager() 172 FramebufferManager::FramebufferManager()
171 : framebuffer_state_change_count_(1), 173 : framebuffer_state_change_count_(1),
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 FramebufferManager::FramebufferInfo* framebuffer) { 457 FramebufferManager::FramebufferInfo* framebuffer) {
456 DCHECK(framebuffer); 458 DCHECK(framebuffer);
457 return framebuffer->framebuffer_complete_state_count_id() == 459 return framebuffer->framebuffer_complete_state_count_id() ==
458 framebuffer_state_change_count_; 460 framebuffer_state_change_count_;
459 } 461 }
460 462
461 } // namespace gles2 463 } // namespace gles2
462 } // namespace gpu 464 } // namespace gpu
463 465
464 466
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/framebuffer_manager.h ('k') | gpu/command_buffer/service/query_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698