Hash :
62baf0cf
Author :
Date :
2016-05-19T13:13:36
Add a shared egl::SurfaceState struct. This structure can share GL-level properties (immutably) with the implementation. BUG=angleproject:1369 Change-Id: I1e9406f18b6b88bb7db2a8f87b5e6d547cc7ecb1 Reviewed-on: https://chromium-review.googlesource.com/342061 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
//
// Copyright 2015 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.
//
// SurfaceGL.h: Defines the class interface for SurfaceGL.
#ifndef LIBANGLE_RENDERER_GL_SURFACEGL_H_
#define LIBANGLE_RENDERER_GL_SURFACEGL_H_
#include "libANGLE/renderer/SurfaceImpl.h"
namespace rx
{
class RendererGL;
class SurfaceGL : public SurfaceImpl
{
public:
SurfaceGL(const egl::SurfaceState &state, RendererGL *renderer);
~SurfaceGL() override;
gl::Error getAttachmentRenderTarget(const gl::FramebufferAttachment::Target &target,
FramebufferAttachmentRenderTarget **rtOut) override
{
return gl::Error(GL_OUT_OF_MEMORY, "Not supported on OpenGL");
}
FramebufferImpl *createDefaultFramebuffer(const gl::FramebufferState &data) override;
virtual egl::Error makeCurrent() = 0;
private:
RendererGL *mRenderer;
};
}
#endif // LIBANGLE_RENDERER_GL_SURFACEGL_H_