Intial Wayland EGL integration.

This commit is contained in:
James Grogan 2022-11-11 09:14:41 +00:00
parent a4d3019f04
commit 6af296409a
20 changed files with 278 additions and 44 deletions

View file

@ -4,6 +4,7 @@
#include "WaylandSurface.h"
#include "WaylandBuffer.h"
#include "WaylandSeatInterface.h"
#include "WaylandEglInterface.h"
#include <cstring>
#include <sstream>
@ -72,6 +73,12 @@ void WaylandWindowInterface::initialize(DesktopManager* desktopManager)
wl_registry_add_listener(registry, &mRegistryListener, this);
wl_display_roundtrip(mDisplay);
if (mUseHardwareRendering)
{
mEglInterface = std::make_unique<WaylandEglInterface>();
mEglInterface->initialize(mDisplay);
}
}
void WaylandWindowInterface::setSeat(wl_seat* seat)
@ -119,7 +126,7 @@ void WaylandWindowInterface::showWindow(mt::Window* window)
return;
}
mSurfaces[0]->initialize(mCompositor, mXdgBase, mBuffer);
mSurfaces[0]->initialize(mCompositor, mXdgBase, mBuffer, mEglInterface.get());
}
void WaylandWindowInterface::shutDown()