summaryrefslogtreecommitdiff
path: root/gfx/layers/opengl/MacIOSurfaceTextureHostOGL.h
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/layers/opengl/MacIOSurfaceTextureHostOGL.h')
-rw-r--r--gfx/layers/opengl/MacIOSurfaceTextureHostOGL.h114
1 files changed, 0 insertions, 114 deletions
diff --git a/gfx/layers/opengl/MacIOSurfaceTextureHostOGL.h b/gfx/layers/opengl/MacIOSurfaceTextureHostOGL.h
deleted file mode 100644
index 55e2f5019a..0000000000
--- a/gfx/layers/opengl/MacIOSurfaceTextureHostOGL.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#ifndef MOZILLA_GFX_MACIOSURFACETEXTUREHOSTOGL_H
-#define MOZILLA_GFX_MACIOSURFACETEXTUREHOSTOGL_H
-
-#include "mozilla/layers/CompositorOGL.h"
-#include "mozilla/layers/TextureHostOGL.h"
-
-class MacIOSurface;
-
-namespace mozilla {
-namespace layers {
-
-/**
- * A texture source meant for use with MacIOSurfaceTextureHostOGL.
- *
- * It does not own any GL texture, and attaches its shared handle to one of
- * the compositor's temporary textures when binding.
- */
-class MacIOSurfaceTextureSourceOGL : public TextureSource
- , public TextureSourceOGL
-{
-public:
- MacIOSurfaceTextureSourceOGL(CompositorOGL* aCompositor,
- MacIOSurface* aSurface);
- virtual ~MacIOSurfaceTextureSourceOGL();
-
- virtual const char* Name() const override { return "MacIOSurfaceTextureSourceOGL"; }
-
- virtual TextureSourceOGL* AsSourceOGL() override { return this; }
-
- virtual void BindTexture(GLenum activetex,
- gfx::SamplingFilter aSamplingFilter) override;
-
- virtual bool IsValid() const override { return !!gl(); }
-
- virtual gfx::IntSize GetSize() const override;
-
- virtual gfx::SurfaceFormat GetFormat() const override;
-
- virtual GLenum GetTextureTarget() const override { return LOCAL_GL_TEXTURE_RECTANGLE_ARB; }
-
- virtual GLenum GetWrapMode() const override { return LOCAL_GL_CLAMP_TO_EDGE; }
-
- // MacIOSurfaceTextureSourceOGL doesn't own any gl texture
- virtual void DeallocateDeviceData() override {}
-
- virtual void SetCompositor(Compositor* aCompositor) override;
-
- gl::GLContext* gl() const;
-
-protected:
- RefPtr<CompositorOGL> mCompositor;
- RefPtr<MacIOSurface> mSurface;
-};
-
-/**
- * A TextureHost for shared MacIOSurface
- *
- * Most of the logic actually happens in MacIOSurfaceTextureSourceOGL.
- */
-class MacIOSurfaceTextureHostOGL : public TextureHost
-{
-public:
- MacIOSurfaceTextureHostOGL(TextureFlags aFlags,
- const SurfaceDescriptorMacIOSurface& aDescriptor);
- virtual ~MacIOSurfaceTextureHostOGL();
-
- // MacIOSurfaceTextureSourceOGL doesn't own any GL texture
- virtual void DeallocateDeviceData() override {}
-
- virtual void SetCompositor(Compositor* aCompositor) override;
-
- virtual Compositor* GetCompositor() override { return mCompositor; }
-
- virtual bool Lock() override;
-
- virtual gfx::SurfaceFormat GetFormat() const override;
- virtual gfx::SurfaceFormat GetReadFormat() const override;
-
- virtual bool BindTextureSource(CompositableTextureSourceRef& aTexture) override
- {
- aTexture = mTextureSource;
- return !!aTexture;
- }
-
- virtual already_AddRefed<gfx::DataSourceSurface> GetAsSurface() override
- {
- return nullptr; // XXX - implement this (for MOZ_DUMP_PAINTING)
- }
-
- gl::GLContext* gl() const;
-
- virtual gfx::IntSize GetSize() const override;
-
-#ifdef MOZ_LAYERS_HAVE_LOG
- virtual const char* Name() override { return "MacIOSurfaceTextureHostOGL"; }
-#endif
-
-protected:
- GLTextureSource* CreateTextureSourceForPlane(size_t aPlane);
-
- RefPtr<CompositorOGL> mCompositor;
- RefPtr<GLTextureSource> mTextureSource;
- RefPtr<MacIOSurface> mSurface;
-};
-
-} // namespace layers
-} // namespace mozilla
-
-#endif // MOZILLA_GFX_MACIOSURFACETEXTUREHOSTOGL_H