Display: Add a shared state object.
This will allow us to manage the SurfaceSet in the GL layer.
BUG=angleproject:1684
Change-Id: Iab8243157710beab2667ef10275571078ce9ae8e
Reviewed-on: https://chromium-review.googlesource.com/424228
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/DisplayImpl.cpp b/src/libANGLE/renderer/DisplayImpl.cpp
index fc2f2c5..dccf1cd 100644
--- a/src/libANGLE/renderer/DisplayImpl.cpp
+++ b/src/libANGLE/renderer/DisplayImpl.cpp
@@ -8,26 +8,20 @@
#include "libANGLE/renderer/DisplayImpl.h"
+#include "libANGLE/Display.h"
#include "libANGLE/Surface.h"
namespace rx
{
-DisplayImpl::DisplayImpl()
- : mExtensionsInitialized(false),
- mCapsInitialized(false)
+DisplayImpl::DisplayImpl(const egl::DisplayState &state)
+ : mState(state), mExtensionsInitialized(false), mCapsInitialized(false)
{
}
DisplayImpl::~DisplayImpl()
{
- ASSERT(mSurfaceSet.empty());
-}
-
-void DisplayImpl::destroySurface(egl::Surface *surface)
-{
- mSurfaceSet.erase(surface);
- surface->onDestroy();
+ ASSERT(mState.surfaceSet.empty());
}
const egl::DisplayExtensions &DisplayImpl::getExtensions() const