[Development] New SceneGraph related issue

Tomasz Olszak olszak.tomasz at gmail.com
Wed Sep 11 23:12:40 CEST 2013


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.
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

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130911/82592afb/attachment.html>


More information about the Development mailing list