blob: 0b5223ae5daae0b5b153b18d4343e7bfe8f0f0f9 [file] [log] [blame]
//
// Copyright 2016 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.
//
// FramebufferAttachmentObjectImpl.h:
// Common ancenstor for all implementations of FBO attachable-objects.
// This means Surfaces, Textures and Renderbuffers.
//
#ifndef LIBANGLE_RENDERER_FRAMEBUFFER_ATTACHMENT_OBJECT_IMPL_H_
#define LIBANGLE_RENDERER_FRAMEBUFFER_ATTACHMENT_OBJECT_IMPL_H_
#include "libANGLE/ImageIndex.h"
#include "libANGLE/Observer.h"
namespace gl
{
class Context;
} // namespace gl
namespace rx
{
class FramebufferAttachmentRenderTarget;
class FramebufferAttachmentObjectImpl : public angle::Subject
{
public:
FramebufferAttachmentObjectImpl() {}
~FramebufferAttachmentObjectImpl() override {}
virtual angle::Result getAttachmentRenderTarget(const gl::Context *context,
GLenum binding,
const gl::ImageIndex &imageIndex,
GLsizei samples,
FramebufferAttachmentRenderTarget **rtOut);
virtual angle::Result initializeContents(const gl::Context *context,
GLenum binding,
const gl::ImageIndex &imageIndex);
};
inline angle::Result FramebufferAttachmentObjectImpl::getAttachmentRenderTarget(
const gl::Context *context,
GLenum binding,
const gl::ImageIndex &imageIndex,
GLsizei samples,
FramebufferAttachmentRenderTarget **rtOut)
{
UNIMPLEMENTED();
return angle::Result::Stop;
}
inline angle::Result FramebufferAttachmentObjectImpl::initializeContents(
const gl::Context *context,
GLenum binding,
const gl::ImageIndex &imageIndex)
{
UNIMPLEMENTED();
return angle::Result::Stop;
}
} // namespace rx
#endif // LIBANGLE_RENDERER_FRAMEBUFFER_ATTACHMENT_OBJECT_IMPL_H_