Commit eaaeb7fb by Geoff Lang

Disable support for OpenGL ES targets with WGL on Intel drivers.

BUG=angleproject:1145 Change-Id: I9f3a8926eaad88076026f58922289487f90518c7 Reviewed-on: https://chromium-review.googlesource.com/324270Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Tested-by: 's avatarGeoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
parent 5c896691
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
namespace rx namespace rx
{ {
static VendorID GetVendorID(const FunctionsGL *functions) VendorID GetVendorID(const FunctionsGL *functions)
{ {
std::string nativeVendorString(reinterpret_cast<const char *>(functions->getString(GL_VENDOR))); std::string nativeVendorString(reinterpret_cast<const char *>(functions->getString(GL_VENDOR)));
if (nativeVendorString.find("Intel") != std::string::npos) if (nativeVendorString.find("Intel") != std::string::npos)
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#ifndef LIBANGLE_RENDERER_GL_RENDERERGLUTILS_H_ #ifndef LIBANGLE_RENDERER_GL_RENDERERGLUTILS_H_
#define LIBANGLE_RENDERER_GL_RENDERERGLUTILS_H_ #define LIBANGLE_RENDERER_GL_RENDERERGLUTILS_H_
#include "libANGLE/angletypes.h"
#include "libANGLE/renderer/gl/functionsgl_typedefs.h" #include "libANGLE/renderer/gl/functionsgl_typedefs.h"
#include <string> #include <string>
...@@ -28,6 +29,8 @@ namespace rx ...@@ -28,6 +29,8 @@ namespace rx
class FunctionsGL; class FunctionsGL;
struct WorkaroundsGL; struct WorkaroundsGL;
VendorID GetVendorID(const FunctionsGL *functions);
namespace nativegl_gl namespace nativegl_gl
{ {
......
...@@ -329,6 +329,13 @@ egl::Error DisplayWGL::initialize(egl::Display *display) ...@@ -329,6 +329,13 @@ egl::Error DisplayWGL::initialize(egl::Display *display)
mFunctionsGL = new FunctionsGLWindows(mOpenGLModule, mFunctionsWGL->getProcAddress); mFunctionsGL = new FunctionsGLWindows(mOpenGLModule, mFunctionsWGL->getProcAddress);
mFunctionsGL->initialize(); mFunctionsGL->initialize();
// Intel OpenGL ES drivers are not currently supported due to bugs in the driver and ANGLE
VendorID vendor = GetVendorID(mFunctionsGL);
if (requestedDisplayType == EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE && vendor == VENDOR_ID_INTEL)
{
return egl::Error(EGL_NOT_INITIALIZED, "Intel OpenGL ES drivers are not supported.");
}
// Create DXGI swap chains for windows that come from other processes. Windows is unable to // Create DXGI swap chains for windows that come from other processes. Windows is unable to
// SetPixelFormat on windows from other processes when a sandbox is enabled. // SetPixelFormat on windows from other processes when a sandbox is enabled.
HDC nativeDisplay = display->getNativeDisplayId(); HDC nativeDisplay = display->getNativeDisplayId();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment