Hash :
3089f92e
Author :
Date :
2019-05-01T15:11:46
Move EGL Display config into EGLPlatformParameters. This CL moves all of the EGLDisplay configuration into an EGL platform struct. Consolidating display configuration in the struct allows us to move configuration out of the test constructor. Then when we filter test configs we don't need to wait for the individual test setup. Bug: angleproject:3393 Change-Id: I5bd06dcdc9f2867ebc43c1d4984077ada35cafc8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574674 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@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 42 43 44 45 46 47 48 49 50 51 52 53
//
// Copyright 2018 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.
//
// WGLWindow:
// Implements initializing a WGL rendering context.
//
#ifndef UTIL_WINDOWS_WGLWINDOW_H_
#define UTIL_WINDOWS_WGLWINDOW_H_
#include "common/angleutils.h"
#include "export.h"
#include "util/EGLWindow.h"
class OSWindow;
namespace angle
{
class Library;
} // namespace angle
class ANGLE_UTIL_EXPORT WGLWindow : public GLWindowBase
{
public:
static WGLWindow *New(int glesMajorVersion, int glesMinorVersion);
static void Delete(WGLWindow **window);
// Internally initializes GL resources.
bool initializeGL(OSWindow *osWindow,
angle::Library *glWindowingLibrary,
const EGLPlatformParameters &platformParams,
const ConfigParameters &configParams) override;
void destroyGL() override;
bool isGLInitialized() const override;
bool makeCurrent() override;
void swap() override;
bool hasError() const override;
bool setSwapInterval(EGLint swapInterval) override;
private:
WGLWindow(int glesMajorVersion, int glesMinorVersion);
~WGLWindow() override;
// OS resources.
HDC mDeviceContext;
HGLRC mWGLContext;
HWND mWindow;
};
#endif // UTIL_WINDOWS_WGLWINDOW_H_