Index: content/common/gpu/texture_image_transport_surface.cc |
diff --git a/content/common/gpu/texture_image_transport_surface.cc b/content/common/gpu/texture_image_transport_surface.cc |
index f3d69c0fb382a528636a2274275a1b4359bd12c8..509298422ce6b25e749c52b2abf6d77c232d3649 100644 |
--- a/content/common/gpu/texture_image_transport_surface.cc |
+++ b/content/common/gpu/texture_image_transport_surface.cc |
@@ -57,7 +57,7 @@ bool TextureImageTransportSurface::Initialize() { |
GpuChannelManager* manager = helper_->manager(); |
surface_ = manager->GetDefaultOffscreenSurface(); |
- if (!surface_) |
+ if (!surface_.get()) |
return false; |
if (!helper_->Initialize()) |
@@ -74,7 +74,7 @@ bool TextureImageTransportSurface::Initialize() { |
} |
void TextureImageTransportSurface::Destroy() { |
- if (surface_) |
+ if (surface_.get()) |
surface_ = NULL; |
helper_->Destroy(); |
@@ -117,7 +117,7 @@ bool TextureImageTransportSurface::SetBackbufferAllocation(bool allocation) { |
backbuffer_suggested_allocation_ = allocation; |
if (backbuffer_suggested_allocation_) { |
- DCHECK(!backbuffer_); |
+ DCHECK(!backbuffer_.get()); |
CreateBackTexture(); |
} else { |
ReleaseBackTexture(); |
@@ -194,7 +194,7 @@ bool TextureImageTransportSurface::SwapBuffers() { |
if (!frontbuffer_suggested_allocation_) |
return true; |
- if (!backbuffer_) { |
+ if (!backbuffer_.get()) { |
LOG(ERROR) << "Swap without valid backing."; |
return true; |
} |
@@ -230,7 +230,7 @@ bool TextureImageTransportSurface::PostSubBuffer( |
if (new_damage_rect.IsEmpty()) |
return true; |
- if (!backbuffer_) { |
+ if (!backbuffer_.get()) { |
LOG(ERROR) << "Swap without valid backing."; |
return true; |
} |
@@ -297,7 +297,7 @@ void TextureImageTransportSurface::BufferPresentedImpl( |
// We should not have allowed the backbuffer to be discarded while the ack |
// was pending. |
DCHECK(backbuffer_suggested_allocation_); |
- DCHECK(backbuffer_); |
+ DCHECK(backbuffer_.get()); |
bool swap = true; |
if (!mailbox_name.empty()) { |
@@ -319,9 +319,9 @@ void TextureImageTransportSurface::BufferPresentedImpl( |
// finished with its context when it inserts the sync point that |
// triggers this callback. |
if (helper_->MakeCurrent()) { |
- if (frontbuffer_ && !frontbuffer_suggested_allocation_) |
+ if (frontbuffer_.get() && !frontbuffer_suggested_allocation_) |
ReleaseFrontTexture(); |
- if (!backbuffer_ || backbuffer_size() != current_size_) |
+ if (!backbuffer_.get() || backbuffer_size() != current_size_) |
CreateBackTexture(); |
else |
AttachBackTextureToFBO(); |
@@ -363,7 +363,7 @@ void TextureImageTransportSurface::CreateBackTexture() { |
// in the mailbox, so we shouldn't be reallocating it now. |
DCHECK(!is_swap_buffers_pending_); |
- if (backbuffer_ && backbuffer_size() == current_size_) |
+ if (backbuffer_.get() && backbuffer_size() == current_size_) |
return; |
VLOG(1) << "Allocating new backbuffer texture"; |
@@ -372,25 +372,21 @@ void TextureImageTransportSurface::CreateBackTexture() { |
// size, after we allocated it as 1x1. So here we simply delete |
// the previous texture on resize, to insure we don't 'run out of |
// memory'. |
- if (backbuffer_ && |
- helper_->stub() |
- ->decoder() |
- ->GetContextGroup() |
- ->feature_info() |
- ->workarounds() |
- .delete_instead_of_resize_fbo) { |
+ if (backbuffer_.get() && |
+ helper_->stub()->decoder()->GetContextGroup()->feature_info() |
+ ->workarounds().delete_instead_of_resize_fbo) { |
ReleaseBackTexture(); |
} |
GLES2Decoder* decoder = helper_->stub()->decoder(); |
TextureManager* texture_manager = |
decoder->GetContextGroup()->texture_manager(); |
- if (!backbuffer_) { |
+ if (!backbuffer_.get()) { |
mailbox_manager_->GenerateMailboxName(&back_mailbox_name_); |
GLuint service_id; |
glGenTextures(1, &service_id); |
backbuffer_ = TextureRef::Create(texture_manager, 0, service_id); |
- texture_manager->SetTarget(backbuffer_, GL_TEXTURE_2D); |
- Texture* texture = texture_manager->Produce(backbuffer_); |
+ texture_manager->SetTarget(backbuffer_.get(), GL_TEXTURE_2D); |
+ Texture* texture = texture_manager->Produce(backbuffer_.get()); |
bool success = mailbox_manager_->ProduceTexture( |
GL_TEXTURE_2D, back_mailbox_name_, texture); |
DCHECK(success); |
@@ -403,27 +399,38 @@ void TextureImageTransportSurface::CreateBackTexture() { |
current_size_.width(), current_size_.height(), 0, |
GL_RGBA, GL_UNSIGNED_BYTE, NULL); |
gpu::gles2::ErrorState* error_state = decoder->GetErrorState(); |
- texture_manager->SetParameter("Backbuffer", error_state, backbuffer_, |
- GL_TEXTURE_MIN_FILTER, GL_LINEAR); |
- texture_manager->SetParameter("Backbuffer", error_state, backbuffer_, |
- GL_TEXTURE_MAG_FILTER, GL_LINEAR); |
- texture_manager->SetParameter("Backbuffer", error_state, backbuffer_, |
- GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); |
- texture_manager->SetParameter("Backbuffer", error_state, backbuffer_, |
- GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); |
- texture_manager->SetLevelInfo( |
- backbuffer_, |
- GL_TEXTURE_2D, |
- 0, |
- GL_RGBA, |
- current_size_.width(), |
- current_size_.height(), |
- 1, |
- 0, |
- GL_RGBA, |
- GL_UNSIGNED_BYTE, |
- true); |
- DCHECK(texture_manager->CanRender(backbuffer_)); |
+ texture_manager->SetParameter("Backbuffer", |
+ error_state, |
+ backbuffer_.get(), |
+ GL_TEXTURE_MIN_FILTER, |
+ GL_LINEAR); |
+ texture_manager->SetParameter("Backbuffer", |
+ error_state, |
+ backbuffer_.get(), |
+ GL_TEXTURE_MAG_FILTER, |
+ GL_LINEAR); |
+ texture_manager->SetParameter("Backbuffer", |
+ error_state, |
+ backbuffer_.get(), |
+ GL_TEXTURE_WRAP_S, |
+ GL_CLAMP_TO_EDGE); |
+ texture_manager->SetParameter("Backbuffer", |
+ error_state, |
+ backbuffer_.get(), |
+ GL_TEXTURE_WRAP_T, |
+ GL_CLAMP_TO_EDGE); |
+ texture_manager->SetLevelInfo(backbuffer_.get(), |
+ GL_TEXTURE_2D, |
+ 0, |
+ GL_RGBA, |
+ current_size_.width(), |
+ current_size_.height(), |
+ 1, |
+ 0, |
+ GL_RGBA, |
+ GL_UNSIGNED_BYTE, |
+ true); |
+ DCHECK(texture_manager->CanRender(backbuffer_.get())); |
CHECK_GL_ERROR(); |
} |
@@ -432,7 +439,7 @@ void TextureImageTransportSurface::CreateBackTexture() { |
void TextureImageTransportSurface::AttachBackTextureToFBO() { |
DCHECK(helper_->stub()->decoder()->GetGLContext()->IsCurrent(NULL)); |
- DCHECK(backbuffer_); |
+ DCHECK(backbuffer_.get()); |
gfx::ScopedFrameBufferBinder fbo_binder(fbo_id_); |
glFramebufferTexture2DEXT(GL_FRAMEBUFFER, |
GL_COLOR_ATTACHMENT0, |