#ifndef LIBANGLE_FRAMEBUFFERATTACHMENT_H_
#define LIBANGLE_FRAMEBUFFERATTACHMENT_H_
#include "angle_gl.h"
#include "common/angleutils.h"
#include "libANGLE/Error.h"
#include "libANGLE/ImageIndex.h"
#include "libANGLE/Observer.h"
#include "libANGLE/angletypes.h"
#include "libANGLE/formatutils.h"
#include "libANGLE/renderer/FramebufferAttachmentObjectImpl.h"
namespace egl
{
class Surface;
}
namespace rx
{
class FramebufferAttachmentRenderTarget : angle::NonCopyable
{ … };
class FramebufferAttachmentObjectImpl;
}
namespace gl
{
class FramebufferAttachmentObject;
class Renderbuffer;
class Texture;
class FramebufferAttachment final
{ … };
class FramebufferAttachmentObject : public angle::Subject, public angle::ObserverInterface
{ … };
inline const ImageIndex &FramebufferAttachment::getTextureImageIndex() const
{ … }
inline Extents FramebufferAttachment::getSize() const
{ … }
inline Format FramebufferAttachment::getFormat() const
{ … }
inline GLsizei FramebufferAttachment::getSamples() const
{ … }
inline GLsizei FramebufferAttachment::getResourceSamples() const
{ … }
inline angle::Result FramebufferAttachment::getRenderTargetImpl(
const Context *context,
GLsizei samples,
rx::FramebufferAttachmentRenderTarget **rtOut) const
{ … }
inline bool FramebufferAttachment::isRenderable(const Context *context) const
{ … }
inline bool FramebufferAttachment::isYUV() const
{ … }
inline bool FramebufferAttachment::isExternalImageWithoutIndividualSync() const
{ … }
inline bool FramebufferAttachment::hasFrontBufferUsage() const
{ … }
inline bool FramebufferAttachment::hasFoveatedRendering() const
{ … }
inline const gl::FoveationState *FramebufferAttachment::getFoveationState() const
{ … }
}
#endif