Re: [Interest] Qt 5.2 scenegraph does not draw anything for our MIPS cpu/VIVANTE GPU platform
I find it very strange that qmlscene without an input file would produce the same apitrace as a qmlscene with a file. The apitrace is a reflection what we try to draw after all and that is highly dependent on what the input is. What does the trace look like? It is a long-shot, but you could try https://codereview.qt-project.org/#change,69666 cheers, Gunnar Fra: interest-bounces+gunnar.sletta=digia@qt-project.org [interest-bounces+gunnar.sletta=digia@qt-project.org] på vegne av Narayanarao Rao [nar...@gmail.com] Sendt: 6. november 2013 00:05 To: Interest@qt-project.org Emne: [Interest] Qt 5.2 scenegraph does not draw anything for our MIPS cpu/VIVANTE GPU platform I am able to build qtbase and qtdeclarative from git with a few changes for our MIPS 74kf -mdspr2 platform. I use eglfs plugin. If I don't pass any qml file to qmlscene, eglfs does gltexsubimage2d of a qimage (file selection dialog). That works fine. I can see the file selection dialog, though with very small text. eglfs with Qt 5.0 works fine - I can see output on screen for all qmls. We use Qt 4.8 simplegl for our production releases and that works fine too. However, with Qt 5.2 new scenegraph changes, if I pass a qml file to qmlscene, I just see the screen cleared to white and nothing gets drawn after that. When I enable render_timing etc. environment veriables, I see everything printed normally - I see that it takes some time for render, sync, animations etc. It also takes expected CPU when doing QML animations. I tried both qmls with an image as well as rect. I suspect our GPU does not like the new shader code. I ported apitrace to our platform and compared traces for case where I see output on screen (qmlscene without qml file input) and where I don't see output on screen (qmlscene with any qml file). Both look similar except for differences in vertex and fragment shaders. Anything I should try? ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Qt 5.2 scenegraph does not draw anything for our MIPS cpu/VIVANTE GPU platform
Thanks for the reply. I only said they look similar, not the same. Of course, I do not understand OpenGL very well. I am now trying to read and understand what each line of the apitrace means and write a standalone opengl c app that only makes those calls. I am relatively new to opengl, so bear with me.. One difference I found in the traces is the following sequence of calls: 194 glEnableVertexAttribArray(index = 0) 195 glEnableVertexAttribArray(index = 1) 196 glEnableVertexAttribArray(index = 2) 197 glUseProgram(program = 1) 198 glBindTexture(target = GL_TEXTURE_2D, texture = 1) 199 glUniformMatrix4fv(location = 0, count = 1, transpose = GL_FALSE, value = {0.0015625, 0, 0, 0, 0, -0.00278, 0, 0, 0, 0, 1, 0, -1, 1, 0, 1}) 200 glVertexAttribPointer(index = 0, size = 2, type = GL_FLOAT, normalized = GL_FALSE, stride = 16, pointer = NULL) 202 glFlush() 201 glDrawElements(mode = GL_TRIANGLE_STRIP, count = 6, type = GL_UNSIGNED_SHORT, indices = 0x50) 203 glEnable(cap = GL_BLEND) 204 glDepthMask(flag = GL_FALSE) 205 glBlendFunc(sfactor = GL_ONE, dfactor = GL_ONE_MINUS_SRC_ALPHA) 206 glDisableVertexAttribArray(index = 0) 207 glDisableVertexAttribArray(index = 1) 208 glDisableVertexAttribArray(index = 2) The above trace is for the non-working case. glVertexAttribPointer is NULL. Is this expected? I am still trying to workout where in Qt this call is being made from. The corresponding trace for the working case (qmlscene without qml) 309 glEnableVertexAttribArray(index = 1) 310 glEnableVertexAttribArray(index = 0) 311 glBindTexture(target = GL_TEXTURE_2D, texture = 1) 312 glUniform1i(location = 1, v0 = 1) 313 glVertexAttribPointer(index = 0, size = 2, type = GL_FLOAT, normalized = GL_FALSE, stride = 8, pointer = blob(32)) 314 glDrawArrays(mode = GL_TRIANGLE_FAN, first = 0, count = 4) 315 glBindTexture(target = GL_TEXTURE_2D, texture = 0) 316 glDisableVertexAttribArray(index = 1) 317 glDisableVertexAttribArray(index = 0) ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Qt 5.2 scenegraph does not draw anything for our MIPS cpu/VIVANTE GPU platform
Here is the full apitrace for the non working case.. 0 eglBindAPI(api = EGL_OPENGL_ES_API) = EGL_TRUE 1 eglGetDisplay(display_id = NULL) = 0x432ff0 2 eglInitialize(dpy = 0x432ff0, major = 1, minor = 4) = EGL_TRUE 3 eglChooseConfig(dpy = 0x432ff0, attrib_list = {EGL_RED_SIZE, 0, EGL_GREEN_SIZE, 0, EGL_BLUE_SIZE, 0, EGL_ALPHA_SIZE, 0, EGL_DEPTH_SIZE, 24, EGL_STENCIL_SIZE, 8, EGL_SAMPLES, 0, EGL_SAMPLE_BUFFERS, 0, EGL_SURFACE_TYPE, EGL_WINDOW_BIT, EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, EGL_NONE}, configs = NULL, config_size = 0, num_config = 21) = EGL_TRUE 4 eglChooseConfig(dpy = 0x432ff0, attrib_list = {EGL_RED_SIZE, 0, EGL_GREEN_SIZE, 0, EGL_BLUE_SIZE, 0, EGL_ALPHA_SIZE, 0, EGL_DEPTH_SIZE, 24, EGL_STENCIL_SIZE, 8, EGL_SAMPLES, 0, EGL_SAMPLE_BUFFERS, 0, EGL_SURFACE_TYPE, EGL_WINDOW_BIT, EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, EGL_NONE}, configs = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, config_size = 21, num_config = 21) = EGL_TRUE 5 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_BUFFER_SIZE, value = 32) = EGL_TRUE 6 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_ALPHA_SIZE, value = 8) = EGL_TRUE 7 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_BLUE_SIZE, value = 8) = EGL_TRUE 8 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_GREEN_SIZE, value = 8) = EGL_TRUE 9 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_RED_SIZE, value = 8) = EGL_TRUE 10 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_DEPTH_SIZE, value = 24) = EGL_TRUE 11 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_STENCIL_SIZE, value = 8) = EGL_TRUE 12 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_CONFIG_CAVEAT, value = 12344) = EGL_TRUE 13 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_CONFIG_ID, value = 61) = EGL_TRUE 14 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_LEVEL, value = 0) = EGL_TRUE 15 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_MAX_PBUFFER_HEIGHT, value = 2048) = EGL_TRUE 16 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_MAX_PBUFFER_PIXELS, value = 4194304) = EGL_TRUE 17 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_MAX_PBUFFER_WIDTH, value = 2048) = EGL_TRUE 18 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_NATIVE_RENDERABLE, value = 1) = EGL_TRUE 19 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_NATIVE_VISUAL_ID, value = 0) = EGL_TRUE 20 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_NATIVE_VISUAL_TYPE, value = 32) = EGL_TRUE 21 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_SAMPLES, value = 0) = EGL_TRUE 22 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_SAMPLE_BUFFERS, value = 0) = EGL_TRUE 23 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_SURFACE_TYPE, value = 391) = EGL_TRUE 24 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_TRANSPARENT_TYPE, value = 12344) = EGL_TRUE 25 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_TRANSPARENT_BLUE_VALUE, value = -1) = EGL_TRUE 26 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_TRANSPARENT_GREEN_VALUE, value = -1) = EGL_TRUE 27 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_TRANSPARENT_RED_VALUE, value = -1) = EGL_TRUE 28 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_BIND_TO_TEXTURE_RGB, value = 0) = EGL_TRUE 29 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_BIND_TO_TEXTURE_RGBA, value = 1) = EGL_TRUE 30 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_MIN_SWAP_INTERVAL, value = 1) = EGL_TRUE 31 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_MAX_SWAP_INTERVAL, value = 1) = EGL_TRUE 32 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_CONFIG_ID, value = 61) = EGL_TRUE 33 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_RED_SIZE, value = 8) = EGL_TRUE 34 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_GREEN_SIZE, value = 8) = EGL_TRUE 35 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_BLUE_SIZE, value = 8) = EGL_TRUE 36 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_ALPHA_SIZE, value = 8) = EGL_TRUE 37 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_DEPTH_SIZE, value = 24) = EGL_TRUE 38 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_STENCIL_SIZE, value = 8) = EGL_TRUE 39 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_SAMPLES, value = 0) = EGL_TRUE 40 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute =
Re: [Interest] Qt 5.2 scenegraph does not draw anything for our MIPS cpu/VIVANTE GPU platform
I tried with 2 QMLS.. one qml having only opaque image and another qml with opacity as 0.8. Both do not work. The first trace snippet was with opaque image. The second full trace was with opacity as 0.8. Just explaining the difference between the two traces, in case it is confusing. On Wed, Nov 6, 2013 at 3:46 PM, Narayanarao Rao nar...@gmail.com wrote: Here is the full apitrace for the non working case.. 0 eglBindAPI(api = EGL_OPENGL_ES_API) = EGL_TRUE 1 eglGetDisplay(display_id = NULL) = 0x432ff0 2 eglInitialize(dpy = 0x432ff0, major = 1, minor = 4) = EGL_TRUE 3 eglChooseConfig(dpy = 0x432ff0, attrib_list = {EGL_RED_SIZE, 0, EGL_GREEN_SIZE, 0, EGL_BLUE_SIZE, 0, EGL_ALPHA_SIZE, 0, EGL_DEPTH_SIZE, 24, EGL_STENCIL_SIZE, 8, EGL_SAMPLES, 0, EGL_SAMPLE_BUFFERS, 0, EGL_SURFACE_TYPE, EGL_WINDOW_BIT, EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, EGL_NONE}, configs = NULL, config_size = 0, num_config = 21) = EGL_TRUE 4 eglChooseConfig(dpy = 0x432ff0, attrib_list = {EGL_RED_SIZE, 0, EGL_GREEN_SIZE, 0, EGL_BLUE_SIZE, 0, EGL_ALPHA_SIZE, 0, EGL_DEPTH_SIZE, 24, EGL_STENCIL_SIZE, 8, EGL_SAMPLES, 0, EGL_SAMPLE_BUFFERS, 0, EGL_SURFACE_TYPE, EGL_WINDOW_BIT, EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, EGL_NONE}, configs = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, config_size = 21, num_config = 21) = EGL_TRUE 5 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_BUFFER_SIZE, value = 32) = EGL_TRUE 6 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_ALPHA_SIZE, value = 8) = EGL_TRUE 7 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_BLUE_SIZE, value = 8) = EGL_TRUE 8 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_GREEN_SIZE, value = 8) = EGL_TRUE 9 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_RED_SIZE, value = 8) = EGL_TRUE 10 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_DEPTH_SIZE, value = 24) = EGL_TRUE 11 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_STENCIL_SIZE, value = 8) = EGL_TRUE 12 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_CONFIG_CAVEAT, value = 12344) = EGL_TRUE 13 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_CONFIG_ID, value = 61) = EGL_TRUE 14 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_LEVEL, value = 0) = EGL_TRUE 15 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_MAX_PBUFFER_HEIGHT, value = 2048) = EGL_TRUE 16 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_MAX_PBUFFER_PIXELS, value = 4194304) = EGL_TRUE 17 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_MAX_PBUFFER_WIDTH, value = 2048) = EGL_TRUE 18 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_NATIVE_RENDERABLE, value = 1) = EGL_TRUE 19 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_NATIVE_VISUAL_ID, value = 0) = EGL_TRUE 20 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_NATIVE_VISUAL_TYPE, value = 32) = EGL_TRUE 21 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_SAMPLES, value = 0) = EGL_TRUE 22 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_SAMPLE_BUFFERS, value = 0) = EGL_TRUE 23 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_SURFACE_TYPE, value = 391) = EGL_TRUE 24 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_TRANSPARENT_TYPE, value = 12344) = EGL_TRUE 25 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_TRANSPARENT_BLUE_VALUE, value = -1) = EGL_TRUE 26 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_TRANSPARENT_GREEN_VALUE, value = -1) = EGL_TRUE 27 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_TRANSPARENT_RED_VALUE, value = -1) = EGL_TRUE 28 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_BIND_TO_TEXTURE_RGB, value = 0) = EGL_TRUE 29 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_BIND_TO_TEXTURE_RGBA, value = 1) = EGL_TRUE 30 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_MIN_SWAP_INTERVAL, value = 1) = EGL_TRUE 31 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_MAX_SWAP_INTERVAL, value = 1) = EGL_TRUE 32 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_CONFIG_ID, value = 61) = EGL_TRUE 33 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_RED_SIZE, value = 8) = EGL_TRUE 34 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_GREEN_SIZE, value = 8) = EGL_TRUE 35 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute = EGL_BLUE_SIZE, value = 8) = EGL_TRUE 36 eglGetConfigAttrib(dpy = 0x432ff0, config = 0x432e88, attribute =
Re: [Interest] QCamera and QCameraViewFinder
Oh, I overlooked the code sample you provided. You should listen to the imageAvailable() signal instead of imageCaptured(). What you get from imageCaptured() is just a preview, it's emitted right after the camera sensor captured the image but at this point the final image is not processed yet. That final image is provided by imageAvailable(). You'll notice it's a QVideoFrame and you'll have to convert it to a QImage if that's what you need. Yoann Lopes Senior Software Engineer - Digia, Qt Visit us on: http://qt.digia.com On Nov 5, 2013, at 7:09 PM, Joshua Grauman wrote: Sorry, I'm using Qt5.2beta under Linux. Josh Which platform are you on? Yoann Lopes Senior Software Engineer - Digia, Qt Visit us on: http://qt.digia.com On Nov 5, 2013, at 7:14 AM, Joshua Grauman wrote: Hello all, I setup a basic use of QCamera and QCameraViewFinder that work fine. I just used the basic example in the docs to capture an image like this: camera-searchAndLock(); //on half pressed shutter button imageCapture-capture(); //on shutter button pressed camera-unlock(); //on shutter button released and had setup the viewfinder and camera like this: camera = new QCamera; viewFinder = new QCameraViewfinder(picture1); viewFinder-setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum); viewFinder-setGeometry(picture1-geometry()); imageCapture = new QCameraImageCapture(camera); connect(imageCapture, SIGNAL(imageCaptured(int, const QImage )), this, SLOT(gotImage(int, const QImage ))); camera-setViewfinder(viewFinder); imageCapture-setCaptureDestination(QCameraImageCapture::CaptureToBuffer); camera-setCaptureMode(QCamera::CaptureStillImage); Everything works as expected. The problem is with the exposure settings. The viewfinder looks how I want it to (properly exposed). But when I capture the image, it is under-exposed (very dark). I was hoping to get the picture that is taken to have the same exposure settings as the viewfinder since it looks fine. Does anyone know why the default settings for QCamera would be under-exposed in comparison to the viewfinder? Thanks! Josh ___ Interest mailing list Interest@qt-project.orgmailto:Interest@qt-project.orgmailto:Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Qt 5.2 scenegraph does not draw anything for our MIPS cpu/VIVANTE GPU platform
I tried the patch you suggested and it works. What does this mean? Are there any performance implications to this? ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Qt 5.2 scenegraph does not draw anything for our MIPS cpu/VIVANTE GPU platform
A buffer offset of 0 is correct since it is relative to VBO's memory which is bound just above the lines you pasted down below. Fra: Narayanarao Rao [nar...@gmail.com] Sendt: 6. november 2013 11:02 To: Sletta Gunnar Cc: Interest@qt-project.org Emne: Re: [Interest] Qt 5.2 scenegraph does not draw anything for our MIPS cpu/VIVANTE GPU platform Thanks for the reply. I only said they look similar, not the same. Of course, I do not understand OpenGL very well. I am now trying to read and understand what each line of the apitrace means and write a standalone opengl c app that only makes those calls. I am relatively new to opengl, so bear with me.. One difference I found in the traces is the following sequence of calls: 194 glEnableVertexAttribArray(index = 0) 195 glEnableVertexAttribArray(index = 1) 196 glEnableVertexAttribArray(index = 2) 197 glUseProgram(program = 1) 198 glBindTexture(target = GL_TEXTURE_2D, texture = 1) 199 glUniformMatrix4fv(location = 0, count = 1, transpose = GL_FALSE, value = {0.0015625, 0, 0, 0, 0, -0.00278, 0, 0, 0, 0, 1, 0, -1, 1, 0, 1}) 200 glVertexAttribPointer(index = 0, size = 2, type = GL_FLOAT, normalized = GL_FALSE, stride = 16, pointer = NULL) 202 glFlush() 201 glDrawElements(mode = GL_TRIANGLE_STRIP, count = 6, type = GL_UNSIGNED_SHORT, indices = 0x50) 203 glEnable(cap = GL_BLEND) 204 glDepthMask(flag = GL_FALSE) 205 glBlendFunc(sfactor = GL_ONE, dfactor = GL_ONE_MINUS_SRC_ALPHA) 206 glDisableVertexAttribArray(index = 0) 207 glDisableVertexAttribArray(index = 1) 208 glDisableVertexAttribArray(index = 2) The above trace is for the non-working case. glVertexAttribPointer is NULL. Is this expected? I am still trying to workout where in Qt this call is being made from. The corresponding trace for the working case (qmlscene without qml) 309 glEnableVertexAttribArray(index = 1) 310 glEnableVertexAttribArray(index = 0) 311 glBindTexture(target = GL_TEXTURE_2D, texture = 1) 312 glUniform1i(location = 1, v0 = 1) 313 glVertexAttribPointer(index = 0, size = 2, type = GL_FLOAT, normalized = GL_FALSE, stride = 8, pointer = blob(32)) 314 glDrawArrays(mode = GL_TRIANGLE_FAN, first = 0, count = 4) 315 glBindTexture(target = GL_TEXTURE_2D, texture = 0) 316 glDisableVertexAttribArray(index = 1) 317 glDisableVertexAttribArray(index = 0) ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] What for does qt5gui need OpenGL?
I wonder... what are the reasons for this dependency? ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] QSurfaceFormat and swapInterval
http://bugreports.qt-project.org/browse/QTBUG-31939https://bugreports.qt-project.org/browse/QTBUG-31939 Some platform plugins, eglfs in particular, support setting swapInterval via environment variables (QT_QPA_EGLFS_SWAPINTERVAL). Others do not. It should definitely be added to QSurfaceFormat. It might be too late for 5.2 though. Best regards, Laszlo From: interest-bounces+laszlo.agocs=digia@qt-project.org [interest-bounces+laszlo.agocs=digia@qt-project.org] on behalf of Peter Koek [peter_k...@hotmail.com] Sent: Saturday, November 02, 2013 12:13 PM To: interest@qt-project.org Subject: [Interest] QSurfaceFormat and swapInterval QGLFormat exposes a swapInterval property which can be used to enable vertical synchronization (v-sync) to avoid screen tearing. Why does QSurfaceFormat not expose this property? Currently, there is no direct way to enable v-sync with QWindow, while QGLWidget did not have this problem. What is the rationale for leaving this out? ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Qt 5.2 scenegraph does not draw anything for our MIPS cpu/VIVANTE GPU platform
The scene graph renderer uses the same buffer object for both indices and vertices. This is within spec, but I worried that some drivers might like it less than others. This setup is the first one where it doesn't work. The patch doubles the amount of uploads we do, but the total memory is unchanged. It will be a small overall additional cost, and if it is needed, it is needed. cheers, Gunnar Fra: Narayanarao Rao [nar...@gmail.com] Sendt: 6. november 2013 13:10 To: Sletta Gunnar Cc: Interest@qt-project.org Emne: Re: [Interest] Qt 5.2 scenegraph does not draw anything for our MIPS cpu/VIVANTE GPU platform I tried the patch you suggested and it works. What does this mean? Are there any performance implications to this? ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] Performance of Qt 5.2 much slower than Qt 5.1?
I have tested Qt 5.1 and 5.2 beta 1 on my Nexus 7 with the flying icons benchmark ( https://github.com/qtproject/playground-scenegraph/tree/master/benchmarks/flyingicons ) and the performance of Qt 5.2 is worse than 5.1 although it should be better or at least similar according to blog.qt.digia.com/blog/2013/09/02/new-scene-graph-renderer/. Does anyone know what could be the problem? Can anyone reproduce this performance problem? I have also created own tests where the same results occur – http://qt-project.org/forums/viewthread/34495/ Cheers, David ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Performance of Qt 5.2 much slower than Qt 5.1?
On Wed, Nov 6, 2013 at 2:21 PM, David V-Play david.ber...@v-play.net wrote: I have tested Qt 5.1 and 5.2 beta 1 on my Nexus 7 with the flying icons benchmark (https://github.com/qtproject/playground-scenegraph/tree/master/benchmarks/flyingicons ) and the performance of Qt 5.2 is worse than 5.1 although it should be better or at least similar according to blog.qt.digia.com/blog/2013/09/02/new-scene-graph-renderer/. Does anyone know what could be the problem? Can anyone reproduce this performance problem? I have also created own tests where the same results occur – http://qt-project.org/forums/viewthread/34495/ Cheers, David Hi David, You will likely get some answer here sooner or later. You could also join irc (irc.freenode.net) on #qt-labs. That allows you to chat with the Qt developers. Or you can wait till someone replies in here :) Cheers, Mark ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Performance of Qt 5.2 much slower than Qt 5.1?
A colleague and I also see one performance issue with Qt 5.2 Beta as compared to Qt 5.1. We observe a 20% jump in CPU usage with the FPS Item from the Cinematic Experience Demo. This is the component which dynamically displays the number of frames per second and has a spinning graphic. You can see it in action here: https://www.youtube.com/watch?v=wulbR2R1GpMfeature=player_embedded#at=40 We observe this large increase in CPU usage due to the FPS Item on a BeagleBoard-xM/Angstrom. If anyone has an idea why FPS Item would run far less efficiently in Qt 5.2 Beta on BB-xM, please let me know. - VStevenP ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Performance of Qt 5.2 much slower than Qt 5.1?
Is the time spent rendering gone up or is it something else? Generally, I see improved rendering performance across the board. If you run the code with QSG_RENDER_TIMING=1 you get some indication of the breakdown of where time is being spent. Performance of javascript has gone down some since Qt 5.1 as a result of the replacement of the V8 java script engine with our own V4. Work on improving performance here is still ongoing. cheers, Gunnar Fra: interest-bounces+gunnar.sletta=digia@qt-project.org [interest-bounces+gunnar.sletta=digia@qt-project.org] p#229; vegne av VStevenP [vstevenpa...@yahoo.com] Sendt: 6. november 2013 15:33 To: interest@qt-project.org; David V-Play Emne: Re: [Interest] Performance of Qt 5.2 much slower than Qt 5.1? A colleague and I also see one performance issue with Qt 5.2 Beta as compared to Qt 5.1. We observe a 20% jump in CPU usage with the FPS Item from the Cinematic Experience Demo. This is the component which dynamically displays the number of frames per second and has a spinning graphic. You can see it in action here: https://www.youtube.com/watch?v=wulbR2R1GpMfeature=player_embedded#at=40 We observe this large increase in CPU usage due to the FPS Item on a BeagleBoard-xM/Angstrom. If anyone has an idea why FPS Item would run far less efficiently in Qt 5.2 Beta on BB-xM, please let me know. - VStevenP ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] Adding a border-image CSS to QPushButton changes their size
Why is that, when I add a border-image style to a QPB it changes its size to be very small instead of staying at the same size just have a different border renderer? QPushButton { font: Open Sans Semibold; border-image: url(:/images/ui_bigbtn.png); color: white; border-color: transparent; border-width: 2px; border-style: solid; } ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] What for does qt5gui need OpenGL?
On quarta-feira, 6 de novembro de 2013 13:26:56, Philipp Kursawe wrote: I wonder... what are the reasons for this dependency? The QOpenGL* classes that are in QtGui. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center signature.asc Description: This is a digitally signed message part. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] What for does qt5gui need OpenGL?
Shouldn't they be in Qt5OpenGL.dll? On Wed, Nov 6, 2013 at 4:41 PM, Thiago Macieira thiago.macie...@intel.comwrote: On quarta-feira, 6 de novembro de 2013 13:26:56, Philipp Kursawe wrote: I wonder... what are the reasons for this dependency? The QOpenGL* classes that are in QtGui. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] qtquickcontrols question
Hi, I have a question :) http://blog.qt.digia.com/blog/2011/08/26/toplevel-windows-and-menus-with-qt-quick/ says Context Menus Sometimes it is also nice to have a ContextMenu for certain options. In that case some javascript certainly needs to be involved. ContextMenu { id: contextMenu MenuItem { text: Copy shortcut: Ctrl+C onTriggered: copy() } MenuItem { text: Paste shortcut: Ctrl+V onTriggered: paste() } } MouseArea { anchors.fill: parent acceptedButtons: Qt.RightButton onPressed: contextMenu.showPopup(mouseX,mouseY) } I'm trying to use a ContextMenu inside a Window { } but it is an unknown type? why? How can I use Menu { } Items inside a Window { } . I would also use ApplicationWindow but I need quite every option Window { } provides (modality, window flags and stuff) import QtQuick 2.1 import QtQuick.Controls 1.0 import QtProcess 0.1 import QtQuick.Window 2.0 Window { id: window1 width: 400 height: 400 minimumWidth: 400 minimumHeight: 400 title: child window ContextMenu { id: contextMenu MenuItem { text: Copy shortcut: Ctrl+C onTriggered: copy() } MenuItem { text: Paste shortcut: Ctrl+V onTriggered: paste() } MouseArea { anchors.fill: parent acceptedButtons: Qt.RightButton onPressed: contextMenu.showPopup(mouseX,mouseY) } } } main.qml:13 ContextMenu is not a type QQmlComponent: Component is not ready Error: Your root item has to be a Window. The program has unexpectedly finished. Thanks in advance Damian ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] What for does qt5gui need OpenGL?
2013/11/6 Philipp Kursawe phil.kurs...@gmail.com Shouldn't they be in Qt5OpenGL.dll? They are, but when you build Qt with OpenGL support some additional parts of Qt Gui are built. For example OpenGL type of QPaintEngine is provided: http://qt-project.org/doc/qt-5.0/qtgui/qpaintengine.html#Type-enum -- regards, Tomasz Olszak ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] What for does qt5gui need OpenGL?
On quarta-feira, 6 de novembro de 2013 16:43:51, Philipp Kursawe wrote: Shouldn't they be in Qt5OpenGL.dll? No, they are where they were supposed to be. That's by design. The OpenGL integration needs to be provided by the platform plugin anyway, so OpenGL support ends up getting loaded whether QtGui contained OpenGL-related classes or not. So we might as well deep-integrate the functionality. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center signature.asc Description: This is a digitally signed message part. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] Using static plugins with cmake
Hello, could somebody please tell me what the equivalent of the qmake statement QTPLUGIN += qsvg for cmake is? I'm trying to statically link the qsvg plugin to my application. Regards ..Volker ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Qt Webkit and HTML5 geolocation
Once I've built this, how do i rebuild qtwebkit so it finds QtLocation? I can see an ENABLE_GEOLOCATION flag in the source but there's no obvious way of specifying this. Does QtWebkit have a separate config system to Qt? I'm not certain, but I'm pretty sure the build system will pick this up automatically once Qt Location is installed. See src/3rdparty/webkit/Sources/WebCore/features.pri I still couldn't get geolocation working in the browser. My compiled libQtWebKit.so and browser application was linked against libQtLocation, however when running html5 tests it says geolocation is not supported. I also tried linking with the sensors module from QtMobility for device orientation, and that did work, which makes me wonder why geolocation isn't working. Is there some specific way of getting Qt 4.8.2 Webkit to notice QtMobility? Thanks, Tom Isaacson ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] What for does qt5gui need OpenGL?
I see. I thought Qt renders using the system natively. It could load opengl like it loads SSL support, dynamically. How do I enable opengl rendering then for my widget based application? From: Tomasz Olszak Sent: Wednesday, November 6, 2013 16:58 To: Philipp Kursawe Cc: interest@qt-project.org 2013/11/6 Philipp Kursawe phil.kurs...@gmail.com Shouldn't they be in Qt5OpenGL.dll? They are, but when you build Qt with OpenGL support some additional parts of Qt Gui are built. For example OpenGL type of QPaintEngine is provided: http://qt-project.org/doc/qt-5.0/qtgui/qpaintengine.html#Type-enum -- regards, Tomasz Olszak___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] What for does qt5gui need OpenGL?
2013/11/6 phil.kurs...@gmail.com I see. I thought Qt renders using the system natively. It could load opengl like it loads SSL support, dynamically. How do I enable opengl rendering then for my widget based application? See http://qt-project.org/doc/qt-5.0/qtgui/qpaintengine.html#details QGLWidget is what you looking for. -- regards / pozdrawiam, Tomasz Olszak Qt for Tizen | http://qt-project.org/wiki/Tizen Qt Certified Developer | http://qt-project.org http://linkedin.com/in/tolszak ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] What for does qt5gui need OpenGL?
On quarta-feira, 6 de novembro de 2013 20:12:33, phil.kurs...@gmail.com wrote: I see. I thought Qt renders using the system natively. It could load opengl like it loads SSL support, dynamically. That's a solution we really dislike. We're forced to do it for SSL, for legal reasons. But we don't want it, neither for OpenGL, nor for ICU. And we're only doing it for udev in Qt 5.2 because we're, again, forced to. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center signature.asc Description: This is a digitally signed message part. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] White screen at Qt Quick 5.x application startup
With Qt 5.0, I was able to put a raw-format splash screen into my embedded device's frame buffer, and it would then stay up until the Qt Quick application code (using the eglfs platform plugin) finished loading enough to display something else. Starting with Qt 5.1, the application clears the screen to white while things are loading, overwriting my splash screen. I'm curious 1) what changed to make this happen, and 2) is there an easy way to override this behavior? (If not, I can change the application to load more incrementally, though that would not be my first preference.) Thanks, -Peter S. Housel- ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] [interest] QRasterPaintEngine::alphaPenBlt()segment fault
FYI From: Nancy Zou Sent: Tuesday, October 15, 2013 5:37 PM To: interest@qt-project.org Subject: QRasterPaintEngine::alphaPenBlt()segment fault Dear All: I run a qt5 case on the platform directfb with HW acceleration . I find the function void QRasterPaintEngine::alphaPenBlt(const void* src, int bpl, int depth, int rx,int ry,int w,int h) runs a segment fault because of the surface buffer address is old . How can I get the new address here or how to call the QDirectFbBlitter::doLock() here ? Best Regards Nancy Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom More information can be found at www.csr.com. Follow CSR on Twitter at http://twitter.com/CSR_PLC and read our blog at www.csr.com/blog ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] qtquickcontrols question
On 6 Nov 2013, at 4:49 PM, Damian Ivanov wrote: Hi, I have a question :) http://blog.qt.digia.com/blog/2011/08/26/toplevel-windows-and-menus-with-qt-quick/ That's rather old, about an earlier iteration of the component set that we are shipping with Qt 5.x (x = 1). Menu is now multi-purpose and therefore has replaced ContextMenu. http://qt-project.org/doc/qt-5.1/qtquickcontrols/qml-qtquick-controls1-menu.html I'm trying to use a ContextMenu inside a Window { } but it is an unknown type? why? How can I use Menu { } Items inside a Window { } . I would also use ApplicationWindow but I need quite every option Window { } provides (modality, window flags and stuff) ApplicationWindow is actually a Window with some extra stuff (menubar, toolbar etc.) so all the same properties are still available. http://qt-project.org/doc/qt-5.1/qtquickcontrols/qml-qtquick-controls1-applicationwindow.html ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] What for does qt5gui need OpenGL?
On 7 November 2013 00:38, Thiago Macieira thiago.macie...@intel.com wrote: On quarta-feira, 6 de novembro de 2013 20:12:33, phil.kursawe@gmail.comwrote: I see. I thought Qt renders using the system natively. It could load opengl like it loads SSL support, dynamically. That's a solution we really dislike. Would you mind explaining why? My knowledge of this level of design is virtually non-existent so your input would be hugely appreciated (even if you can just provide me with a few related key words so that I may research the concepts that influenced the design decision myself). Thanks! William Hallatt ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] What for does qt5gui need OpenGL?
On Wed, 06 Nov 2013 08:03:47 -0800, Thiago Macieira wrote: Shouldn't they be in Qt5OpenGL.dll? No, they are where they were supposed to be. That's by design. With some nasty consequences for us users: Our applications run on several pieces of embedded hardware, where one of them had been designed 7 years ago with a graphic chip, where only OpenGL ES 1.1 is supported. This board needs to be supported and updated for many, many years - no way to exchange it by something more recent. Even if we don't need OpenGL ( using widgets only ) we are stuck with Qt 4 forever, because Qt5 has this unnecessary OpenGL dependency. So far this had been no big problem - Qt4 is pretty fine - and there are some backports of new Qt5 features ( by the way: it would be nice to add the json classes to Qt 4.9 ), but sooner or later this will become an issue. There are reasons why Qt 4.8 is still the platform, where most users are, and one of them is because of such a design decision. Uwe ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] What for does qt5gui need OpenGL?
2013/11/7 Uwe Rathmann uwe.rathm...@tigertal.de On Wed, 06 Nov 2013 08:03:47 -0800, Thiago Macieira wrote: Shouldn't they be in Qt5OpenGL.dll? No, they are where they were supposed to be. That's by design. With some nasty consequences for us users: Our applications run on several pieces of embedded hardware, where one of them had been designed 7 years ago with a graphic chip, where only OpenGL ES 1.1 is supported. This board needs to be supported and updated for many, many years - no way to exchange it by something more recent. Even if we don't need OpenGL ( using widgets only ) we are stuck with Qt 4 forever, because Qt5 has this unnecessary OpenGL dependency. So far this had been no big problem - Qt4 is pretty fine - and there are some backports of new Qt5 features ( by the way: it would be nice to add the json classes to Qt 4.9 ), but sooner or later this will become an issue. AFAIK you can build Qt5 with no-opengl switch and you should be able to run QtWidgets applications without having libQt5OpenGl dependency in libQt5Gui. -- regards, Tomasz Olszak ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] qtquickcontrols question
Thanks Shawn for the clarification. That's rather old, about an earlier iteration of the component set that we are shipping with Qt 5.x (x = 1). Menu is now multi-purpose and therefore has replaced ContextMenu. ok. how can I show the menu then :) ? Window { id: window1 width: 400 height: 400 minimumWidth: 400 minimumHeight: 400 title: child window MouseArea { anchors.fill: parent acceptedButtons: Qt.RightButton onPressed: contextMenu.show() } Menu { id: contextMenu enabled: true title: blabla MenuItem { text: Copy shortcut: Ctrl+C onTriggered: copy() } MenuItem { text: Paste shortcut: Ctrl+V onTriggered: paste() } } } 2013/11/7 Rutledge Shawn shawn.rutle...@digia.com: On 6 Nov 2013, at 4:49 PM, Damian Ivanov wrote: Hi, I have a question :) http://blog.qt.digia.com/blog/2011/08/26/toplevel-windows-and-menus-with-qt-quick/ That's rather old, about an earlier iteration of the component set that we are shipping with Qt 5.x (x = 1). Menu is now multi-purpose and therefore has replaced ContextMenu. http://qt-project.org/doc/qt-5.1/qtquickcontrols/qml-qtquick-controls1-menu.html I'm trying to use a ContextMenu inside a Window { } but it is an unknown type? why? How can I use Menu { } Items inside a Window { } . I would also use ApplicationWindow but I need quite every option Window { } provides (modality, window flags and stuff) ApplicationWindow is actually a Window with some extra stuff (menubar, toolbar etc.) so all the same properties are still available. http://qt-project.org/doc/qt-5.1/qtquickcontrols/qml-qtquick-controls1-applicationwindow.html ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] What for does qt5gui need OpenGL?
Why don't you like the dynamic loading solution? I would always prefer it over static linking, if possible. All plugin based systems (even Qt, where platform is a plugin) are based on dynamic code loading. OpenGL should not be a dependency on a base windowing framework imho. On Wed, Nov 6, 2013 at 11:38 PM, Thiago Macieira thiago.macie...@intel.comwrote: On quarta-feira, 6 de novembro de 2013 20:12:33, phil.kursawe@gmail.comwrote: I see. I thought Qt renders using the system natively. It could load opengl like it loads SSL support, dynamically. That's a solution we really dislike. We're forced to do it for SSL, for legal reasons. But we don't want it, neither for OpenGL, nor for ICU. And we're only doing it for udev in Qt 5.2 because we're, again, forced to. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest