[wayland] AbstractBackend announces whether a surface less context is possible
In an own QPA plugin we want to make the OpenGL context sharing with our compositing context and bypass the windowing system for OpenGL windows. In order to achieve this we need a surfaceless context. The AbstractBackend now forwards whether such a context can be created on the EGLDisplay used by the Compositor.
This commit is contained in:
parent
b9d7726f7a
commit
d837830661
2 changed files with 10 additions and 0 deletions
|
@ -305,6 +305,11 @@ void AbstractBackend::warpPointer(const QPointF &globalPos)
|
||||||
Q_UNUSED(globalPos)
|
Q_UNUSED(globalPos)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool AbstractBackend::supportsQpaContext() const
|
||||||
|
{
|
||||||
|
return hasGLExtension(QByteArrayLiteral("EGL_KHR_surfaceless_context"));
|
||||||
|
}
|
||||||
|
|
||||||
EGLDisplay AbstractBackend::sceneEglDisplay() const
|
EGLDisplay AbstractBackend::sceneEglDisplay() const
|
||||||
{
|
{
|
||||||
if (Compositor *c = Compositor::self()) {
|
if (Compositor *c = Compositor::self()) {
|
||||||
|
|
|
@ -46,6 +46,11 @@ public:
|
||||||
virtual OpenGLBackend *createOpenGLBackend();
|
virtual OpenGLBackend *createOpenGLBackend();
|
||||||
virtual QPainterBackend *createQPainterBackend();
|
virtual QPainterBackend *createQPainterBackend();
|
||||||
virtual void warpPointer(const QPointF &globalPos);
|
virtual void warpPointer(const QPointF &globalPos);
|
||||||
|
/**
|
||||||
|
* Whether our Compositing EGL display allows a surface less context
|
||||||
|
* so that a sharing context could be created.
|
||||||
|
**/
|
||||||
|
virtual bool supportsQpaContext() const;
|
||||||
/**
|
/**
|
||||||
* The EGLDisplay used by the compositing scene.
|
* The EGLDisplay used by the compositing scene.
|
||||||
**/
|
**/
|
||||||
|
|
Loading…
Reference in a new issue