It works if I add a dummy OffscreenSurface and make my context current on
this before making the PBuffer current. Not sure if this is the best way of
doing it though?

- Thomas

On Tue, Sep 29, 2015 at 11:37 AM, Thomas Sevaldrud <tho...@silentwings.no>
wrote:

> Hi,
>
> I'm still working on the EGL PBuffer/DirectX integration through Qt that I
> posted about last week :-)
>
> Thanks to good help from this list I now have the PBuffer and DirectX
> texture set up with the share handle. I also have a QOpenGLContext which I
> have used to set up the EGL PBuffer. I don't have a QSurface though, since
> my surface is the EGL PBuffer.
>
> So, the question now is how do I make the QOpenGLContext current. (I need
> a QOpenGLContext::currentContext() for QOpenGLFunctions and so on).
>
> The code looks something like this:
>
>     glContext_ = new QOpenGLContext;
>
>     glContext_->setFormat(format);
>
>     glContext_->create();
>
>
>
>     ....
>
>
>     QPlatformNativeInterface *nativeInterface = 
> QGuiApplication::platformNativeInterface();
>
>     egl_display_ = 
> static_cast<EGLDisplay>(nativeInterface->nativeResourceForContext("eglDisplay",
>  glContext_));
>
>     egl_context_ = 
> static_cast<EGLContext>(nativeInterface->nativeResourceForContext("eglContext",
>  glContext_));
>
>     EGLConfig egl_config = 
> static_cast<EGLConfig>(nativeInterface->nativeResourceForContext("eglConfig", 
> glContext_));
>
>
>     EGLint attribs[] = { ...
>
>
>     };
>
>     egl_pbuffer_ = eglCreatePbufferSurface(egl_display_, egl_config, attribs);
>
>
>
>     ... D3D setup stuff...
>
>
>     // Start rendering to PBuffer:
>
>
>     eglMakeCurrent(egl_display_, egl_pbuffer_, egl_pbuffer_, egl_context_);
>
>
>     ... Here I should like to set glContext current somehow...
>
>
> Any ideas?
>
>
> - Thomas
>
>
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to