| Index: content/common/gpu/texture_image_transport_surface.h
|
| diff --git a/content/common/gpu/texture_image_transport_surface.h b/content/common/gpu/texture_image_transport_surface.h
|
| index 9ab9abca3e53bfe8c4bd80307c3456b41b6f8785..0227faf0bac8fdb88b36d7c206088150c6842c67 100644
|
| --- a/content/common/gpu/texture_image_transport_surface.h
|
| +++ b/content/common/gpu/texture_image_transport_surface.h
|
| @@ -12,7 +12,6 @@
|
| #include "content/common/gpu/gpu_command_buffer_stub.h"
|
| #include "content/common/gpu/image_transport_surface.h"
|
| #include "gpu/command_buffer/service/mailbox_manager.h"
|
| -#include "gpu/command_buffer/service/texture_definition.h"
|
| #include "gpu/command_buffer/service/texture_manager.h"
|
| #include "ui/gl/gl_context.h"
|
| #include "ui/gl/gl_surface.h"
|
| @@ -33,7 +32,6 @@ class TextureImageTransportSurface
|
| virtual bool Initialize() OVERRIDE;
|
| virtual void Destroy() OVERRIDE;
|
| virtual bool DeferDraws() OVERRIDE;
|
| - virtual bool Resize(const gfx::Size& size) OVERRIDE;
|
| virtual bool IsOffscreen() OVERRIDE;
|
| virtual bool SwapBuffers() OVERRIDE;
|
| virtual gfx::Size GetSize() OVERRIDE;
|
| @@ -42,7 +40,6 @@ class TextureImageTransportSurface
|
| virtual std::string GetExtensions() OVERRIDE;
|
| virtual unsigned int GetBackingFrameBufferObject() OVERRIDE;
|
| virtual bool PostSubBuffer(int x, int y, int width, int height) OVERRIDE;
|
| - virtual bool OnMakeCurrent(gfx::GLContext* context) OVERRIDE;
|
| virtual bool SetBackbufferAllocation(bool allocated) OVERRIDE;
|
| virtual void SetFrontbufferAllocation(bool allocated) OVERRIDE;
|
| virtual void* GetShareHandle() OVERRIDE;
|
| @@ -64,31 +61,32 @@ class TextureImageTransportSurface
|
| private:
|
|
|
| gfx::Size backbuffer_size() const {
|
| - return gfx::Size(backbuffer_->level_infos()[0][0].width,
|
| - backbuffer_->level_infos()[0][0].height);
|
| + DCHECK(backbuffer_);
|
| + GLsizei width = 0;
|
| + GLsizei height = 0;
|
| + backbuffer_->texture()->GetLevelSize(GL_TEXTURE_2D, 0, &width, &height);
|
| + return gfx::Size(width, height);
|
| }
|
|
|
| virtual ~TextureImageTransportSurface();
|
| void CreateBackTexture();
|
| void AttachBackTextureToFBO();
|
| void ReleaseBackTexture();
|
| + void ReleaseFrontTexture();
|
| void BufferPresentedImpl(const std::string& mailbox_name);
|
| - void ProduceTexture();
|
| - void ConsumeTexture();
|
| -
|
| - static gpu::gles2::TextureDefinition* CreateTextureDefinition(gfx::Size size,
|
| - int service_id);
|
|
|
| // The framebuffer that represents this surface (service id). Allocated lazily
|
| // in OnMakeCurrent.
|
| uint32 fbo_id_;
|
|
|
| // The current backbuffer.
|
| - scoped_ptr<gpu::gles2::TextureDefinition> backbuffer_;
|
| + scoped_refptr<gpu::gles2::TextureRef> backbuffer_;
|
| + scoped_refptr<gpu::gles2::TextureRef> frontbuffer_;
|
|
|
| // The mailbox name for the current backbuffer texture. Needs to be unique per
|
| // GL texture and is invalid while service_id is zero.
|
| - gpu::gles2::MailboxName mailbox_name_;
|
| + gpu::gles2::MailboxName back_mailbox_name_;
|
| + gpu::gles2::MailboxName front_mailbox_name_;
|
|
|
| // The current size of the GLSurface. Used to disambiguate from the current
|
| // texture size which might be outdated (since we use two buffers).
|
| @@ -107,9 +105,6 @@ class TextureImageTransportSurface
|
| // the actual rendering is always redirected to an FBO.
|
| scoped_refptr<gfx::GLSurface> surface_;
|
|
|
| - // Holds a reference to the underlying context for cleanup.
|
| - scoped_refptr<gfx::GLContext> context_;
|
| -
|
| // Whether a SwapBuffers is pending.
|
| bool is_swap_buffers_pending_;
|
|
|
|
|