[Development] New SceneGraph related issue

Sletta Gunnar Gunnar.Sletta at digia.com
Thu Sep 12 16:29:55 CEST 2013


On Sep 11, 2013, at 11:12 PM, Tomasz Olszak <olszak.tomasz at gmail.com> wrote:

> Hi,
> I have strange issue running most recent Qt sources on Tizen emulator (qemu i586).
> Also I know that there are issues with supporting HW acceleration. For example I need to export QML_BAD_GUI_RENDER_LOOP=1 because multithreaded OpenGl is a little broken there.
> 
> Anyway:
> When I run simple Qml App (ApplicationWindow with rectangle) I get:
> 
> >>>>
> QtHelloWorld: client_gl.c:1585: glGetBufferSubDataARB: Assertion `offset + size <= buffer->size' failed.

do you have the rest of the stack trace? Though I suspect it would be coming from the glDrawElements call in renderMergedBatches.

> Aborted (core dumped)
> 
> 
> after setting (noopaque is significant because it prevents app from crash)
> QSG_RENDERER_DEBUG=render,build,change,upload,rootfs,dump,noalpha,noopaque,noclip

setting noopaque means for this example that you are not drawing anything, so it greatly reduces the stuff that the renderer does :)

> 
> I get:
> 
> Batch thresholds: nodes: 64  vertices: 1024 
> Using buffer strategy: static 
> dirty: Added RootNode 0x9ba3a58 dirty= 0  ) 
> dirty: Matrix TransformNode( 0x9ba3a90 identity dirty= 0  ) 
> dirty: Added Node( 0x9bc79b0 dirty= 0 flags= 1  ) 
> dirty: Added TransformNode( 0x9bc73e0 identity dirty= 0  ) 
> Updater::updateStates() 
>  - nodes have been added 
>  - transforms have changed 
> 
> 
>  RootNode 0x9ba3a58 dirty= 0  ) 
>    TransformNode( 0x9ba3a90 identity dirty= 0  ) 
>      Node( 0x9bc79b0 dirty= 0 flags= 1  ) 
>        TransformNode( 0x9bc73e0 identity dirty= 0  ) 
>          Node( 0x9bc72d8 dirty= 0 flags= 1  ) 
>            TransformNode( 0x9bc7498 identity dirty= 0  ) 
>              Node( 0x9bc76c0 dirty= 0 flags= 1  ) 
>                TransformNode( 0x9bc76f0 identity dirty= 0  ) 
>                  Node( 0x9bc7808 dirty= 0 flags= 1  ) 
>                    GeometryNode( 0x9bc7838 strip #V: 4 #I: 4 x1= 0 y1= 0 x2= 100 y2= 100 materialtype= 0xb77093e4 ) dirty= 0 
>            TransformNode( 0x9bc7550 identity dirty= 0  ) 
>              Node( 0x9bc77a8 dirty= 0 flags= 1  ) 
>            TransformNode( 0x9bc7608 translate 0 600 0 dirty= 0  ) 
>              Node( 0x9bc77d8 dirty= 0 flags= 1  ) 
> Renderer::render() QSGRenderer(0x9bc6528) "rebuild: full" 
> Opaque render lists (complete) : 
>  - element: 0x9bc79e0  batch: 0x0  node: GeometryNode( 0x9bc7838 strip #V: 4 #I: 4 x1= 0 y1= 0 x2= 100 y2= 100 materialtype= 0xb77093e4 ) dirty= 0  order: 1 
> Alpha render list: (complete) : 
> Opaque Batches: 
>  - Batch  0 0x9bc7ff8 upload  root: 0x0 
>    - element: 0x9bc79e0  node: GeometryNode( 0x9bc7838 strip #V: 4 #I: 4 x1= 0 y1= 0 x2= 100 y2= 100 materialtype= 0xb77093e4 ) dirty= 0 1 
> Alpha Batches: 
> Uploading Opaque Batches: 
>  - batch 0x9bc7ff8  first: 0x9bc79e0  root: 0x0  merged: 1  positionAttribute 0  vbo: 0 : 76 
>   - uploading element: 0x9bc79e0 GeometryNode( 0x9bc7838 strip #V: 4 #I: 4 x1= 0 y1= 0 x2= 100 y2= 100 materialtype= 0xb77093e4 ) dirty= 0 0x9bc7e78 48 64 
>   -- Vertex Data, count: 4  -  12 bytes/vertex 
>   --- 0: 0:(2,float * 100 0 ) 1:(4,ubyte 255 0 0 255 )  Z:(0)
>   --- 1: 0:(2,float * 0 0 ) 1:(4,ubyte 255 0 0 255 )  Z:(0)
>   --- 2: 0:(2,float * 100 100 ) 1:(4,ubyte 255 0 0 255 )  Z:(0)
>   --- 3: 0:(2,float * 0 100 ) 1:(4,ubyte 255 0 0 255 )  Z:(0)
>   -- Index Data, count: 6 
>   ---  0 0 1 2 3 3 
>   -- DrawSet: indexCount: 6  vertices: 0  z: 48  indices: 64 
>   --- vertex/index buffers unmapped, batch upload completed... 
> Uploading Alpha Batches: 
> Rendering:
>  -> Opaque: 1 nodes in 1 batches...
>  -> Alpha: 0 nodes in 0 batches...
>  - Breakdown of render time: preprocess=0, updates=0, binding=0, render=10, total=11
> - Breakdown of frame time; sync: 0 ms render: 11 ms swap: 33 ms total: 46 ms time since last frame: 1 ms 
> dirty: Matrix TransformNode( 0x9bc7498 identity dirty= 0  ) 
> dirty: Matrix TransformNode( 0x9bc7608 translate 0 1280 0 dirty= 0  ) 
> dirty: Matrix TransformNode( 0x9bc73e0 identity dirty= 0  ) 
> dirty: Matrix TransformNode( 0x9ba3a90 identity dirty= 0  ) 
> Updater::updateStates() 
>  - transforms have changed 
> 
> 
>  RootNode 0x9ba3a58 dirty= 0  ) 
>    TransformNode( 0x9ba3a90 identity dirty= 0  ) 
>      Node( 0x9bc79b0 dirty= 0 flags= 1  ) 
>        TransformNode( 0x9bc73e0 identity dirty= 0  ) 
>          Node( 0x9bc72d8 dirty= 0 flags= 1  ) 
>            TransformNode( 0x9bc7498 identity dirty= 0  ) 
>              Node( 0x9bc76c0 dirty= 0 flags= 1  ) 
>                TransformNode( 0x9bc76f0 identity dirty= 0  ) 
>                  Node( 0x9bc7808 dirty= 0 flags= 1  ) 
>                    GeometryNode( 0x9bc7838 strip #V: 4 #I: 4 x1= 0 y1= 0 x2= 100 y2= 100 materialtype= 0xb77093e4 ) dirty= 0 
>            TransformNode( 0x9bc7550 identity dirty= 0  ) 
>              Node( 0x9bc77a8 dirty= 0 flags= 1  ) 
>            TransformNode( 0x9bc7608 translate 0 1280 0 dirty= 0  ) 
>              Node( 0x9bc77d8 dirty= 0 flags= 1  ) 
> Renderer::render() QSGRenderer(0x9bc6528) "rebuild: none" 
> Uploading Opaque Batches: 
>  - batch 0x9bc7ff8  first: 0x9bc79e0  root: 0x0  merged: 1  positionAttribute 0  vbo: 1 : 76 
>   - uploading element: 0x9bc79e0 GeometryNode( 0x9bc7838 strip #V: 4 #I: 4 x1= 0 y1= 0 x2= 100 y2= 100 materialtype= 0xb77093e4 ) dirty= 0 0x9bc7e78 48 64 
>   -- Vertex Data, count: 4  -  12 bytes/vertex 
>   --- 0: 0:(2,float * 100 0 ) 1:(4,ubyte 255 0 0 255 )  Z:(0)
>   --- 1: 0:(2,float * 0 0 ) 1:(4,ubyte 255 0 0 255 )  Z:(0)
>   --- 2: 0:(2,float * 100 100 ) 1:(4,ubyte 255 0 0 255 )  Z:(0)
>   --- 3: 0:(2,float * 0 100 ) 1:(4,ubyte 255 0 0 255 )  Z:(0)
>   -- Index Data, count: 6 
>   ---  0 0 1 2 3 3 
>   -- DrawSet: indexCount: 6  vertices: 0  z: 48  indices: 64 
>   --- vertex/index buffers unmapped, batch upload completed... 
> Uploading Alpha Batches: 
> Rendering:
>  -> Opaque: 1 nodes in 1 batches...
>  -> Alpha: 0 nodes in 0 batches...
>  - Breakdown of render time: preprocess=0, updates=0, binding=0, render=9, total=9
> - Breakdown of frame time; sync: 0 ms render: 9 ms swap: 38 ms total: 48 ms time since last frame: 48 ms 
> 
> 
> Can someone confirm that it 100% emulator bug?
> 
> -- 
> 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
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development




More information about the Development mailing list