SampleApplication::SampleApplication(const std::string &name, size_t width, size_t height, EGLint glesMajorVersion, EGLint glesMinorVersion, EGLint requestedRenderer) : mName(name), mWidth(width), mHeight(height), mRunning(false) { mEGLWindow.reset(new EGLWindow(glesMajorVersion, glesMinorVersion, EGLPlatformParameters(requestedRenderer))); mTimer.reset(CreateTimer()); mOSWindow.reset(CreateOSWindow()); mEGLWindow->setConfigRedBits(8); mEGLWindow->setConfigGreenBits(8); mEGLWindow->setConfigBlueBits(8); mEGLWindow->setConfigAlphaBits(8); mEGLWindow->setConfigDepthBits(24); mEGLWindow->setConfigStencilBits(8); // Disable vsync mEGLWindow->setSwapInterval(0); angle::RandomInitFromTime(); }
void ANGLERenderTest::SetUp() { mOSWindow = CreateOSWindow(); mEGLWindow = new EGLWindow(mTestParams.widowWidth, mTestParams.windowHeight, mTestParams.majorVersion, mTestParams.eglParameters); mEGLWindow->setSwapInterval(0); if (!mOSWindow->initialize(mName, mEGLWindow->getWidth(), mEGLWindow->getHeight())) { FAIL() << "Failed initializing OSWindow"; return; } if (!mEGLWindow->initializeGL(mOSWindow)) { FAIL() << "Failed initializing EGLWindow"; return; } initializeBenchmark(); ANGLEPerfTest::SetUp(); }
bool ANGLETest::InitTestWindow() { mOSWindow = CreateOSWindow(); if (!mOSWindow->initialize("ANGLE_TEST", 128, 128)) { return false; } mOSWindow->setVisible(true); return true; }
bool IsPlatformAvailable(const PlatformParameters ¶m) { switch (param.getRenderer()) { case EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE: break; case EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE: #ifndef ANGLE_ENABLE_D3D9 return false; #endif break; case EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE: #ifndef ANGLE_ENABLE_D3D11 return false; #endif break; case EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE: case EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE: #ifndef ANGLE_ENABLE_OPENGL return false; #endif break; default: UNREACHABLE(); break; } static std::map<PlatformParameters, bool> paramAvailabilityCache; auto iter = paramAvailabilityCache.find(param); if (iter != paramAvailabilityCache.end()) { return iter->second; } else { OSWindow *osWindow = CreateOSWindow(); bool result = osWindow->initialize("CONFIG_TESTER", 1, 1); if (result) { EGLWindow *eglWindow = new EGLWindow(1, 1, param.majorVersion, param.eglParameters); result = eglWindow->initializeGL(osWindow); eglWindow->destroyGL(); SafeDelete(eglWindow); } osWindow->destroy(); SafeDelete(osWindow); paramAvailabilityCache[param] = result; if (!result) { std::cout << "Skipping tests using configuration " << param << " because it is not available." << std::endl; } return result; } }