Hash :
930b2641
Author :
Date :
2020-03-23T14:47:03
Allow tests to run on native EGL. Adds support for Linux and Android native EGL testing. This can be useful for doing performance comparisons of ANGLE vs a native GL driver. Only enabled for the trace perf tests due to limitations in the test harness. Bug: angleproject:4596 Change-Id: Iba6d3ccd7c1275cf095893fab824a0ea33dc3a79 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2116254 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 54
//
// 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,
angle::GLESDriverType driverType,
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_