blob: c4d38536519c693c27a60f0ee7e70170a45977b3 [file] [log] [blame]
//
// Copyright (c) 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.
//
// WindowSurfaceEGL.h: EGL implementation of egl::Surface for windows
#include "libANGLE/renderer/gl/egl/WindowSurfaceEGL.h"
namespace rx
{
WindowSurfaceEGL::WindowSurfaceEGL(const egl::SurfaceState &state,
const FunctionsEGL *egl,
EGLConfig config,
EGLNativeWindowType window,
const std::vector<EGLint> &attribList,
EGLContext context,
RendererGL *renderer)
: SurfaceEGL(state, egl, config, attribList, context, renderer), mWindow(window)
{
}
WindowSurfaceEGL::~WindowSurfaceEGL()
{
}
egl::Error WindowSurfaceEGL::initialize(const DisplayImpl *displayImpl)
{
mSurface = mEGL->createWindowSurface(mConfig, mWindow, mAttribList.data());
if (mSurface == EGL_NO_SURFACE)
{
return egl::Error(mEGL->getError(), "eglCreateWindowSurface failed");
}
return egl::Error(EGL_SUCCESS);
}
} // namespace rx