diff options
Diffstat (limited to 'gfx/angle/src/libANGLE/renderer/null/SurfaceNULL.h')
-rw-r--r-- | gfx/angle/src/libANGLE/renderer/null/SurfaceNULL.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gfx/angle/src/libANGLE/renderer/null/SurfaceNULL.h b/gfx/angle/src/libANGLE/renderer/null/SurfaceNULL.h new file mode 100644 index 000000000..597f1c21c --- /dev/null +++ b/gfx/angle/src/libANGLE/renderer/null/SurfaceNULL.h @@ -0,0 +1,46 @@ +// +// 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. +// +// SurfaceNULL.h: +// Defines the class interface for SurfaceNULL, implementing SurfaceImpl. +// + +#ifndef LIBANGLE_RENDERER_NULL_SURFACENULL_H_ +#define LIBANGLE_RENDERER_NULL_SURFACENULL_H_ + +#include "libANGLE/renderer/SurfaceImpl.h" + +namespace rx +{ + +class SurfaceNULL : public SurfaceImpl +{ + public: + SurfaceNULL(const egl::SurfaceState &surfaceState); + ~SurfaceNULL() override; + + egl::Error initialize() override; + FramebufferImpl *createDefaultFramebuffer(const gl::FramebufferState &state) override; + egl::Error swap() override; + egl::Error postSubBuffer(EGLint x, EGLint y, EGLint width, EGLint height) override; + egl::Error querySurfacePointerANGLE(EGLint attribute, void **value) override; + egl::Error bindTexImage(gl::Texture *texture, EGLint buffer) override; + egl::Error releaseTexImage(EGLint buffer) override; + void setSwapInterval(EGLint interval) override; + + // width and height can change with client window resizing + EGLint getWidth() const override; + EGLint getHeight() const override; + + EGLint isPostSubBufferSupported() const override; + EGLint getSwapBehavior() const override; + + gl::Error getAttachmentRenderTarget(const gl::FramebufferAttachment::Target &target, + FramebufferAttachmentRenderTarget **rtOut) override; +}; + +} // namespace rx + +#endif // LIBANGLE_RENDERER_NULL_SURFACENULL_H_ |