X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fgpu%2Fcommand_buffer%2Fservice%2Ftexture_definition.cc;h=08af4aacb0253b2ec3f1a23dff4730c840d7e237;hb=3545e9f2671f595d2a2f3ee75ca0393b01e35ef6;hp=99590595e929d406e3bb247cfbc8652ddcbdc22f;hpb=7d210d4c7e9ba36e635eabc5b5780495f8a63292;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/gpu/command_buffer/service/texture_definition.cc b/src/gpu/command_buffer/service/texture_definition.cc index 9959059..08af4aa 100644 --- a/src/gpu/command_buffer/service/texture_definition.cc +++ b/src/gpu/command_buffer/service/texture_definition.cc @@ -34,6 +34,7 @@ class GLImageSync : public gfx::GLImage { virtual gfx::Size GetSize() OVERRIDE; virtual bool BindTexImage(unsigned target) OVERRIDE; virtual void ReleaseTexImage(unsigned target) OVERRIDE; + virtual bool CopyTexImage(unsigned target) OVERRIDE; virtual void WillUseTexImage() OVERRIDE; virtual void WillModifyTexImage() OVERRIDE; virtual void DidModifyTexImage() OVERRIDE; @@ -58,12 +59,12 @@ class GLImageSync : public gfx::GLImage { GLImageSync::GLImageSync(const scoped_refptr& buffer, const gfx::Size& size) : buffer_(buffer), size_(size) { - if (buffer) + if (buffer.get()) buffer->AddClient(this); } GLImageSync::~GLImageSync() { - if (buffer_) + if (buffer_.get()) buffer_->RemoveClient(this); } @@ -83,23 +84,27 @@ void GLImageSync::ReleaseTexImage(unsigned target) { NOTREACHED(); } +bool GLImageSync::CopyTexImage(unsigned target) { + return false; +} + void GLImageSync::WillUseTexImage() { - if (buffer_) + if (buffer_.get()) buffer_->WillRead(this); } void GLImageSync::DidUseTexImage() { - if (buffer_) + if (buffer_.get()) buffer_->DidRead(this); } void GLImageSync::WillModifyTexImage() { - if (buffer_) + if (buffer_.get()) buffer_->WillWrite(this); } void GLImageSync::DidModifyTexImage() { - if (buffer_) + if (buffer_.get()) buffer_->DidWrite(this); } @@ -364,15 +369,15 @@ TextureDefinition::TextureDefinition( const scoped_refptr& image_buffer) : version_(version), target_(target), - image_buffer_(image_buffer ? image_buffer : NativeImageBuffer::Create( - texture->service_id())), + image_buffer_(image_buffer.get() + ? image_buffer + : NativeImageBuffer::Create(texture->service_id())), min_filter_(texture->min_filter()), mag_filter_(texture->mag_filter()), wrap_s_(texture->wrap_s()), wrap_t_(texture->wrap_t()), usage_(texture->usage()), immutable_(texture->IsImmutable()) { - // TODO DCHECK(!texture->level_infos_.empty()); DCHECK(!texture->level_infos_[0].empty()); @@ -384,7 +389,7 @@ TextureDefinition::TextureDefinition( new GLImageSync(image_buffer_, gfx::Size(texture->level_infos_[0][0].width, texture->level_infos_[0][0].height))); - texture->SetLevelImage(NULL, target, 0, gl_image); + texture->SetLevelImage(NULL, target, 0, gl_image.get()); // TODO: all levels level_infos_.clear(); @@ -407,7 +412,7 @@ TextureDefinition::~TextureDefinition() { } Texture* TextureDefinition::CreateTexture() const { - if (!image_buffer_) + if (!image_buffer_.get()) return NULL; GLuint texture_id; @@ -425,7 +430,7 @@ void TextureDefinition::UpdateTexture(Texture* texture) const { glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, mag_filter_); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, wrap_s_); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, wrap_t_); - if (image_buffer_) + if (image_buffer_.get()) image_buffer_->BindToTexture(target_); // We have to make sure the changes are visible to other clients in this share // group. As far as the clients are concerned, the mailbox semantics only @@ -457,7 +462,7 @@ void TextureDefinition::UpdateTexture(Texture* texture) const { info.cleared); } } - if (image_buffer_) { + if (image_buffer_.get()) { texture->SetLevelImage( NULL, target_, @@ -486,7 +491,7 @@ bool TextureDefinition::Matches(const Texture* texture) const { } // All structural changes should have orphaned the texture. - if (image_buffer_ && !texture->GetLevelImage(texture->target(), 0)) + if (image_buffer_.get() && !texture->GetLevelImage(texture->target(), 0)) return false; return true;