summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix crash in Renderer::cleanupShaderHarald Vistnes2022-02-101-0/+3
| | | | | | | | | | Input parameter shader was not checked for null before being dereferenced. Added check for null to avoid this. Task-number: QTBUG-100568 Change-Id: I568b97169320ea4504955467fdf12584f5320a06 Reviewed-by: Mike Krus <mike.krus@kdab.com> (cherry picked from commit cb0751cdd983da7b93457ff15d0e0a0c19646e0a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Move Qt::Concurrent to the PUBLIC link sectionAlexey Edelev2021-12-201-1/+1
| | | | | | | | | | | | | | | | | | This is the workaround of QTBUG-86533. The Qt6::Concurrent target needs to be added to the IMPORTED_LINK_DEPENDENT_LIBRARIES_RELWITHDEBINFO property of the exported Qt::3DCore target. This doesn't happen bacause Qt6::Concurrent is INTERFACE_LIBK_LIBRARY propagted by versionless Qt::Concurrent target. Qt::3DCore links Qt::Concurrent only and due to the issue in CMake, CMake skips adding Qt6::Concurrent to the IMPORTED_LINK_DEPENDENT_LIBRARIES_RELWITHDEBINFO list. The workaround propagates the Qt::Concurrent to the Qt::3DCore consumers explixitly as the interface link library. Change-Id: I5ecbc1c9c695bd2ce6022f123ff1496cce3ff32a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit c11447185bcfd33d9edbc9508d6de066c62c3e60) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Don't attempt to build pugixml.cppJoerg Bornemann2021-12-101-2/+1
| | | | | | | | | | | | | | | pugixml is configured as header-only library by default. We must not compile pugixml.cpp. The qmake project file listed pugixml.cpp as source file, but it was not compiled, because qmake automatically detected that pugixml.cpp is included by pugixml.hpp. CMake does not have this automatism. Pick-to: 6.2 Fixes: QTBUG-97254 Change-Id: Ibaf434f326d42e2fdea79f359cc625338644ce4d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* OpenGL renderer: restore surface on context when shutting downPaul Lemire2021-11-301-27/+39
| | | | | | | | | | | | | | | | | | | | | When using a QQuickWidget and Qt3D, on shutdown and assert occurs. This is the result of the QQuickWidget expecting the surface on the context to be its own internal surface after the QQuickRenderControl has been invalidated. This conflict with what Qt3D does on shutdown as it makes the context current on its own internal offscreen surface on shutdown. Therefore, to fix this issue, we record the surface in use before Qt3D shuts down and we make the context current on it after Qt3D has shutdown. Arguably, the fix should really go in QQuickWidgetPrivate::invalidateRenderControl where the QQuickWidget should check that the current surface is indeed the one it expects and set it accordingly. Change-Id: I534dc330a30a2ad5d17a6416715d03206ef4b1c9 Pick-to: 6.2 5.15 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Revert "AnimationClip: fix the way we compute the duration"Paul Lemire2021-11-261-7/+4
| | | | | | | | | | | | Turns out we want the global clip duration and not the relative clip duration. Therefore global clip duration is always computed from 0. If the first keyframe is offset, then this means animation does nothing until t=offset. This reverts commit 7b23cb1ca5b32fcf24f889e79cec756786f86233. Pick-to: 6.2 5.15 Change-Id: Ic045a3cdea5eac4b8e35b75737e3ae6f00b9fa20 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Replace use of \oldcode-\newcodeLuca Di Sera2021-11-251-3/+5
| | | | | | | | | | | The command-pair was recently deprecated. The replacement code should produce an output that is equal to the previous one. Task-number: QTBUG-98499 Change-Id: I31a7cf8cb29e76dd73b676039b87c108af1bd1af Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* RHI: Fix content not updated when using OnDemand and switching texturesPaul Lemire2021-11-241-0/+5
| | | | | | | | | | | | | When changing a Parameter whose value is a texture, it takes Qt3D potentially two frames to process the scene fully before it is able to draw the updated content. This patch makes it so that if we know we have the flags ParametersDirty for frame N, we request to reprocess the scene once more on frame N+1. Change-Id: I9df868ce2aac857bad1a1cb1074038b9c5bcd907 Pick-to: 6.2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* OpenGL: Fix content not updated when using OnDemand and switching texturesPaul Lemire2021-11-241-0/+5
| | | | | | | | | | | | | When changing a Parameter whose value is a texture, it takes Qt3D potentially two frames to process the scene fully before it is able to draw the updated content. This patch makes it so that if we know we have the flags ParametersDirty for frame N, we request to reprocess the scene once more on frame N+1. Change-Id: Ia635e324434f92f8423a68b72d99350d96830de6 Pick-to: 6.2 5.15 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* AnimationClip: fix the way we compute the durationPaul Lemire2021-11-241-4/+7
| | | | | | | | | We wrongly assumed the start time of a clip was always 0. In practice this might not be the case. Therefore, we now compute duration as tEnd - tStart. Change-Id: I13ca860f3366c2aba5e978cb0c955e7bb2e7bc39 Pick-to: 6.2 5.15 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Move Q_DECLARE_PUBLIC to the public sectionThiago Macieira2021-11-232-0/+2
| | | | | | | This is now required to use QObjectPrivate::connect. Change-Id: Iccb47e5527544b6fbd75fffd16b8bd87f0818ad5 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Q*FActory: remove unused path argumentsThiago Macieira2021-11-2310-184/+23
| | | | | | | | | | Cargo-culted from somewhere but not used in any of these classes. This just made the code bigger for no reason. Task-number: QTBUG-97950 Pick-to: 6.2 Change-Id: Ice04365c72984d07a64dfffd16b48632888ed664 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix MSVC warning in opengl renderview.cppKai Köhne2021-11-221-1/+1
| | | | | | | | | Fix warnings like warning C4267: 'argument': conversion from 'size_t' to 'const int', possible loss of data Pick-to: 6.2 Change-Id: Ibfe45493a6627af6cedd0afa536d892ebd8be0e8 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QGeometryFactory: don't make op== virtualMarc Mutz2021-11-173-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | That's too clever, and it backfires with compilation errors in C++20 mode: qt3d/tests/auto/render/meshfunctors/tst_meshfunctors.cpp:129:29: error: ambiguous overload for ‘operator==’ (operand types are ‘MeshFunctorA’ and ‘MeshFunctorB’) 129 | QVERIFY(!(*functorA == *functorB)); | ~~~~~~~~~ ^~ ~~~~~~~~~ | | | | MeshFunctorA MeshFunctorB qt3d/tests/auto/render/meshfunctors/tst_meshfunctors.cpp:72:10: note: candidate: ‘virtual bool MeshFunctorB::operator==(const Qt3DCore::QGeometryFactory&) const’ (reversed) 72 | bool operator ==(const Qt3DCore::QGeometryFactory &other) const override | ^~~~~~~~ qt3d/tests/auto/render/meshfunctors/tst_meshfunctors.cpp:50:10: note: candidate: ‘virtual bool MeshFunctorA::operator==(const Qt3DCore::QGeometryFactory&) const’ 50 | bool operator ==(const Qt3DCore::QGeometryFactory &other) const override | ^~~~~~~~ Fix by providing a symmetric operator== for QGeometryFactory that delegates to a virtual equals() method. Pick-to: 6.2 5.15 Change-Id: I23d29ad1b16075629132f2b4757c5810d5615a36 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix licensing headersMike Krus2021-11-173-12/+45
| | | | | | | | | Historical copy/paste error, now correct. Task-number: QTBUG-98097 Pick-to: 6.2 Change-Id: I2152fa8d974f26e2aa9e7e3d560a1e8270e7aaf1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Revert "QVector<T>::const_iterator isn't always a const T*"Thiago Macieira2021-11-033-6/+3
| | | | | | | | | This reverts commit 1286bd5bf4348b52ec431be0c37197da9506df6e. Reason for revert: this change was binary-incompatible. Change-Id: Ic39284d5f8282ad4b175063220696ab60031c732 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* ComputeCommand: call markDirty(ComputeDirty) when enabled changesPaul Lemire2021-11-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | When using Manual run mode on a QComputeCommand, we rely on the enabled property changing to enable/disable the backend ComputeCommand for a given set of frames. Since we weren't setting any dirty flag when the enabled property changed, Qt 3D was not rebuilding the list of active compute commands but rather using the one stored in its cache. This resulted in the ComputeCommand, now disabled, to still be called for execution until something else triggered a command rebuild. The renderer calls ComputeDirty after it has executed a compute call. This explains why eventually we only had 2 calls (and not a perpetual loop) when calling trigger(1). One was the valid call, followed by the invalid one (and then the command list got rebuilt because of the ComputeDirty flag set by the renderer). Task-number: QTBUG-86493 Change-Id: I7b31606a03609dc13294256b1dac89ee86730ba1 Pick-to: 6.2 5.15 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* ObjectPicker: markDirty(AllDirty) when we change the enabled propertyPaul Lemire2021-11-031-2/+7
| | | | | | | | | Otherwise we would simply change it internally but this wouldn't lead to any actual changes in how we handle pick events. Change-Id: I71aedc74db538978a939620d053af3167fd67dc4 Pick-to: 6.2 5.15 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix compilation with latest qtbaseKai Köhne2021-10-283-6/+6
| | | | | | | | | | Make the conversion from QList<Type>::const_iterator to Type* pointer explicit; since qtbase commit 0220484329029fc75, QList doesn't support the implicit conversion anymore. Fixes: QTBUG-97708 Change-Id: Ief96263871c5fd1179bf625d1c3d1c31c5def1c8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QVector<T>::const_iterator isn't always a const T*Ville Voutilainen2021-10-253-3/+6
| | | | | | | | This manifests on android developer builds, where the build of qt3d failed because of this. Change-Id: Ic3bce6880b0d73f03bb2e27db278edd2981b061e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Doc: Replace \qmlproperty Object with QtObjectIvan Tkachenko2021-10-212-3/+3
| | | | | Change-Id: I950b2d2fe2e749e3e4bf752f78cb57b7a2cbaeab Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Reset ClipAnimator loop counter on cleanupMauro Persano2021-09-291-0/+1
| | | | | | | | | Otherwise, if a backend node with a loop counter larger than 1 is reused for a non-looping animation, the animation won't get played. Pick-to: 6.2 Change-Id: I5b043b9c844bba9b04edc5db383bdf0e3b92fe87 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Doc: Remove unsupported customFiltersKai Köhne2021-09-031-4/+0
| | | | | | | | | | customFilters defined in .qdocconf are not supported anymore by Qt Assistant since Qt 5.13. Therefore remove them from all .qdocconf files, also to avoid cargo-culting them to new help modules. Task-number: QTBUG-95987 Change-Id: Id1e91a54ba2774ad8b671a851ffc3c3064c9cbbe Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QRayCasterHitData: Fix warning about uninitialized baseThiago Macieira2021-08-311-1/+1
| | | | | | | qraycasterhit.cpp:54:5: warning: base class ‘class QSharedData’ should be explicitly initialized in the copy constructor [-Wextra] Change-Id: Ie72b0dd0fbe84d2caae0fffd16a0705840f195e5 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* CMake: Use renamed qt6_add_plugin PLUGIN_TYPE optionAlexandru Croitor2021-08-109-9/+9
| | | | | | | Task-number: QTBUG-95170 Pick-to: 6.2 Change-Id: I0dbbca4cd7f50af9b4aa192a05514f28b6f9658b Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Replace QT_BEGIN_LICENSE:LGPL3 headerKai Köhne2021-08-10206-2058/+2652
| | | | | | | | | | Replace outdated LGPL3 with LGPL header in src, and GPL3-EXCEPT in tests. Task-number: QTBUG-90321 Pick-to: 6.2 Change-Id: I3f6491cb402a993a4341a983c780337e8658c256 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* Picking: reuse LayerFilterJob to perform layer filteringPaul Lemire2021-08-097-98/+89
| | | | | | | | | | This fixes picking for cases where multiple LayerFilters using different filter modes are present in the FrameGraph. This also reduces code duplication. Pick-to: 6.2 6.1 5.15 Change-Id: I19d0c2c5777930820ab950cbf2bfe08ef7d2484f Reviewed-by: Mike Krus <mike.krus@kdab.com>
* CMake: Don't give plugins PUBLIC usage requirements part 2Li Xinwei2021-08-067-10/+10
| | | | | | | | | Amends ffccff03f347b971395cb212889921506d4a36f3 Pick-to: 6.2 Task-number: QTBUG-90819 Change-Id: Ic2cad9e60ecc73cf192fe5aadf770656fd9ed318 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QRenderAspect: look for opengl renderer by defaultPaul Lemire2021-08-051-1/+1
| | | | | | | | | | | Since rhi render plugin is not built by default, ensure we look for the OpenGL backend if QT3D_RENDERER is not set. Tests might fail otherwise. Pick-to: 6.2 6.1 Change-Id: I3bc268df9e29fb8fa28d0f424e56535db7bc9c57 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* CMake: Fix incorrect dependency on private modulesAlexandru Croitor2021-08-056-17/+34
| | | | | | | | | | | Public modules shouldn't propagate private modules as usage requirements. Pick-to: 6.2 Fixes: QTBUG-93428 Change-Id: Ic7aca0e8a6469604722596782e87d92d7e510e9e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mike Krus <mike.krus@kdab.com>
* CameraLens: use ParametersDirty rather than AllDirtyPaul Lemire2021-08-021-2/+2
| | | | | | | | | | | | | AllDirty would force a lot of recomputations that aren't needed. When the CameraLens changes the only things we need to do are: - update projection matrix in the shader and the frustum culling Those things are performed in the RenderCommand update stage which is triggered with ParametersDirty Change-Id: I27241f3ec323182b19fca7e5528d851680eeec8c Pick-to: 6.2 5.15 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Fix for QShaderNode fix that selected highest version number of a rulePaul Lemire2021-07-291-1/+2
| | | | | | | | | | | The rule selection still has to be made from last added rule to first so that format.support works correctly. - Update QShaderNode unit tests Pick-to: 6.2 6.1 5.15 Change-Id: I47af898ee0d82e91009efccf1dca9937feaca717 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* CMake: Don't give plugins PUBLIC usage requirementsLi Xinwei2021-07-229-9/+9
| | | | | | | | | | Plugins are not intended to be linked to. They should not have any public properties. Pick-to: 6.2 Task-number: QTBUG-90819 Change-Id: I2cc166c2b406ea0f416cbb117cbf8181cd173e8d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Disable RHI Renderer by defaultMike Krus2021-07-195-6/+24
| | | | | | | | | | | | | | | | | | | | RHI renderer use ShaderTools which is GPL licensed. This patch disables the plugin by default until Qt3D provides a suitable replacement for the dependency. To enable the RHI backend, compile Qt3D and pass parameter -DFEATURE_qt3d_rhi_renderer=ON to cmake. Unfortunate side effect of RHI backend being disabled is that when using Scene3D, the QtQuick renderer must be configured to use the opengl backend. [ChangeLog] RHI Backend is not longer built by default Task-number: QTBUG-94960 Pick-to: 6.1 6.2 Change-Id: I0bff7523e159b800734b58bfef37e5088d0a0d41 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Compile RHI shaders on iOSMike Krus2021-07-191-1/+1
| | | | | | | | | Make sure Metal shaders get generated on iOS as well as macOS. Task-number: QTBUG-95130 Pick-to: 6.1 6.2 Change-Id: I38276405bfa58fcac1f09b9928fe5b4aa7cabe58 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QCoreAspect: run the bounding volume job when Entity enabled changesPaul Lemire2021-07-091-1/+2
| | | | | | | Pick-to: 6.2 6.1 Task-number: QTBUG-93035 Change-Id: I7157783e195b274001e81662e7e3929c32fbc8a1 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Rerun bounding volume update jobs when entity enabled property changesPaul Lemire2021-07-091-3/+6
| | | | | | | | | | | | Otherwise, this results in the bounding volume being out of sync with entities (an entity initially disabled that gets enabled would have an empty bounding volume) until some other events in the scene triggers a rebuild. Pick-to: 6.2 6.1 5.15 Task-number: QTBUG-93035 Change-Id: Ia21eec0eb5601169e1789321080803a5aed12e82 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Change bounding update propagationMike Krus2021-06-216-38/+103
| | | | | | | | | | | | | | | Previously, bounding computation results from the core aspect were propagated to the render aspect via the front end objects. This introduces a job watcher which gets called with the results and the render aspect can update it's backend data directly. The watcher process method is called in the thread of the core aspect job but the render aspect job will wait for that complete anyway (since it depends on the core aspect job). Pick-to: 6.1 6.2 Change-Id: Ie59337f00025fd55fc723a7d105342e0b1e91d6c Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Partially Revert "Remove custom gltf tool"Mike Krus2021-06-208-0/+938
| | | | | | | | | In b9994cd88925ca012d66e52d033cc9a3a909fc7a, we removed the tool and the parser. This restores the parser, but the tool was unmaintained. Pick-to: 6.1 6.2 Change-Id: I168e720b7fdf65aafebb9652933d8093f5449bdc Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Use RHI for Qt3DQuickWindowMike Krus2021-06-191-1/+1
| | | | | | Pick-to: 6.1 6.2 Change-Id: If9c4c17879fd99923cce096a21edb939ae5de1b9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix multi-view pickingMike Krus2021-06-144-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | When using Scene3DView, qt3d still has a single scene graph and and a single framegraph. It automatically creates layers and layer filters to make sure the right objects are only rendered in the right view. This affects picking though as it was not aware of layer filters. This patch collects the filtered layers for each view and makes sure only entities matching those layers are tested for picking (this uses code that existed for ray casting). This changes the behavior of Qt3D though as non rendered objects (ie, excluded by layer filtering) are no longer pickable. Only way now would be to provide a shader that just discarded everything. Note: Scene3DView is not available in Qt6 so on this branch this only really affects custom scenes with multiple views each showing different content. [ChangeLog] Non rendered entities (due to layer filtering) are no longer pickable Pick-to: 6.1 6.2 5.15 Ticket-number: QTBUG-94214 Change-Id: I8515368e43342b33ac219dff533e92efa72fbe7d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QChannel/QChannelComponent: Export comparison operatorsFriedemann Kleint2021-06-072-8/+8
| | | | | | Pick-to: 6.1 Change-Id: I44d1400da38949285f1c12c17bba3561b36f6dc9 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Doc: Use \deprecated instead of \obsoletePaul Wicking2021-06-071-7/+7
| | | | | | Task-number: QTBUG-93990 Change-Id: I4c5a88b3bb882b8e72de65530ceb60cade2eaeaa Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Update to latest CMake API for QMLUlf Hermann2021-06-0510-56/+68
| | | | | | | Task-number: QTBUG-91621 Change-Id: I5c242223fc58a6980fcb3a909997ed7f966624b1 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Use fixed qt_add_resource BASE argumentJoerg Bornemann2021-06-041-1/+1
| | | | | | | Task-number: QTBUG-86726 Change-Id: I2a7748b67b55008962809ece1a34c6cf2a0617bb Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Update assimp submoduleJani Heikkinen2021-06-022-2/+2
| | | | | | Change-Id: Ifee3593b8b55ce8ccbdd9cae57f290b1117303d6 Reviewed-by: Jonas Karlsson <jonas.karlsson@qt.io> Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Doc: Update the usage of \default QDoc commandTopi Reinio2021-06-023-3/+3
| | | | | | | | | The \default command now expects a parameter and is used for documenting a default value for a parameter. Use the \qmldefault instead which sets a property as the default property for a QML type. Change-Id: I396e53072c55f2e3c555fded5ff1591c8eca11c1 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Don't export QKeyFrame which is fully implemented in the headerPaul Lemire2021-06-021-1/+1
| | | | | | | | This otherwise leads to inconsistent dll linkage warnigns on windows. Change-Id: I4f32f2fd2cc45939187535b8232172b280df7316 Pick-to: 6.1 6.0 5.15 Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Use correct name of the internal Zlib moduleAlexey Edelev2021-05-231-1/+1
| | | | | | | | Zlib is renamed in Qt to ZlibPrivate according to the internal module naming policy. Change-Id: Icd4c34caad90440bba1a169f4beb5808d99c4b8b Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QShaderNode: use rule with highest version numberMauro Persano2021-05-041-5/+8
| | | | | | | | | | | Pick the supported rule with highest version number. For instance, if we're looking for a rule for OpenGL ES 3.2, and there's a rule for ES 2.0 and another one for ES 3.0, make sure the rule for ES 3 is selected. Pick-to: 6.1 5.15 Change-Id: Ie517206948bc0422f6254472de43cda4dd2ce982 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix call to drawBuffers in SubmissionContextMauro Persano2021-05-031-1/+1
| | | | | | | | | | | Implementations of GraphicsHelperInterface::drawBuffers expect an array of zero-based attachment point indexes (GL_COLOR_ATTACHMENT0 is added to the indexes internally), so we can't convert the attachment index to an OpenGL enum before calling drawBuffers. Pick-to: 6.1 5.15 Change-Id: Ibc8af9f7c402b055c5391ad673b815c1fb65a40a Reviewed-by: Paul Lemire <paul.lemire@kdab.com>