Skip to content
Snippets Groups Projects
  1. May 10, 2019
  2. May 04, 2019
  3. May 02, 2019
    • Friedemann Kleint's avatar
      QScenePrivate: Fix compiler warning about initialization order · 6f80588b
      Friedemann Kleint authored
      Initialize m_postConstructorInit before m_rootNode, fixing warning:
      qscene.cpp: In constructor 'Qt3DCore::QScenePrivate::QScenePrivate(Qt3DCore::QAspectEngine*)':
      qscene.cpp:75:12: warning: 'Qt3DCore::QScenePrivate::m_rootNode' will be initialized after [-Wreorder]
      qscene.cpp:72:45: warning:   'QScopedPointer<Qt3DCore::NodePostConstructorInit> Qt3DCore::QScenePrivate::m_postConstructorInit' [-Wreorder]
      
      Amends 985a6192
      
      .
      
      Task-number: QTBUG-74106
      Task-number: QTBUG-73905
      Change-Id: I53ced159cf86325d577464e6f5873eb83d1b2038
      Reviewed-by: default avatarPaul Lemire <paul.lemire@kdab.com>
      6f80588b
  4. Apr 26, 2019
  5. Apr 25, 2019
  6. Apr 22, 2019
  7. Apr 18, 2019
  8. Apr 16, 2019
    • Jim Albamont's avatar
      Fix FrameGraph node parenting · 993db3e1
      Jim Albamont authored
      
      Framegraph suffers from the same problem as Entities. When they are created
      they pass their parent FrameGraph node, and not their parent QNode. When
      reparenting them we need to make sure the same thing happens otherwise
      you get backend FrameGraph nodes parented to non-framegraph nodes and
      they are just dropped from backend.
      
      Change-Id: I1b9cab2c9e869c690c4c43208e62a1044b3359a4
      Reviewed-by: default avatarPaul Lemire <paul.lemire@kdab.com>
      993db3e1
  9. Apr 10, 2019
  10. Apr 09, 2019
  11. Apr 08, 2019
    • Jim Albamont's avatar
      Fix backend node creation order using an initialization queue · 985a6192
      Jim Albamont authored
      
      Backend nodes should always be created from the top-most parent down
      ensuring that every parent is created before its children. The original
      way of creating backend nodes by calling _q_postConstructorInit
      in a deferred manner from the QNode constructor breaks this because
      backend node creation happens in the order that the nodes on the
      front-end were created. This was often incorrect when reparenting
      newly created nodes.
      
      Fix by creating a queue of nodes needing a _q_postConstructorInit call
      and only adding nodes to the queue if one of their ancestors is not
      already in the queue. This ensures that _q_postConstructorInit is only
      called for the top-most node in any subtree.  This behavior exactly
      matches the creation behavior when building a subtree and reparenting
      it to a node with a backend.
      
      Doing silly things like creating a node with a parent that has a backend
      then immediately reparenting is now safe. After this patch, it should
      be safe to assume that backend nodes can always find their backend
      parent.
      
      Adding only the top-most nodes to the queue and processing the entire
      queue at one time also ensures that all creation events get sent in
      the same batch. This fixes the problem of having backend nodes referring
      to other backend nodes that haven't been created yet.
      
      Task-number: QTBUG-74106
      Task-number: QTBUG-73905
      Change-Id: Idcf38d6c3164f6be4394a3b25554547414061059
      Reviewed-by: default avatarPaul Lemire <paul.lemire@kdab.com>
      985a6192
  12. Apr 04, 2019
    • Mike Krus's avatar
      Remove unused code · 276be935
      Mike Krus authored
      
      Change-Id: I292b8b373e0f34dfc51f2a77f082fda920893e64
      Reviewed-by: default avatarPaul Lemire <paul.lemire@kdab.com>
      Reviewed-by: default avatarJames Turner <james.turner@kdab.com>
      2 tags
      276be935
    • Jim Albamont's avatar
      Fix Entity parenting hierarchy · bf2c2e9b
      Jim Albamont authored
      
      When the initial Entity backend node hierarchy is created it skips over
      any non-entity nodes to ensure that Entities are only parented to
      other Entities. Calling QNode::setParent breaks this when reparenting
      Entities to non-entity nodes.
      
      Fix by sending a new "parentEntityUpdated" property update that backend
      Entity nodes listen for. They keep the id of their new parent and flag
      the need to rebuild the entity hierarchy.  This triggers a new job to
      clear the children and parents of every backend Entity, then rebuilds
      the hierarchy using the stored parent ID in each Entity. This is much
      more forgiving of creation/parenting ordering issues and shouldn't be
      less performant because any Entity reparent was previously marking
      everything dirty anyway.
      
      Add a new test from QTBUG-73905 that creates 4 cylinders and manipulates
      the parents in different ways.
      
      Add a new test to tst_nodes to reparent a QEntity to a QNode and ensure
      the entity finds it's correct QEntity parent.
      
      Add a new test to tst_entity to ensure backend nodes correctly handle
      the new parenting events.
      
      Task-number: QTBUG-73905
      Change-Id: Iab0203947d89bbed2868b3629fbde879675fe568
      Reviewed-by: default avatarPaul Lemire <paul.lemire@kdab.com>
      bf2c2e9b
  13. Apr 03, 2019
  14. Apr 02, 2019
  15. Apr 01, 2019
  16. Mar 28, 2019
  17. Mar 21, 2019
    • Anton Kreuzkamp's avatar
      Scene3D: Call update on the item not the window · fa12f14b
      Anton Kreuzkamp authored
      
      On scene change QQuickWindow::update was called to ask the QQ2Renderer
      to rerender the scene. The problem here is, that calling
      QQuickWindow::update is percieved as a call to rerender under all
      circumstances, while QQuickItem::update only means update if the scene
      graph actually changed in the end. Using QQuickWindow::update the scene
      will be rerendered even if the Scene3D item is invisible, using
      QQuickItem::update it won't.
      
      Change-Id: I1ff455628d3e536349683b064acaeadd354ec864
      Fixes: QTBUG-72923
      Reviewed-by: default avatarSean Harmer <sean.harmer@kdab.com>
      fa12f14b
    • Kari Oikarinen's avatar
      Bump version · 7a0d2416
      Kari Oikarinen authored
      Change-Id: I62461afca838e2764b9f65d7b9be31c4d9f0b9c5
      7a0d2416
  18. Mar 20, 2019
  19. Mar 18, 2019
    • Mike Krus's avatar
      Don't reset texture units at every frame · e9868e15
      Mike Krus authored
      
      Resetting texture to unit assignment at every frame seems to trigger
      constant shader recompilation on macOS. Maybe GL driver is implemented
      on top of Metal which has more restrictions.
      
      Not resetting the assignment means the same texture units are used
      for consecutive frames and fixes excessive recompilation.
      
      Refactored the code to move the texture handling to separate class.
      
      Change-Id: I480f76e7e7b0ea669c6acb039cc3d079937ff97f
      Reviewed-by: default avatarPaul Lemire <paul.lemire@kdab.com>
      e9868e15
  20. Mar 15, 2019
  21. Mar 14, 2019
  22. Mar 12, 2019
    • Friedemann Kleint's avatar
      Fix deprecation warnings about Qt3DRender::QBuffer::BufferType · 6f7ac292
      Friedemann Kleint authored
      Remove the calls as 6158b4ae
      
      
      states that it no longer has any effect, fixing:
      
      gltfgeometryloader.cpp:333:18: warning: 'void Qt3DRender::QBuffer::setType(Qt3DRender::QBuffer::BufferType)' is deprecated [-Wdeprecated-declarations]
      gltfgeometryloader.cpp:371:54: warning: 'Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)' is deprecated [-Wdeprecated-declarations]
      basegeometryloader.cpp:155:39: warning: 'void Qt3DRender::QBuffer::setType(Qt3DRender::QBuffer::BufferType)' is deprecated [-Wdeprecated-declarations]
      basegeometryloader.cpp:202:46: warning: 'void Qt3DRender::QBuffer::setType(Qt3DRender::QBuffer::BufferType)' is deprecated [-Wdeprecated-declarations]
      instancebuffer.cpp:61:39: warning: 'Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)' is dep
      tst_qbuffer.cpp:79:96: warning: ‘Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)’ is deprecated [-Wdeprecated-declarations]
      tst_qbuffer.cpp:85:100: warning: ‘Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)’ is deprecated [-Wdeprecated-declarations]
      tst_qbuffer.cpp:128:109: warning: ‘Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)’ is deprecated [-Wdeprecated-declarations]
      tst_qbuffer.cpp:132:57: warning: ‘void Qt3DRender::QBuffer::setType(Qt3DRender::QBuffer::BufferType)’ is deprecated [-Wdeprecated-declarations]
      tst_attribute.cpp:56:68: warning: ‘Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)’ is deprecated [-Wdeprecated-declarations]
      tst_attribute.cpp:108:68: warning: ‘Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)’ is deprecated [-Wdeprecated-declarations]
      tst_buffer.cpp:74:68: warning: ‘Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)’ is deprecated [-Wdeprecated-declarations]
      tst_buffer.cpp:271:68: warning: ‘Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)’ is deprecated [-Wdeprecated-declarations]
      tst_buffer.cpp:297:68: warning: ‘Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)’ is deprecated [-Wdeprecated-declarations]
      tst_gltfplugins.cpp:519:95: warning: 'Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)' is deprecated [-Wdeprecated-declarations]
      tst_gltfplugins.cpp:574:95: warning: 'Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)' is deprecated [-Wdeprecated-declarations]
      tst_gltfplugins.cpp:967:83: warning: 'Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)' is deprecated [-Wdeprecated-declarations]
      tst_gltfplugins.cpp:969:82: warning: 'Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)' is deprecated [-Wdeprecated-declarations]
      tst_trianglesextractor.cpp:56:118: warning: 'Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)' is deprecated [-Wdeprecated-declarations]
      tst_trianglesextractor.cpp:57:116: warning: 'Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)' is deprecated [-Wdeprecated-declarations]
      tst_trianglesextractor.cpp:199:118: warning: 'Qt3DRender::QBuffer::QBuffer(Qt3DRender::QBuffer::BufferType, Qt3DCore::QNode*)' is deprecated [-Wdeprecated-declarations]
      
      Change-Id: I6835598a1771a0ec3a0b080911fa4cada210a01a
      Reviewed-by: default avatarPaul Lemire <paul.lemire@kdab.com>
      6f7ac292
  23. Mar 11, 2019
    • Sean Harmer's avatar
      Make slerping safer · 31aa763b
      Sean Harmer authored
      
      Now handles case where the two bounding keyframe quaternions are
      equal by returning the first as the interpolated value.
      
      Change-Id: I43d0dfb1e20afafd690817d30aeac2d510847422
      Reviewed-by: default avatarMike Krus <mike.krus@kdab.com>
      31aa763b
  24. Mar 07, 2019
    • Kai Koehne's avatar
      QAbstractTexture: Fix \since for handle, handleType · fa63d206
      Kai Koehne authored
      The properties added in  5149ff8c
      
       are new in 5.13, not 5.12
      
      Change-Id: I6780583bc2cfcc7ca846ea68d44c2e14d9a85f27
      Reviewed-by: default avatarPaul Lemire <paul.lemire@kdab.com>
      v5.13.0-beta1
      fa63d206
    • Kai Koehne's avatar
      Update plugins.qmltypes for Qt 5.13 · 45f1af9b
      Kai Koehne authored
      
      Task-number: QTBUG-73484
      Change-Id: I77bae973a9be7e01c674fd6bbccc0feb0c35e0f1
      Reviewed-by: default avatarKai Koehne <kai.koehne@qt.io>
      Reviewed-by: default avatarPaul Lemire <paul.lemire@kdab.com>
      45f1af9b
    • Kai Koehne's avatar
      QML: Fix registration of ShaderProgramBuilder · 433286da
      Kai Koehne authored
      The registration was missing the revision number.
      This augments d403604d
      
      .
      
      Change-Id: I730819a5a0135f490edde8667d23cd9c28f12afd
      Reviewed-by: default avatarPaul Lemire <paul.lemire@kdab.com>
      433286da
    • Kai Koehne's avatar
      QML: Properly revision new signals and slots in 5.13 · 534857be
      Kai Koehne authored
      
      All new signals, slots, ... available in QML should
      be revisioned.
      
      Change-Id: Ib91c65b2bcd64f93d8f536c6cb534390b8689d05
      Reviewed-by: default avatarPaul Lemire <paul.lemire@kdab.com>
      534857be
    • Friedemann Kleint's avatar
      Fix deprecation warnings about setDataType()/setDataSize() · 9c0dc429
      Friedemann Kleint authored
      
      Replace by new API, fixing:
      tst_gltfplugins.cpp:590:67: warning: 'void Qt3DRender::QAttribute::setDataType(Qt3DRender::QAttribute::VertexBaseType)' is deprecated [-Wdeprecated-declarations]
      tst_gltfplugins.cpp:591:39: warning: 'void Qt3DRender::QAttribute::setDataSize(uint)' is deprecated [-Wdeprecated-declarations]
      tst_gltfplugins.cpp:623:60: warning: 'void Qt3DRender::QAttribute::setDataType(Qt3DRender::QAttribute::VertexBaseType)' is deprecated [-Wdeprecated-declarations]
      tst_gltfplugins.cpp:624:32: warning: 'void Qt3DRender::QAttribute::setDataSize(uint)' is deprecated [-Wdeprecated-declarations]
      tst_gltfplugins.cpp:639:70: warning: 'void Qt3DRender::QAttribute::setDataType(Qt3DRender::QAttribute::VertexBaseType)' is deprecated [-Wdeprecated-declarations]
      tst_gltfplugins.cpp:640:34: warning: 'void Qt3DRender::QAttribute::setDataSize(uint)' is deprecated [-Wdeprecated-declarations]
      tst_gltfplugins.cpp:654:62: warning: 'void Qt3DRender::QAttribute::setDataType(Qt3DRender::QAttribute::VertexBaseType)' is deprecated [-Wdeprecated-declarations]
      tst_gltfplugins.cpp:655:34: warning: 'void Qt3DRender::QAttribute::setDataSize(uint)' is deprecated [-Wdeprecated-declarations]
      
      Change-Id: Ie5e379db148edf1853d1a7a2661e328612b35bae
      Reviewed-by: default avatarPaul Lemire <paul.lemire@kdab.com>
      9c0dc429
    • Friedemann Kleint's avatar
      tests/auto/render/render.pro: Remove duplicate entry "scene2d" · 4af8fcdc
      Friedemann Kleint authored
      
      The entry is added unconditionally and in a scope
      qtConfig(qt3d-input). Remove the first entry, fixing:
      
       Makefile:3343: warning: overriding recipe for target 'sub-scene2d-qmake_all'
       Makefile:2918: warning: ignoring old recipe for target 'sub-scene2d-qmake_all'
       Makefile:3347: warning: overriding recipe for target 'sub-scene2d'
       Makefile:2922: warning: ignoring old recipe for target 'sub-scene2d'
       Makefile:3350: warning: overriding recipe for target 'sub-scene2d-make_first'
      
      Change-Id: I6e702cdea2e31eb0de64c7efb7d39b56265fa6ef
      Reviewed-by: default avatarPaul Lemire <paul.lemire@kdab.com>
      4af8fcdc