Commit 90c9f66c by Corentin Wallez Committed by Commit Bot

Revert "Provide default implementation of rx::DisplayEGL"

This reverts commit 123fd970. Reason for revert: Causes GL creation failure on Linux FYI Ozone (Intel) Original change's description: > Provide default implementation of rx::DisplayEGL > > Will allow to use EGL instead of GLX on X11. > > Meant to be used on modern EGL so it requires the extensions > EGL_KHR_no_config_context and EGL_KHR_surfaceless_context. > This keeps the default implementation simple (no pBuffer > fallback) > > Also provide simple WorkerContextEGL. > > Bug: angleproject:4328 > Change-Id: I92a1ded9e09e65de8bb83710274e0a73ecdff0a4 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2061168 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=geofflang@chromium.org,jmadill@chromium.org,julien.isorce@chromium.org Change-Id: Ia55180ed83386fe1a158ccefda6155b33d779e98 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:4328 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2062604Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
parent fa9eff37
...@@ -14,12 +14,12 @@ ...@@ -14,12 +14,12 @@
#include <vector> #include <vector>
#include "libANGLE/renderer/gl/DisplayGL.h" #include "libANGLE/renderer/gl/DisplayGL.h"
#include "libANGLE/renderer/gl/egl/FunctionsEGL.h"
#include "libANGLE/renderer/gl/egl/egl_utils.h" #include "libANGLE/renderer/gl/egl/egl_utils.h"
namespace rx namespace rx
{ {
class FunctionsEGLDL;
class RendererEGL; class RendererEGL;
class WorkerContext; class WorkerContext;
...@@ -44,10 +44,7 @@ class DisplayEGL : public DisplayGL ...@@ -44,10 +44,7 @@ class DisplayEGL : public DisplayGL
virtual WorkerContext *createWorkerContext(std::string *infoLog, virtual WorkerContext *createWorkerContext(std::string *infoLog,
EGLContext sharedContext, EGLContext sharedContext,
const native_egl::AttributeVector workerAttribs); const native_egl::AttributeVector workerAttribs) = 0;
egl::Error initialize(egl::Display *display) override;
void terminate() override;
SurfaceImpl *createWindowSurface(const egl::SurfaceState &state, SurfaceImpl *createWindowSurface(const egl::SurfaceState &state,
EGLNativeWindowType window, EGLNativeWindowType window,
...@@ -62,12 +59,6 @@ class DisplayEGL : public DisplayGL ...@@ -62,12 +59,6 @@ class DisplayEGL : public DisplayGL
NativePixmapType nativePixmap, NativePixmapType nativePixmap,
const egl::AttributeMap &attribs) override; const egl::AttributeMap &attribs) override;
ContextImpl *createContext(const gl::State &state,
gl::ErrorSet *errorSet,
const egl::Config *configuration,
const gl::Context *shareContext,
const egl::AttributeMap &attribs) override;
egl::ConfigSet generateConfigs() override; egl::ConfigSet generateConfigs() override;
bool testDeviceLost() override; bool testDeviceLost() override;
...@@ -80,10 +71,6 @@ class DisplayEGL : public DisplayGL ...@@ -80,10 +71,6 @@ class DisplayEGL : public DisplayGL
egl::Error waitClient(const gl::Context *context) override; egl::Error waitClient(const gl::Context *context) override;
egl::Error waitNative(const gl::Context *context, EGLint engine) override; egl::Error waitNative(const gl::Context *context, EGLint engine) override;
egl::Error makeCurrent(egl::Surface *drawSurface,
egl::Surface *readSurface,
gl::Context *context) override;
gl::Version getMaxSupportedESVersion() const override; gl::Version getMaxSupportedESVersion() const override;
void initializeFrontendFeatures(angle::FrontendFeatures *features) const override; void initializeFrontendFeatures(angle::FrontendFeatures *features) const override;
...@@ -98,8 +85,6 @@ class DisplayEGL : public DisplayGL ...@@ -98,8 +85,6 @@ class DisplayEGL : public DisplayGL
void generateExtensions(egl::DisplayExtensions *outExtensions) const override; void generateExtensions(egl::DisplayExtensions *outExtensions) const override;
egl::Error createRenderer(EGLContext shareContext, std::shared_ptr<RendererEGL> *outRenderer);
egl::Error makeCurrentSurfaceless(gl::Context *context) override; egl::Error makeCurrentSurfaceless(gl::Context *context) override;
template <typename T> template <typename T>
...@@ -113,7 +98,7 @@ class DisplayEGL : public DisplayGL ...@@ -113,7 +98,7 @@ class DisplayEGL : public DisplayGL
const U &defaultValue) const; const U &defaultValue) const;
std::shared_ptr<RendererEGL> mRenderer; std::shared_ptr<RendererEGL> mRenderer;
FunctionsEGLDL *mEGL; FunctionsEGL *mEGL;
EGLConfig mConfig; EGLConfig mConfig;
egl::AttributeMap mDisplayAttributes; egl::AttributeMap mDisplayAttributes;
std::vector<EGLint> mConfigAttribList; std::vector<EGLint> mConfigAttribList;
......
...@@ -346,11 +346,11 @@ void DisplayAndroid::destroyNativeContext(EGLContext context) ...@@ -346,11 +346,11 @@ void DisplayAndroid::destroyNativeContext(EGLContext context)
void DisplayAndroid::generateExtensions(egl::DisplayExtensions *outExtensions) const void DisplayAndroid::generateExtensions(egl::DisplayExtensions *outExtensions) const
{ {
DisplayEGL::generateExtensions(outExtensions);
// Surfaceless can be support if the native driver supports it or we know that we are running on // Surfaceless can be support if the native driver supports it or we know that we are running on
// a single thread (mVirtualizedContexts == true) // a single thread (mVirtualizedContexts == true)
outExtensions->surfacelessContext = mSupportsSurfaceless || mVirtualizedContexts; outExtensions->surfacelessContext = mSupportsSurfaceless || mVirtualizedContexts;
DisplayEGL::generateExtensions(outExtensions);
} }
egl::Error DisplayAndroid::createRenderer(EGLContext shareContext, egl::Error DisplayAndroid::createRenderer(EGLContext shareContext,
......
...@@ -953,10 +953,10 @@ void DisplayOzone::setSwapInterval(EGLSurface drawable, SwapControlData *data) ...@@ -953,10 +953,10 @@ void DisplayOzone::setSwapInterval(EGLSurface drawable, SwapControlData *data)
void DisplayOzone::generateExtensions(egl::DisplayExtensions *outExtensions) const void DisplayOzone::generateExtensions(egl::DisplayExtensions *outExtensions) const
{ {
DisplayEGL::generateExtensions(outExtensions);
// Surfaceless contexts are emulated even if there is no native support. // Surfaceless contexts are emulated even if there is no native support.
outExtensions->surfacelessContext = true; outExtensions->surfacelessContext = true;
DisplayEGL::generateExtensions(outExtensions);
} }
class WorkerContextOzone final : public WorkerContext class WorkerContextOzone final : public WorkerContext
......
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