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 f118eaa4cbae6c6e033f8d87145069a3f043e0b4..a1fd095bc07e3058885c87291ee46b9b936d79ca 100644 |
--- a/content/common/gpu/texture_image_transport_surface.cc |
+++ b/content/common/gpu/texture_image_transport_surface.cc |
@@ -8,6 +8,7 @@ |
#include <vector> |
#include "base/command_line.h" |
+#include "content/common/gpu/gl_scoped_binders.h" |
#include "content/common/gpu/gpu_channel.h" |
#include "content/common/gpu/gpu_channel_manager.h" |
#include "content/common/gpu/gpu_messages.h" |
@@ -21,40 +22,6 @@ using gpu::gles2::ContextGroup; |
using gpu::gles2::TextureManager; |
typedef TextureManager::TextureInfo TextureInfo; |
-namespace { |
- |
-class ScopedFrameBufferBinder { |
- public: |
- explicit ScopedFrameBufferBinder(unsigned int fbo) { |
- glGetIntegerv(GL_FRAMEBUFFER_BINDING, &old_fbo_); |
- glBindFramebufferEXT(GL_FRAMEBUFFER, fbo); |
- } |
- |
- ~ScopedFrameBufferBinder() { |
- glBindFramebufferEXT(GL_FRAMEBUFFER, old_fbo_); |
- } |
- |
- private: |
- int old_fbo_; |
-}; |
- |
-class ScopedTextureBinder { |
- public: |
- explicit ScopedTextureBinder(unsigned int id) { |
- glGetIntegerv(GL_TEXTURE_BINDING_2D, &old_id_); |
- glBindTexture(GL_TEXTURE_2D, id); |
- } |
- |
- ~ScopedTextureBinder() { |
- glBindTexture(GL_TEXTURE_2D, old_id_); |
- } |
- |
- private: |
- int old_id_; |
-}; |
- |
-} // anonymous namespace |
- |
TextureImageTransportSurface::Texture::Texture() |
: client_id(0), |
sent_to_client(false) { |
@@ -288,13 +255,13 @@ bool TextureImageTransportSurface::PostSubBuffer( |
std::vector<gfx::Rect> regions_to_copy; |
GetRegionsToCopy(previous_damage_rect_, new_damage_rect, ®ions_to_copy); |
- ScopedFrameBufferBinder fbo_binder(fbo_id_); |
+ gfx::ScopedFrameBufferBinder fbo_binder(fbo_id_); |
glFramebufferTexture2DEXT(GL_FRAMEBUFFER, |
GL_COLOR_ATTACHMENT0, |
GL_TEXTURE_2D, |
front_texture_service_id, |
0); |
- ScopedTextureBinder texture_binder(back_texture_service_id); |
+ gfx::ScopedTextureBinder texture_binder(back_texture_service_id); |
for (size_t i = 0; i < regions_to_copy.size(); ++i) { |
const gfx::Rect& region_to_copy = regions_to_copy[i]; |
@@ -392,7 +359,7 @@ void TextureImageTransportSurface::ReleaseBackTexture() { |
info->SetServiceId(0); |
{ |
- ScopedFrameBufferBinder fbo_binder(fbo_id_); |
+ gfx::ScopedFrameBufferBinder fbo_binder(fbo_id_); |
glDeleteTextures(1, &service_id); |
} |
glFlush(); |
@@ -435,7 +402,7 @@ void TextureImageTransportSurface::CreateBackTexture(const gfx::Size& size) { |
} |
{ |
- ScopedTextureBinder texture_binder(service_id); |
+ gfx::ScopedTextureBinder texture_binder(service_id); |
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); |
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); |
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); |
@@ -461,7 +428,7 @@ void TextureImageTransportSurface::AttachBackTextureToFBO() { |
return; |
DCHECK(textures_[back()].info); |
- ScopedFrameBufferBinder fbo_binder(fbo_id_); |
+ gfx::ScopedFrameBufferBinder fbo_binder(fbo_id_); |
glFramebufferTexture2DEXT(GL_FRAMEBUFFER, |
GL_COLOR_ATTACHMENT0, |
GL_TEXTURE_2D, |