| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: I4f12b9d823d8468b3a66de0242a5a6d6de27d702
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: I05bef741048fbb29fab261b48f48a20d1d131bcc
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/animation/backend/handle_types_p.h
src/extras/defaults/qtexturematerial.h
src/render/backend/entity_p.h
src/render/backend/handle_types_p.h
src/render/backend/renderview.cpp
src/render/io/scenemanager.cpp
Change-Id: Ic145062cc98360e9067fd60f0992c7a6b51e41bb
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It's not required anymore, as the resource manager can
grow as needed.
Change-Id: If509de7f2ef90e1af9729d8fc60d7ecb08ede687
Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/render/backend/abstractrenderer_p.h
src/render/backend/layer.cpp
src/render/backend/layer_p.h
src/render/backend/render-backend.pri
src/render/backend/renderer_p.h
src/render/backend/renderviewbuilder.cpp
tests/auto/render/renderer/tst_renderer.cpp
tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp
Change-Id: I5c1b649052992e1b3483d549ddc188c8450e927f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rework the way the QResourceManager allocates and manages
it's resources. Get rid of the huge pre-allocated freelist,
and instead merge it with the counter field (that is now
always a quintptr large).
Give QHandle a direct pointer to it's data in addition to
the counter. This makes QHandle 8 or 16 bytes large, but
speeds up access to it's data and gives more safety on the
counter as that one now always has at least 31 bits.
Counter and the linked freelist use the same memory location.
To avoid potential conflicts, make sure the counter is always
an odd number, so it can't be a valid pointer.
Do not use INDEXBITS anymore, the resource manager can now
always allocate as many resources as we have RAM available
and will grow with the required use (and not allocate fixed
memory upfront).
This change reduces the memory consumption of the qardboard
example from a bit above 40 to 10MB.
Change-Id: I514f2d3f957f8635098fb88342e42e3361456340
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: I69f37f9304f24709a823fffd14e676c097712329
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Id6a3d4ec579a2f2a2e559c22a2293d0e184f0bdf
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead, direclty use the Allocator to acquire and release handles
without an additional indirection. This removes around 30% of the
overhead in run().
Change-Id: Ic4a9343dd52a900eb1c7eb6b4135bc7670076df1
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| | |
It's not used anywhere
Change-Id: Id65ec9fc8e38697c0dbd23fe4f816e1637a22483
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We now handle the case where multiple LayerFilter nodes are nested
within the same FrameGraphBranch. We also have improved the Accept/Discard
into Accept Any/All and Discard Any/All which should now handle all
filtering cases.
We now build a list of layerIds stored into Entity based on the recursive
flags on the layers being set. This allows to make layer filtering simpler
but the layerIds list building step will need to be improved as a follow up
commit
Unit tests updated
Change-Id: I93451493e41c6c9486defa7e88eaee073a9bc932
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows to remove dependencies and reduce deployment size when a given
aspect is not required.
Change-Id: I5aa90e4825b375cd446c47727aa11d03c40703c9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|/
|
|
|
| |
Change-Id: Icd0e0d4b27cb4e5eb892fffd14b5285d43f4afbf
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I9c334605df7de650e94b26559a300fa4ae42271d
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
| |
Change-Id: Iaba592f39de968021602c1505d8819e995915a53
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
Currently the FramePreparationJob updates shader data transforms and
looks for meshes that needs to be converted to triangles for picking.
These are two distinct processings that could take place concurrently.
This is a first part of the split required to do so.
Change-Id: I1dabf04c0498b9d092ca48343e8572b471ce86c4
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Ic5b9447ef9ba54124553775b973d616af22b7032
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
| |
They may be reintroduced later if it appears to be a bottleneck, but it's
clearly not at this point.
Change-Id: I74009a9e75fba8e95b1d6c5cf562cfba3fc567f0
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
| |
As this is what it really does. The update bounding part is actually done by
the UpdateWorldTransformJob at the moment. This will be split and should allow
much better parallelizing of the tasks.
Change-Id: Iac31cc3a1029a50fae777f3edd3dc1667eb60b8e
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Will make it easier to set dependencies between all the jobs in a RenderView
since they have been split up in several.
Change-Id: I88db66998eb359768e251596828057c40deba88f
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Added QRenderAspectTester as friend for testing
Task-number: QTBUG-53569
Change-Id: Ia7adde188065a2ba02b7fd480fcfe545ccbf4720
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I85b8892e0980d001dcdeaf1741c1c0cc529da4a2
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I9ff89f440d91740a9d9e163707d87ad13022e51b
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
QBoundingVolumeDebug has been disabled for now. Will be re-enabled later on.
Change-Id: Id6b0abab2ec2aa697330bd20d782f9d104d25d50
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-51835
Change-Id: I4520bf38acc9b8a990d3f3bce3d96f2014c5637b
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
|
|
|
|
|
|
|
| |
No longer needed, as we can do all needed in onEngineStartup().
Task-number: QTBUG-51421
Change-Id: I64487b9f118aaad073e4e060bc5fd36f3a6dd16a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-51454
Change-Id: Iee08f6b1be39894c40926afb20e003d46bc735f4
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
| |
This is the first step in reworking the startup/shutdown code to
simplify it and provide a more symmetric API.
Task-number: QTBUG-51421
Change-Id: Ib06be1e7adb3f3d52b31d5e0a1ec598f39543f9a
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
| |
QFrameGraph did store just the Frame Graph Root, and was not configurable
at runtime. This functionality has been moved to QRenderSettings.
The renderer now gets the scene graph root directly from QRenderSettings.
Change-Id: I3012eb96b8073717f96f5e42374859a3f4a89bfc
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I3a279ec603bb69dec423a80db9ebb652bd458cce
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Updated license headers to use new GPL-EXCEPT header instead of LGPL3 one
(in those files which will be under GPL 3 with exceptions)
Change-Id: I930c6234bfe720d38c596bbc3d1f39be75a7328b
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Getting rid of set data and the refactoring on setting the surface implies
that:
- Given the FrameGraph configuration, there may be several RenderViews
each having a different RenderSurfaceSelector/Window
- This means that the Renderer/QRenderAspect can't know about the surface
before reading the scene
- This means that the Renderer may be dealing with more than 1 window
- This means that initialization, render and shutdown procedures will have to
be updated accordingly
Therefore the Renderer was refactored to:
- Be initialized without knowing about a surface
- For each RenderView, check the surface and if different from the previous
one:
* Make the context current with it
* Create the appropriate glHelpers (as Surfaces may have != formats)
TO DO:
- Fix picking
- Fix windows exposition
- Fix shutdown / detection of all windows beging closed
Change-Id: I49d070b05f46be4b26cfb57e494feba145d1da9c
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Also get rid of Qt3DRender::QWindow and of the hard codes camera
controller.
Change-Id: I307735d01caf97b7a690b28de8dc99fc9866c35f
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I0edb9fb0444d8a4a9b77550d5dd32d36d501683c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
This way we avoid leaking private types through public API.
Change-Id: Ifb30d7e57d8b995bba8cf9a95ae77f8d7818d79a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Iabc9afe59052e69725a82fb6bdb42f0dfae7fc91
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
| |
We switch to a more resilient private virtual instead.
Change-Id: I90710c7873571ca0a40f7cc939282344b20a59f0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Id69a161da691322184d8ec5ed7a1b375cf2038ed
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: Ie36f6f170b5b627d0ed371bcd1a8dc292e7226b3
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I662577e6dd337b1f056f73b4a11262e902d4dde2
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I0585281d2ba3e109b8ab8e45762e5101f7ea2163
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
| |
Change-Id: I4ca133aebad0c088296ab293f95f0a6d76d18395
Task-number: QTBUG-39946
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Added shadows to benchmarking test application to test two pass
rendering performance.
Change-Id: I81bb6e9fea32ab70d6c5c65a9ba787d976e2eaa0
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Update other aspects, tests and examples accordingly.
Change-Id: Ib1bcf0bdf4f5aec4422dc0c80bfc32b27fb1a317
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
error: no member named 'srand' in namespace 'std' when <cstdlib> is not
included.
Using int instead of bool in tst_raycasting
Change-Id: I03bc669a2a3683376523a25e854e485c6ba0e0c5
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Initial version of app for testing massive data sets. Sets up a scene
with lots of spheres.
Change-Id: Ibed8979ef9931c0c2be5e6e26b429d11010a701c
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Some of them do not compile:
tst_bench_qresourcesmanager.cpp(115) : error C2039: 'time' : is not a
member of 'std'
For now let's just skip them in wince builds.
Change-Id: Id58ef24431abeb2916836e7ab5a9a05f8c8eeb01
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
|
|
|
| |
As for preparation for Qt5.5 release the copyright header is
updated to correspond the current license requirements.
Change-Id: I36632918b66f455539453b42c369689fb11298ec
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
|
|
|
|
|
| |
Change-Id: I298fbaf819a118a5da4453082ec7f1484835480a
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Once we are happy with the API we can make this public for a future
release.
Change-Id: I914f087e10adddbadac1649a8b889b9f53f82fd2
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|