// // 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. // // FramebufferNULL.h: // Defines the class interface for FramebufferNULL, implementing FramebufferImpl. // #ifndef LIBANGLE_RENDERER_NULL_FRAMEBUFFERNULL_H_ #define LIBANGLE_RENDERER_NULL_FRAMEBUFFERNULL_H_ #include "libANGLE/renderer/FramebufferImpl.h" namespace rx { class FramebufferNULL : public FramebufferImpl { public: FramebufferNULL(const gl::FramebufferState &state); ~FramebufferNULL() override; angle::Result discard(const gl::Context *context, size_t count, const GLenum *attachments) override; angle::Result invalidate(const gl::Context *context, size_t count, const GLenum *attachments) override; angle::Result invalidateSub(const gl::Context *context, size_t count, const GLenum *attachments, const gl::Rectangle &area) override; angle::Result clear(const gl::Context *context, GLbitfield mask) override; angle::Result clearBufferfv(const gl::Context *context, GLenum buffer, GLint drawbuffer, const GLfloat *values) override; angle::Result clearBufferuiv(const gl::Context *context, GLenum buffer, GLint drawbuffer, const GLuint *values) override; angle::Result clearBufferiv(const gl::Context *context, GLenum buffer, GLint drawbuffer, const GLint *values) override; angle::Result clearBufferfi(const gl::Context *context, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) override; angle::Result readPixels(const gl::Context *context, const gl::Rectangle &area, GLenum format, GLenum type, const gl::PixelPackState &pack, gl::Buffer *packBuffer, void *pixels) override; angle::Result blit(const gl::Context *context, const gl::Rectangle &sourceArea, const gl::Rectangle &destArea, GLbitfield mask, GLenum filter) override; gl::FramebufferStatus checkStatus(const gl::Context *context) const override; angle::Result syncState(const gl::Context *context, GLenum binding, const gl::Framebuffer::DirtyBits &dirtyBits, gl::Command command) override; angle::Result getSamplePosition(const gl::Context *context, size_t index, GLfloat *xy) const override; }; } // namespace rx #endif // LIBANGLE_RENDERER_NULL_FRAMEBUFFERNULL_H_