summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libANGLE/Surface.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/Surface.h')
-rw-r--r--src/3rdparty/angle/src/libANGLE/Surface.h238
1 files changed, 0 insertions, 238 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/Surface.h b/src/3rdparty/angle/src/libANGLE/Surface.h
deleted file mode 100644
index b3188ff909..0000000000
--- a/src/3rdparty/angle/src/libANGLE/Surface.h
+++ /dev/null
@@ -1,238 +0,0 @@
-//
-// Copyright (c) 2002-2014 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-// Surface.h: Defines the egl::Surface class, representing a drawing surface
-// such as the client area of a window, including any back buffers.
-// Implements EGLSurface and related functionality. [EGL 1.4] section 2.2 page 3.
-
-#ifndef LIBANGLE_SURFACE_H_
-#define LIBANGLE_SURFACE_H_
-
-#include <EGL/egl.h>
-
-#include "common/angleutils.h"
-#include "libANGLE/AttributeMap.h"
-#include "libANGLE/Error.h"
-#include "libANGLE/FramebufferAttachment.h"
-#include "libANGLE/RefCountObject.h"
-#include "libANGLE/formatutils.h"
-#include "libANGLE/renderer/SurfaceImpl.h"
-
-namespace gl
-{
-class Framebuffer;
-class Texture;
-}
-
-namespace rx
-{
-class EGLImplFactory;
-}
-
-namespace egl
-{
-class Display;
-struct Config;
-
-struct SurfaceState final : private angle::NonCopyable
-{
- SurfaceState(const egl::Config *configIn, const AttributeMap &attributesIn);
-
- gl::Framebuffer *defaultFramebuffer;
- const egl::Config *config;
- AttributeMap attributes;
-};
-
-class Surface : public gl::FramebufferAttachmentObject
-{
- public:
- rx::SurfaceImpl *getImplementation() const { return mImplementation; }
-
- EGLint getType() const;
-
- Error initialize(const Display *display);
- Error swap(const gl::Context *context);
- Error swapWithDamage(const gl::Context *context, EGLint *rects, EGLint n_rects);
- Error postSubBuffer(const gl::Context *context,
- EGLint x,
- EGLint y,
- EGLint width,
- EGLint height);
- Error querySurfacePointerANGLE(EGLint attribute, void **value);
- Error bindTexImage(const gl::Context *context, gl::Texture *texture, EGLint buffer);
- Error releaseTexImage(const gl::Context *context, EGLint buffer);
-
- Error getSyncValues(EGLuint64KHR *ust, EGLuint64KHR *msc, EGLuint64KHR *sbc);
-
- EGLint isPostSubBufferSupported() const;
-
- void setSwapInterval(EGLint interval);
- Error setIsCurrent(const gl::Context *context, bool isCurrent);
- Error onDestroy(const Display *display);
-
- void setMipmapLevel(EGLint level);
- void setMultisampleResolve(EGLenum resolve);
- void setSwapBehavior(EGLenum behavior);
-
- const Config *getConfig() const;
-
- // width and height can change with client window resizing
- EGLint getWidth() const;
- EGLint getHeight() const;
- EGLint getPixelAspectRatio() const;
- EGLenum getRenderBuffer() const;
- EGLenum getSwapBehavior() const;
- EGLenum getTextureFormat() const;
- EGLenum getTextureTarget() const;
- bool getLargestPbuffer() const;
- EGLenum getGLColorspace() const;
- EGLenum getVGAlphaFormat() const;
- EGLenum getVGColorspace() const;
- bool getMipmapTexture() const;
- EGLint getMipmapLevel() const;
- EGLint getHorizontalResolution() const;
- EGLint getVerticalResolution() const;
- EGLenum getMultisampleResolve() const;
-
- gl::Texture *getBoundTexture() const { return mTexture.get(); }
- gl::Framebuffer *getDefaultFramebuffer() { return mState.defaultFramebuffer; }
-
- EGLint isFixedSize() const;
-
- // FramebufferAttachmentObject implementation
- gl::Extents getAttachmentSize(const gl::ImageIndex &imageIndex) const override;
- const gl::Format &getAttachmentFormat(GLenum binding,
- const gl::ImageIndex &imageIndex) const override;
- GLsizei getAttachmentSamples(const gl::ImageIndex &imageIndex) const override;
-
- void onAttach(const gl::Context *context) override {}
- void onDetach(const gl::Context *context) override {}
- GLuint getId() const override;
-
- bool flexibleSurfaceCompatibilityRequested() const
- {
- return mFlexibleSurfaceCompatibilityRequested;
- }
- EGLint getOrientation() const { return mOrientation; }
-
- bool directComposition() const { return mDirectComposition; }
-
- gl::InitState initState(const gl::ImageIndex &imageIndex) const override;
- void setInitState(const gl::ImageIndex &imageIndex, gl::InitState initState) override;
-
- bool isRobustResourceInitEnabled() const { return mRobustResourceInitialization; }
-
- protected:
- Surface(EGLint surfaceType, const egl::Config *config, const AttributeMap &attributes);
- ~Surface() override;
- rx::FramebufferAttachmentObjectImpl *getAttachmentImpl() const override;
-
- gl::Framebuffer *createDefaultFramebuffer(const Display *display);
-
- // ANGLE-only method, used internally
- friend class gl::Texture;
- void releaseTexImageFromTexture(const gl::Context *context);
-
- SurfaceState mState;
- rx::SurfaceImpl *mImplementation;
- int mCurrentCount;
- bool mDestroyed;
-
- EGLint mType;
-
- bool mPostSubBufferRequested;
- bool mFlexibleSurfaceCompatibilityRequested;
-
- bool mLargestPbuffer;
- EGLenum mGLColorspace;
- EGLenum mVGAlphaFormat;
- EGLenum mVGColorspace;
- bool mMipmapTexture;
- EGLint mMipmapLevel;
- EGLint mHorizontalResolution;
- EGLint mVerticalResolution;
- EGLenum mMultisampleResolve;
-
- bool mFixedSize;
- size_t mFixedWidth;
- size_t mFixedHeight;
-
- bool mDirectComposition;
-
- bool mRobustResourceInitialization;
-
- EGLenum mTextureFormat;
- EGLenum mTextureTarget;
-
- EGLint mPixelAspectRatio; // Display aspect ratio
- EGLenum mRenderBuffer; // Render buffer
- EGLenum mSwapBehavior; // Buffer swap behavior
-
- EGLint mOrientation;
-
- gl::BindingPointer<gl::Texture> mTexture;
-
- gl::Format mBackFormat;
- gl::Format mDSFormat;
-
- private:
- Error destroyImpl(const Display *display);
-};
-
-class WindowSurface final : public Surface
-{
- public:
- WindowSurface(rx::EGLImplFactory *implFactory,
- const Config *config,
- EGLNativeWindowType window,
- const AttributeMap &attribs);
- ~WindowSurface() override;
-};
-
-class PbufferSurface final : public Surface
-{
- public:
- PbufferSurface(rx::EGLImplFactory *implFactory,
- const Config *config,
- const AttributeMap &attribs);
- PbufferSurface(rx::EGLImplFactory *implFactory,
- const Config *config,
- EGLenum buftype,
- EGLClientBuffer clientBuffer,
- const AttributeMap &attribs);
-
- protected:
- ~PbufferSurface() override;
-};
-
-class PixmapSurface final : public Surface
-{
- public:
- PixmapSurface(rx::EGLImplFactory *implFactory,
- const Config *config,
- NativePixmapType nativePixmap,
- const AttributeMap &attribs);
-
- protected:
- ~PixmapSurface() override;
-};
-
-class SurfaceDeleter final
-{
- public:
- SurfaceDeleter(const Display *display);
- ~SurfaceDeleter();
- void operator()(Surface *surface);
-
- private:
- const Display *mDisplay;
-};
-
-using SurfacePointer = angle::UniqueObjectPointerBase<Surface, SurfaceDeleter>;
-
-} // namespace egl
-
-#endif // LIBANGLE_SURFACE_H_