Thanks very much for your help ,I will try it tomorrow!

 

Thanks and Best Regards

Steve Zhou

 

From: Giulio Camuffo [mailto:[email protected]] 
Sent: Wednesday, August 06, 2014 6:37 PM
To: Steve (YiLiang) Zhou
Cc: wayland mailing list
Subject: Re: Help!! app qt4 upgrade to qt5 for wayland , can't get the 
QDialog's window handle which can cast to EGLNativeWindowType

 

 

 

2014-08-06 13:31 GMT+03:00 Steve (YiLiang) Zhou <[email protected]>:

So , if I want to draw something in a qwidget in wayland , it’s impossible to 
do this now?

 

You can do it, just not with OpenGL.

 

        Can you give some advices if I chose “ an egl surface to draw into, 
with no QWidgets on top “ ?

 

Well, you can create a QWindow and use a QOpenGLContext, and that will work 
fine. Then you draw the content with OpenGL calls.

 

         

        Thanks and Best Regards

        Steve Zhou

         

        From: Giulio Camuffo [mailto:[email protected]] 
        Sent: Wednesday, August 06, 2014 5:52 PM

        
        To: Steve (YiLiang) Zhou
        Cc: wayland mailing list
        Subject: Re: Help!! app qt4 upgrade to qt5 for wayland , can't get the 
QDialog's window handle which can cast to EGLNativeWindowType

         

         

        2014-08-06 12:38 GMT+03:00 Steve (YiLiang) Zhou <[email protected]>:

        Thanks for your quick reply ,  I prefer to  embed an OpenGL surface 
into QDialog .

         

        That is unfortunately not possible yet. The QtWayland QPA doesn't have 
support for wl_subsurface yet, which are needed to embed an EGL surface into an 
shm one.

         

        --

        Giulio

         

                 

                 

                Thanks and Best Regards

                Steve Zhou

                 

                From: Giulio Camuffo [mailto:[email protected]] 
                Sent: Wednesday, August 06, 2014 5:34 PM
                To: Steve (YiLiang) Zhou
                Cc: wayland mailing list
                Subject: Re: Help!! app qt4 upgrade to qt5 for wayland , can't 
get the QDialog's window handle which can cast to EGLNativeWindowType

                 

                 

                 

                2014-08-06 11:54 GMT+03:00 Steve (YiLiang) Zhou 
<[email protected]>:

                Dear all,

                I have app which was developed by qt4, and we want to port it 
to tizen ivi wayland platform, so I have to update our app to qt5.

                We have a feature : drawing something based on egl on a qt 
window(we use QDialog). 

                Egl need a EGLSurface and a EGLDisplay to get the feature work.

EGLSurface eglCreateWindowSurface(

EGLDisplay display,

 

EGLConfig config,

 

NativeWindowType native_window,

 

EGLint const * attrib_list);

                In x11 based OS like ubuntu 12.04 , we use EGL_DEFAULT_DISPLAY 
to get display, the qt window’s winId()   to cast to NativeWindowType

                It works well on X11 based OS.

                But when it comes to wayland ,it will crash at 
eglCreateWindowSurface, I googled a lot ,but rarely got something useful.

                Someone said that  to get eglCreateWindowSurface work on 
wayland ,the native_window has to be a wl_egl_window type. 

                I tried to get it like bellow:

                 

                QDialog *dialog = new QDialog(mainW);

                dialog->setGeometry(QRect(0, 0, 720, 430));

                dialog->show();

                 

                QPlatformNativeInterface *native =

                        QGuiApplication::platformNativeInterface();

                   struct wl_display *wl_dpy = (struct wl_display *)

                        native->nativeResourceForWindow("display", NULL);

                    struct wl_surface *surface = static_cast<struct wl_surface 
*>(

                        native->nativeResourceForWindow("surface", 
dialog->windowHandle()));

                struct wl_egl_window * wl_wind = wl_egl_window_create(surface, 
720,430 );

                 

                use the wl_wind and wl_dpy to eglCreateWindowSurface , the app 
didn’t crash ,but the graphics we want to draw on the window can’t be seen.

                 

                Is there someone met this before? Can somebody give some 
advices?

                 

                QDialog doesn't draw using OpenGL, so there is no EGL surface 
attached to its wl_surface.

                I'm not sure what you're trying to achieve. Do you want to 
embed an OpenGL surface into QDialog? Or do you just want an egl surface to 
draw into, with no QWidgets on top?

                 

                --

                Giulio

                 

                         

                         

                        Thanks and Best Regards

                        Steve Zhou

                         

                        CONFIDENTIALITY NOTICE: The information contained in 
this message may be privileged and/or confidential. If you are not the intended 
recipient, or responsible for delivering this message to the intended 
recipient, any review, forwarding, dissemination, distribution or copying of 
this communication or any attachment(s) is strictly prohibited. If you have 
received this message in error, please notify the sender immediately, and 
delete it and all attachments from your computer and network.

                        
                        _______________________________________________
                        wayland-devel mailing list
                        [email protected]
                        
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

                 

                CONFIDENTIALITY NOTICE: The information contained in this 
message may be privileged and/or confidential. If you are not the intended 
recipient, or responsible for delivering this message to the intended 
recipient, any review, forwarding, dissemination, distribution or copying of 
this communication or any attachment(s) is strictly prohibited. If you have 
received this message in error, please notify the sender immediately, and 
delete it and all attachments from your computer and network.

         

        CONFIDENTIALITY NOTICE: The information contained in this message may 
be privileged and/or confidential. If you are not the intended recipient, or 
responsible for delivering this message to the intended recipient, any review, 
forwarding, dissemination, distribution or copying of this communication or any 
attachment(s) is strictly prohibited. If you have received this message in 
error, please notify the sender immediately, and delete it and all attachments 
from your computer and network.

 


CONFIDENTIALITY NOTICE: The information contained in this message may be 
privileged and/or confidential. If you are not the intended recipient, or 
responsible for delivering this message to the intended recipient, any review, 
forwarding, dissemination, distribution or copying of this communication or any 
attachment(s) is strictly prohibited. If you have received this message in 
error, please notify the sender immediately, and delete it and all attachments 
from your computer and network.
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to