Index: gpu/command_buffer/service/framebuffer_manager.cc |
diff --git a/gpu/command_buffer/service/framebuffer_manager.cc b/gpu/command_buffer/service/framebuffer_manager.cc |
index e0755b60e07005c189b0030ffbe4619e34eac116..6c90a56e67a3fbbeaf17a89542c073dd4175eaad 100644 |
--- a/gpu/command_buffer/service/framebuffer_manager.cc |
+++ b/gpu/command_buffer/service/framebuffer_manager.cc |
@@ -11,20 +11,20 @@ |
namespace gpu { |
namespace gles2 { |
-FramebufferManager::FramebufferInfo::FramebufferComboCompleteMap* |
- FramebufferManager::FramebufferInfo::framebuffer_combo_complete_map_; |
+Framebuffer::FramebufferComboCompleteMap* |
+ Framebuffer::framebuffer_combo_complete_map_; |
-void FramebufferManager::FramebufferInfo::ClearFramebufferCompleteComboMap() { |
+void Framebuffer::ClearFramebufferCompleteComboMap() { |
if (framebuffer_combo_complete_map_) { |
framebuffer_combo_complete_map_->clear(); |
} |
} |
class RenderbufferAttachment |
- : public FramebufferManager::FramebufferInfo::Attachment { |
+ : public Framebuffer::Attachment { |
public: |
explicit RenderbufferAttachment( |
- RenderbufferManager::RenderbufferInfo* renderbuffer) |
+ Renderbuffer* renderbuffer) |
: renderbuffer_(renderbuffer) { |
} |
@@ -56,12 +56,12 @@ class RenderbufferAttachment |
} |
virtual bool IsTexture( |
- TextureManager::TextureInfo* /* texture */) const OVERRIDE { |
+ Texture* /* texture */) const OVERRIDE { |
return false; |
} |
virtual bool IsRenderbuffer( |
- RenderbufferManager::RenderbufferInfo* renderbuffer) const OVERRIDE { |
+ Renderbuffer* renderbuffer) const OVERRIDE { |
return renderbuffer_ == renderbuffer; |
} |
@@ -80,7 +80,7 @@ class RenderbufferAttachment |
return (need & have) != 0; |
} |
- RenderbufferManager::RenderbufferInfo* renderbuffer() const { |
+ Renderbuffer* renderbuffer() const { |
return renderbuffer_.get(); |
} |
@@ -94,16 +94,16 @@ class RenderbufferAttachment |
virtual ~RenderbufferAttachment() { } |
private: |
- RenderbufferManager::RenderbufferInfo::Ref renderbuffer_; |
+ scoped_refptr<Renderbuffer> renderbuffer_; |
DISALLOW_COPY_AND_ASSIGN(RenderbufferAttachment); |
}; |
class TextureAttachment |
- : public FramebufferManager::FramebufferInfo::Attachment { |
+ : public Framebuffer::Attachment { |
public: |
TextureAttachment( |
- TextureManager::TextureInfo* texture, GLenum target, GLint level) |
+ Texture* texture, GLenum target, GLint level) |
: texture_(texture), |
target_(target), |
level_(level) { |
@@ -145,17 +145,17 @@ class TextureAttachment |
texture_manager->SetLevelCleared(texture_, target_, level_, cleared); |
} |
- virtual bool IsTexture(TextureManager::TextureInfo* texture) const OVERRIDE { |
+ virtual bool IsTexture(Texture* texture) const OVERRIDE { |
return texture == texture_.get(); |
} |
virtual bool IsRenderbuffer( |
- RenderbufferManager::RenderbufferInfo* /* renderbuffer */) |
+ Renderbuffer* /* renderbuffer */) |
const OVERRIDE { |
return false; |
} |
- TextureManager::TextureInfo* texture() const { |
+ Texture* texture() const { |
return texture_.get(); |
} |
@@ -189,7 +189,7 @@ class TextureAttachment |
virtual ~TextureAttachment() {} |
private: |
- TextureManager::TextureInfo::Ref texture_; |
+ scoped_refptr<Texture> texture_; |
GLenum target_; |
GLint level_; |
@@ -205,11 +205,11 @@ FramebufferManager::FramebufferManager() |
FramebufferManager::~FramebufferManager() { |
DCHECK(framebuffer_infos_.empty()); |
// If this triggers, that means something is keeping a reference to a |
- // FramebufferInfo belonging to this. |
+ // Framebuffer belonging to this. |
CHECK_EQ(framebuffer_info_count_, 0u); |
} |
-void FramebufferManager::FramebufferInfo::MarkAsDeleted() { |
+void Framebuffer::MarkAsDeleted() { |
deleted_ = true; |
while (!attachments_.empty()) { |
Attachment* attachment = attachments_.begin()->second.get(); |
@@ -224,26 +224,27 @@ void FramebufferManager::Destroy(bool have_context) { |
} |
void FramebufferManager::StartTracking( |
- FramebufferManager::FramebufferInfo* /* framebuffer */) { |
+ Framebuffer* /* framebuffer */) { |
++framebuffer_info_count_; |
} |
void FramebufferManager::StopTracking( |
- FramebufferManager::FramebufferInfo* /* framebuffer */) { |
+ Framebuffer* /* framebuffer */) { |
--framebuffer_info_count_; |
} |
-void FramebufferManager::CreateFramebufferInfo( |
+void FramebufferManager::CreateFramebuffer( |
GLuint client_id, GLuint service_id) { |
std::pair<FramebufferInfoMap::iterator, bool> result = |
framebuffer_infos_.insert( |
std::make_pair( |
client_id, |
- FramebufferInfo::Ref(new FramebufferInfo(this, service_id)))); |
+ scoped_refptr<Framebuffer>( |
+ new Framebuffer(this, service_id)))); |
DCHECK(result.second); |
} |
-FramebufferManager::FramebufferInfo::FramebufferInfo( |
+Framebuffer::Framebuffer( |
FramebufferManager* manager, GLuint service_id) |
: manager_(manager), |
deleted_(false), |
@@ -253,7 +254,7 @@ FramebufferManager::FramebufferInfo::FramebufferInfo( |
manager->StartTracking(this); |
} |
-FramebufferManager::FramebufferInfo::~FramebufferInfo() { |
+Framebuffer::~Framebuffer() { |
if (manager_) { |
if (manager_->have_context_) { |
GLuint id = service_id(); |
@@ -264,7 +265,7 @@ FramebufferManager::FramebufferInfo::~FramebufferInfo() { |
} |
} |
-bool FramebufferManager::FramebufferInfo::HasUnclearedAttachment( |
+bool Framebuffer::HasUnclearedAttachment( |
GLenum attachment) const { |
AttachmentMap::const_iterator it = |
attachments_.find(attachment); |
@@ -275,7 +276,7 @@ bool FramebufferManager::FramebufferInfo::HasUnclearedAttachment( |
return false; |
} |
-void FramebufferManager::FramebufferInfo::MarkAttachmentAsCleared( |
+void Framebuffer::MarkAttachmentAsCleared( |
RenderbufferManager* renderbuffer_manager, |
TextureManager* texture_manager, |
GLenum attachment, |
@@ -291,7 +292,7 @@ void FramebufferManager::FramebufferInfo::MarkAttachmentAsCleared( |
} |
} |
-void FramebufferManager::FramebufferInfo::MarkAttachmentsAsCleared( |
+void Framebuffer::MarkAttachmentsAsCleared( |
RenderbufferManager* renderbuffer_manager, |
TextureManager* texture_manager, |
bool cleared) { |
@@ -304,17 +305,17 @@ void FramebufferManager::FramebufferInfo::MarkAttachmentsAsCleared( |
} |
} |
-bool FramebufferManager::FramebufferInfo::HasDepthAttachment() const { |
+bool Framebuffer::HasDepthAttachment() const { |
return attachments_.find(GL_DEPTH_STENCIL_ATTACHMENT) != attachments_.end() || |
attachments_.find(GL_DEPTH_ATTACHMENT) != attachments_.end(); |
} |
-bool FramebufferManager::FramebufferInfo::HasStencilAttachment() const { |
+bool Framebuffer::HasStencilAttachment() const { |
return attachments_.find(GL_DEPTH_STENCIL_ATTACHMENT) != attachments_.end() || |
attachments_.find(GL_STENCIL_ATTACHMENT) != attachments_.end(); |
} |
-GLenum FramebufferManager::FramebufferInfo::GetColorAttachmentFormat() const { |
+GLenum Framebuffer::GetColorAttachmentFormat() const { |
AttachmentMap::const_iterator it = attachments_.find(GL_COLOR_ATTACHMENT0); |
if (it == attachments_.end()) { |
return 0; |
@@ -323,7 +324,7 @@ GLenum FramebufferManager::FramebufferInfo::GetColorAttachmentFormat() const { |
return attachment->internal_format(); |
} |
-GLenum FramebufferManager::FramebufferInfo::IsPossiblyComplete() const { |
+GLenum Framebuffer::IsPossiblyComplete() const { |
if (attachments_.empty()) { |
return GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT; |
} |
@@ -359,7 +360,7 @@ GLenum FramebufferManager::FramebufferInfo::IsPossiblyComplete() const { |
return GL_FRAMEBUFFER_COMPLETE; |
} |
-GLenum FramebufferManager::FramebufferInfo::GetStatus( |
+GLenum Framebuffer::GetStatus( |
TextureManager* texture_manager, GLenum target) const { |
// Check if we have this combo already. |
std::string signature(base::StringPrintf("|FBO|target=%04x", target)); |
@@ -387,7 +388,7 @@ GLenum FramebufferManager::FramebufferInfo::GetStatus( |
return result; |
} |
-bool FramebufferManager::FramebufferInfo::IsCleared() const { |
+bool Framebuffer::IsCleared() const { |
// are all the attachments cleaared? |
for (AttachmentMap::const_iterator it = attachments_.begin(); |
it != attachments_.end(); ++it) { |
@@ -399,8 +400,8 @@ bool FramebufferManager::FramebufferInfo::IsCleared() const { |
return true; |
} |
-void FramebufferManager::FramebufferInfo::UnbindRenderbuffer( |
- GLenum target, RenderbufferManager::RenderbufferInfo* renderbuffer) { |
+void Framebuffer::UnbindRenderbuffer( |
+ GLenum target, Renderbuffer* renderbuffer) { |
bool done; |
do { |
done = true; |
@@ -418,8 +419,8 @@ void FramebufferManager::FramebufferInfo::UnbindRenderbuffer( |
} while (!done); |
} |
-void FramebufferManager::FramebufferInfo::UnbindTexture( |
- GLenum target, TextureManager::TextureInfo* texture) { |
+void Framebuffer::UnbindTexture( |
+ GLenum target, Texture* texture) { |
bool done; |
do { |
done = true; |
@@ -437,13 +438,13 @@ void FramebufferManager::FramebufferInfo::UnbindTexture( |
} while (!done); |
} |
-FramebufferManager::FramebufferInfo* FramebufferManager::GetFramebufferInfo( |
+Framebuffer* FramebufferManager::GetFramebuffer( |
GLuint client_id) { |
FramebufferInfoMap::iterator it = framebuffer_infos_.find(client_id); |
return it != framebuffer_infos_.end() ? it->second : NULL; |
} |
-void FramebufferManager::RemoveFramebufferInfo(GLuint client_id) { |
+void FramebufferManager::RemoveFramebuffer(GLuint client_id) { |
FramebufferInfoMap::iterator it = framebuffer_infos_.find(client_id); |
if (it != framebuffer_infos_.end()) { |
it->second->MarkAsDeleted(); |
@@ -451,8 +452,8 @@ void FramebufferManager::RemoveFramebufferInfo(GLuint client_id) { |
} |
} |
-void FramebufferManager::FramebufferInfo::AttachRenderbuffer( |
- GLenum attachment, RenderbufferManager::RenderbufferInfo* renderbuffer) { |
+void Framebuffer::AttachRenderbuffer( |
+ GLenum attachment, Renderbuffer* renderbuffer) { |
DCHECK(attachment == GL_COLOR_ATTACHMENT0 || |
attachment == GL_DEPTH_ATTACHMENT || |
attachment == GL_STENCIL_ATTACHMENT || |
@@ -461,7 +462,7 @@ void FramebufferManager::FramebufferInfo::AttachRenderbuffer( |
if (a) |
a->DetachFromFramebuffer(); |
if (renderbuffer) { |
- attachments_[attachment] = Attachment::Ref( |
+ attachments_[attachment] = scoped_refptr<Attachment>( |
new RenderbufferAttachment(renderbuffer)); |
} else { |
attachments_.erase(attachment); |
@@ -469,8 +470,8 @@ void FramebufferManager::FramebufferInfo::AttachRenderbuffer( |
framebuffer_complete_state_count_id_ = 0; |
} |
-void FramebufferManager::FramebufferInfo::AttachTexture( |
- GLenum attachment, TextureManager::TextureInfo* texture, GLenum target, |
+void Framebuffer::AttachTexture( |
+ GLenum attachment, Texture* texture, GLenum target, |
GLint level) { |
DCHECK(attachment == GL_COLOR_ATTACHMENT0 || |
attachment == GL_DEPTH_ATTACHMENT || |
@@ -480,7 +481,7 @@ void FramebufferManager::FramebufferInfo::AttachTexture( |
if (a) |
a->DetachFromFramebuffer(); |
if (texture) { |
- attachments_[attachment] = Attachment::Ref( |
+ attachments_[attachment] = scoped_refptr<Attachment>( |
new TextureAttachment(texture, target, level)); |
texture->AttachToFramebuffer(); |
} else { |
@@ -489,8 +490,8 @@ void FramebufferManager::FramebufferInfo::AttachTexture( |
framebuffer_complete_state_count_id_ = 0; |
} |
-const FramebufferManager::FramebufferInfo::Attachment* |
- FramebufferManager::FramebufferInfo::GetAttachment( |
+const Framebuffer::Attachment* |
+ Framebuffer::GetAttachment( |
GLenum attachment) const { |
AttachmentMap::const_iterator it = attachments_.find(attachment); |
if (it != attachments_.end()) { |
@@ -513,7 +514,7 @@ bool FramebufferManager::GetClientId( |
} |
void FramebufferManager::MarkAttachmentsAsCleared( |
- FramebufferManager::FramebufferInfo* framebuffer, |
+ Framebuffer* framebuffer, |
RenderbufferManager* renderbuffer_manager, |
TextureManager* texture_manager) { |
DCHECK(framebuffer); |
@@ -524,13 +525,13 @@ void FramebufferManager::MarkAttachmentsAsCleared( |
} |
void FramebufferManager::MarkAsComplete( |
- FramebufferManager::FramebufferInfo* framebuffer) { |
+ Framebuffer* framebuffer) { |
DCHECK(framebuffer); |
framebuffer->MarkAsComplete(framebuffer_state_change_count_); |
} |
bool FramebufferManager::IsComplete( |
- FramebufferManager::FramebufferInfo* framebuffer) { |
+ Framebuffer* framebuffer) { |
DCHECK(framebuffer); |
return framebuffer->framebuffer_complete_state_count_id() == |
framebuffer_state_change_count_; |