From 2fbe031dbfb61599dc175bd2a4c1f1e51f73df30 Mon Sep 17 00:00:00 2001 From: Kalila L Date: Thu, 26 Aug 2021 17:59:55 -0400 Subject: [PATCH 01/26] Update OpenVR to 1.16.8 in VCPKG, hash is still incorrect. --- cmake/ports/openvr/CONTROL | 2 +- cmake/ports/openvr/portfile.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/ports/openvr/CONTROL b/cmake/ports/openvr/CONTROL index b0f337d0a9..b9e748537b 100644 --- a/cmake/ports/openvr/CONTROL +++ b/cmake/ports/openvr/CONTROL @@ -1,3 +1,3 @@ Source: openvr -Version: 1.0.16 +Version: 1.16.8 Description: an API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting. diff --git a/cmake/ports/openvr/portfile.cmake b/cmake/ports/openvr/portfile.cmake index bcbac8613a..c7d514a22f 100644 --- a/cmake/ports/openvr/portfile.cmake +++ b/cmake/ports/openvr/portfile.cmake @@ -3,7 +3,7 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ValveSoftware/openvr - REF v1.11.11 + REF v1.16.8 SHA512 25bddb0e82eea091fe5101d0d3de1de7bb81b4504adc0c8d8e687d2502c0167bc5a11e68bc343d7563fb4db7c917e9d0e2ea99bc1d8016d479874b0c6bd7f121 HEAD_REF master ) From 826149ae7a4d5498a102808916f8975c6a1484bb Mon Sep 17 00:00:00 2001 From: Kalila L Date: Fri, 27 Aug 2021 00:55:35 -0400 Subject: [PATCH 02/26] Update hash of OpenVR to 1.16.8 in VCPKG. --- cmake/ports/openvr/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/ports/openvr/portfile.cmake b/cmake/ports/openvr/portfile.cmake index c7d514a22f..76859b523b 100644 --- a/cmake/ports/openvr/portfile.cmake +++ b/cmake/ports/openvr/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ValveSoftware/openvr REF v1.16.8 - SHA512 25bddb0e82eea091fe5101d0d3de1de7bb81b4504adc0c8d8e687d2502c0167bc5a11e68bc343d7563fb4db7c917e9d0e2ea99bc1d8016d479874b0c6bd7f121 + SHA512 bc65fd2fc2aab870c7fee98f5211b7d88cd30511ce5b23fa2ac05454969b6ee56b42e422e44a16a833b317bb1328e0ed986c926e3d78abddf5fd5788ff74de91 HEAD_REF master ) From bfa10852a22c75e631f31bc890d8127769dace64 Mon Sep 17 00:00:00 2001 From: Kalila L Date: Sat, 28 Aug 2021 17:37:34 -0400 Subject: [PATCH 03/26] Fix OpenVrHelpers.cpp for updating OpenVR to 1.16.8. --- plugins/openvr/src/OpenVrHelpers.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/openvr/src/OpenVrHelpers.cpp b/plugins/openvr/src/OpenVrHelpers.cpp index eed2242602..d22aecaa1f 100644 --- a/plugins/openvr/src/OpenVrHelpers.cpp +++ b/plugins/openvr/src/OpenVrHelpers.cpp @@ -411,6 +411,14 @@ void showMinSpecWarning() { if (!vrOverlay) { qFatal("Unable to initialize SteamVR overlay manager"); } + auto vrChaperone = vr::VRChaperone(); + if (!vrChaperone) { + qFatal("Unable to initialize SteamVR chaperone"); + } + auto vrCompositor = vr::VRCompositor(); + if (!vrCompositor) { + qFatal("Unable to initialize SteamVR compositor"); + } vr::VROverlayHandle_t minSpecFailedOverlay = 0; if (vr::VROverlayError_None != vrOverlay->CreateOverlay(FAILED_MIN_SPEC_OVERLAY_NAME, FAILED_MIN_SPEC_OVERLAY_FRIENDLY_NAME, &minSpecFailedOverlay)) { @@ -443,7 +451,7 @@ void showMinSpecWarning() { }); #endif - vrSystem->ResetSeatedZeroPose(); + vrChaperone->ResetZeroPose(vrCompositor->GetTrackingSpace()); QString imagePath = PathUtils::resourcesPath() + "/images/steam-min-spec-failed.png"; vrOverlay->SetOverlayFromFile(minSpecFailedOverlay, imagePath.toLocal8Bit().toStdString().c_str()); vrOverlay->SetOverlayWidthInMeters(minSpecFailedOverlay, 1.4f); From ac9229ace03330cee264908ee33e5b52d2789c7a Mon Sep 17 00:00:00 2001 From: David Rowe Date: Sun, 29 Aug 2021 21:34:31 +1200 Subject: [PATCH 04/26] Fix avatar crash --- libraries/physics/src/MultiSphereShape.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libraries/physics/src/MultiSphereShape.cpp b/libraries/physics/src/MultiSphereShape.cpp index ca5346cd4c..1d2525741c 100644 --- a/libraries/physics/src/MultiSphereShape.cpp +++ b/libraries/physics/src/MultiSphereShape.cpp @@ -486,7 +486,10 @@ void MultiSphereShape::calculateDebugLines() { break; } } - } + } + if (radiuses.size() == 0) { + radiuses.push_back(0.0f); + } calculateChamferBox(_debugLines, radiuses, axes, _midPoint); } else if (_spheres.size() == 8) { std::vector axes; From e3c28a5dc8b51306e5ea6ea2fe345af2a6848734 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Mon, 6 Sep 2021 16:28:38 +1200 Subject: [PATCH 05/26] Alternative crash fix --- libraries/physics/src/MultiSphereShape.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libraries/physics/src/MultiSphereShape.cpp b/libraries/physics/src/MultiSphereShape.cpp index 1d2525741c..ce00a7c40f 100644 --- a/libraries/physics/src/MultiSphereShape.cpp +++ b/libraries/physics/src/MultiSphereShape.cpp @@ -487,9 +487,6 @@ void MultiSphereShape::calculateDebugLines() { } } } - if (radiuses.size() == 0) { - radiuses.push_back(0.0f); - } calculateChamferBox(_debugLines, radiuses, axes, _midPoint); } else if (_spheres.size() == 8) { std::vector axes; @@ -512,6 +509,11 @@ void MultiSphereShape::connectEdges(std::vector> void MultiSphereShape::calculateChamferBox(std::vector>& outLines, const std::vector& radiuses, const std::vector& axes, const glm::vec3& translation) { std::vector> sphereLines; + + if (radiuses.size() == 0) { + return; + } + calculateSphereLines(sphereLines, glm::vec3(0.0f), radiuses[0]); std::vector regions = { From 96708f5fe3c1d85474338b2a602882304ad0ccd4 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 7 Sep 2021 18:58:37 +1200 Subject: [PATCH 06/26] Move crash fix --- libraries/physics/src/MultiSphereShape.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libraries/physics/src/MultiSphereShape.cpp b/libraries/physics/src/MultiSphereShape.cpp index ce00a7c40f..71702ac62b 100644 --- a/libraries/physics/src/MultiSphereShape.cpp +++ b/libraries/physics/src/MultiSphereShape.cpp @@ -508,12 +508,11 @@ void MultiSphereShape::connectEdges(std::vector> } void MultiSphereShape::calculateChamferBox(std::vector>& outLines, const std::vector& radiuses, const std::vector& axes, const glm::vec3& translation) { - std::vector> sphereLines; - if (radiuses.size() == 0) { return; } + std::vector> sphereLines; calculateSphereLines(sphereLines, glm::vec3(0.0f), radiuses[0]); std::vector regions = { From 88b00452582f5038449094a6e7ff7889901beabf Mon Sep 17 00:00:00 2001 From: Kalila <69767640+digisomni@users.noreply.github.com> Date: Tue, 7 Sep 2021 19:03:32 -0400 Subject: [PATCH 07/26] Update .grenrc.js --- .grenrc.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.grenrc.js b/.grenrc.js index 0ac3acc842..689363bb14 100644 --- a/.grenrc.js +++ b/.grenrc.js @@ -19,6 +19,8 @@ module.exports = { "ignoreLabels": [ "enhancement", "bugfix", + "CMake", + "unmerged-dev", "CR Approved", "QA Approved", "allow-build-upload", @@ -33,11 +35,12 @@ module.exports = { "rebuild", "merge right before snip" ], - "onlyMilestones": true, + "onlyMilestones": false, "groupBy": { "Enhancements": ["enhancement"], "Bug Fixes": ["bugfix"], - "Docs": ["docs"] + "Docs": ["docs"], + "In Development": ["unmerged-dev"] }, "changelogFilename": "CHANGELOG.md" } From ab4d70760e71d9a79f64407196cb3259eb2860dc Mon Sep 17 00:00:00 2001 From: Heather Anderson Date: Fri, 10 Sep 2021 21:40:54 -0700 Subject: [PATCH 08/26] review and cleanup of "#include " --- assignment-client/src/Agent.h | 1 + assignment-client/src/AssignmentClient.h | 1 + assignment-client/src/AssignmentClientMonitor.h | 1 + assignment-client/src/assets/AssetServer.h | 1 + assignment-client/src/audio/AudioMixer.h | 2 ++ assignment-client/src/audio/AudioMixerClientData.h | 1 + assignment-client/src/avatars/AvatarMixer.h | 2 ++ assignment-client/src/avatars/AvatarMixerClientData.h | 1 + assignment-client/src/entities/EntityServer.h | 2 ++ assignment-client/src/messages/MessagesMixer.h | 2 ++ assignment-client/src/octree/OctreeHeadlessViewer.h | 2 ++ assignment-client/src/octree/OctreeInboundPacketProcessor.h | 2 ++ assignment-client/src/octree/OctreeServer.h | 1 + assignment-client/src/scripts/EntityScriptServer.h | 1 + domain-server/src/DomainGatekeeper.h | 1 + domain-server/src/DomainServerSettingsManager.h | 1 + ice-server/src/IceServer.cpp | 1 + ice-server/src/IceServer.h | 1 - interface/src/Application.h | 1 + interface/src/InterfaceParentFinder.cpp | 2 ++ interface/src/LoginStateManager.h | 1 - interface/src/avatar/AvatarManager.h | 1 - interface/src/avatar/GrabManager.cpp | 1 + interface/src/commerce/Wallet.h | 2 ++ interface/src/octree/OctreePacketProcessor.h | 2 ++ interface/src/raypick/CollisionPick.h | 2 ++ interface/src/scripting/ScreenshareScriptingInterface.h | 1 + interface/src/scripting/SelectionScriptingInterface.h | 1 + interface/src/scripting/WalletScriptingInterface.cpp | 1 + interface/src/ui/JSConsole.h | 1 - interface/src/ui/SnapshotAnimated.h | 1 + interface/src/ui/overlays/ContextOverlayInterface.h | 1 + libraries/animation/src/AnimNodeLoader.h | 1 + libraries/animation/src/AnimationCache.h | 1 + libraries/audio-client/src/AudioClient.h | 1 + libraries/audio-client/src/AudioIOStats.h | 1 + libraries/audio/src/AbstractAudioInterface.cpp | 2 -- libraries/audio/src/AudioInjectorManager.cpp | 1 + libraries/audio/src/Sound.h | 1 + libraries/audio/src/SoundCache.h | 2 ++ libraries/avatars/src/ClientTraitsHandler.h | 2 ++ libraries/baking/src/MaterialBaker.h | 2 ++ libraries/baking/src/ModelBaker.h | 1 + .../display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp | 1 + libraries/entities-renderer/src/EntityTreeRenderer.h | 1 + libraries/entities-renderer/src/RenderableWebEntityItem.h | 1 + libraries/entities/src/EntityEditPacketSender.h | 2 ++ libraries/entities/src/EntityScriptServerLogClient.h | 1 + libraries/entities/src/EntityScriptingInterface.h | 1 + .../material-networking/src/material-networking/ShaderCache.h | 1 + .../material-networking/src/material-networking/TextureCache.h | 1 + libraries/model-networking/src/model-networking/ModelCache.h | 2 ++ libraries/networking/src/AssetClient.h | 1 + libraries/networking/src/BaseAssetScriptingInterface.h | 1 + libraries/networking/src/DomainHandler.h | 1 + libraries/networking/src/EntityScriptClient.h | 2 ++ libraries/networking/src/LimitedNodeList.h | 1 + libraries/networking/src/MappingRequest.cpp | 1 + libraries/networking/src/MessagesClient.h | 1 + libraries/networking/src/NLPacket.h | 2 -- libraries/networking/src/NLPacketList.h | 1 + libraries/networking/src/NetworkPeer.h | 1 + libraries/networking/src/NodeData.h | 1 - libraries/networking/src/ReceivedMessage.cpp | 2 -- libraries/networking/src/ReceivedMessage.h | 1 + libraries/networking/src/ReceivedPacketProcessor.h | 1 + libraries/octree/src/OctreePersistThread.h | 1 + libraries/physics/src/ObjectDynamic.cpp | 2 ++ libraries/plugins/src/plugins/DisplayPlugin.h | 1 + libraries/plugins/src/plugins/PluginManager.h | 1 + libraries/procedural/src/procedural/ProceduralMaterialCache.h | 2 ++ libraries/qml/src/qml/OffscreenSurface.h | 1 - libraries/qml/src/qml/impl/SharedObject.h | 1 - libraries/recording/src/recording/ClipCache.h | 2 ++ libraries/render-utils/src/FboCache.h | 2 +- libraries/script-engine/src/RecordingScriptingInterface.h | 1 + libraries/script-engine/src/ScriptEngine.h | 1 + libraries/script-engine/src/ScriptEngines.cpp | 1 + libraries/script-engine/src/ScriptEngines.h | 1 + libraries/shared/src/BaseScriptEngine.h | 1 + libraries/shared/src/DependencyManager.h | 2 +- libraries/shared/src/SettingHandle.h | 1 + libraries/shared/src/SpatiallyNestable.cpp | 2 ++ libraries/shared/src/shared/ScriptInitializerMixin.h | 1 - libraries/ui/src/CursorManager.cpp | 1 + libraries/ui/src/DesktopPreviewProvider.h | 1 + libraries/ui/src/VirtualPadManager.cpp | 1 + libraries/ui/src/ui/OffscreenQmlSurface.cpp | 1 + libraries/ui/src/ui/TabletScriptingInterface.h | 1 + libraries/ui/src/ui/types/ContextAwareProfile.h | 1 - plugins/JSAPIExample/src/JSAPIExample.cpp | 1 + tools/gpu-frame-player/src/main.cpp | 1 + tools/ice-client/src/ICEClientApp.cpp | 1 + tools/oven/src/DomainBaker.h | 1 + 94 files changed, 102 insertions(+), 17 deletions(-) diff --git a/assignment-client/src/Agent.h b/assignment-client/src/Agent.h index b8e7652cca..eb58e32897 100644 --- a/assignment-client/src/Agent.h +++ b/assignment-client/src/Agent.h @@ -17,6 +17,7 @@ #include #include +#include #include #include #include diff --git a/assignment-client/src/AssignmentClient.h b/assignment-client/src/AssignmentClient.h index ecee81e337..2cf130b727 100644 --- a/assignment-client/src/AssignmentClient.h +++ b/assignment-client/src/AssignmentClient.h @@ -15,6 +15,7 @@ #include #include +#include #include "ThreadedAssignment.h" diff --git a/assignment-client/src/AssignmentClientMonitor.h b/assignment-client/src/AssignmentClientMonitor.h index 20d4a6767b..ffd6505c6c 100644 --- a/assignment-client/src/AssignmentClientMonitor.h +++ b/assignment-client/src/AssignmentClientMonitor.h @@ -17,6 +17,7 @@ #include #include #include +#include #include #include diff --git a/assignment-client/src/assets/AssetServer.h b/assignment-client/src/assets/AssetServer.h index fe84df5141..a4531da7ba 100644 --- a/assignment-client/src/assets/AssetServer.h +++ b/assignment-client/src/assets/AssetServer.h @@ -13,6 +13,7 @@ #define hifi_AssetServer_h #include +#include #include #include diff --git a/assignment-client/src/audio/AudioMixer.h b/assignment-client/src/audio/AudioMixer.h index c7726d2fea..5b75ed54d2 100644 --- a/assignment-client/src/audio/AudioMixer.h +++ b/assignment-client/src/audio/AudioMixer.h @@ -12,6 +12,8 @@ #ifndef hifi_AudioMixer_h #define hifi_AudioMixer_h +#include + #include #include #include diff --git a/assignment-client/src/audio/AudioMixerClientData.h b/assignment-client/src/audio/AudioMixerClientData.h index 16c849c216..b6f26aebc0 100644 --- a/assignment-client/src/audio/AudioMixerClientData.h +++ b/assignment-client/src/audio/AudioMixerClientData.h @@ -20,6 +20,7 @@ #endif #include +#include #include #include diff --git a/assignment-client/src/avatars/AvatarMixer.h b/assignment-client/src/avatars/AvatarMixer.h index 1a19a61bd2..92821277de 100644 --- a/assignment-client/src/avatars/AvatarMixer.h +++ b/assignment-client/src/avatars/AvatarMixer.h @@ -16,6 +16,8 @@ #ifndef hifi_AvatarMixer_h #define hifi_AvatarMixer_h +#include + #include #include #include diff --git a/assignment-client/src/avatars/AvatarMixerClientData.h b/assignment-client/src/avatars/AvatarMixerClientData.h index 83a2ff384a..e77eb4d070 100644 --- a/assignment-client/src/avatars/AvatarMixerClientData.h +++ b/assignment-client/src/avatars/AvatarMixerClientData.h @@ -19,6 +19,7 @@ #include #include +#include #include #include "MixerAvatar.h" diff --git a/assignment-client/src/entities/EntityServer.h b/assignment-client/src/entities/EntityServer.h index 9bb3a237e0..3d79ee48bf 100644 --- a/assignment-client/src/entities/EntityServer.h +++ b/assignment-client/src/entities/EntityServer.h @@ -14,6 +14,8 @@ #include "../octree/OctreeServer.h" +#include + #include #include diff --git a/assignment-client/src/messages/MessagesMixer.h b/assignment-client/src/messages/MessagesMixer.h index 9a43aca347..0070cbad4d 100644 --- a/assignment-client/src/messages/MessagesMixer.h +++ b/assignment-client/src/messages/MessagesMixer.h @@ -15,6 +15,8 @@ #ifndef hifi_MessagesMixer_h #define hifi_MessagesMixer_h +#include + #include /// Handles assignments of type MessagesMixer - distribution of avatar data to various clients diff --git a/assignment-client/src/octree/OctreeHeadlessViewer.h b/assignment-client/src/octree/OctreeHeadlessViewer.h index 17173718e8..2c256c8516 100644 --- a/assignment-client/src/octree/OctreeHeadlessViewer.h +++ b/assignment-client/src/octree/OctreeHeadlessViewer.h @@ -12,6 +12,8 @@ #ifndef hifi_OctreeHeadlessViewer_h #define hifi_OctreeHeadlessViewer_h +#include + #include #include diff --git a/assignment-client/src/octree/OctreeInboundPacketProcessor.h b/assignment-client/src/octree/OctreeInboundPacketProcessor.h index a7fa297d24..101debe5f0 100644 --- a/assignment-client/src/octree/OctreeInboundPacketProcessor.h +++ b/assignment-client/src/octree/OctreeInboundPacketProcessor.h @@ -14,6 +14,8 @@ #ifndef hifi_OctreeInboundPacketProcessor_h #define hifi_OctreeInboundPacketProcessor_h +#include + #include #include "SequenceNumberStats.h" diff --git a/assignment-client/src/octree/OctreeServer.h b/assignment-client/src/octree/OctreeServer.h index 3ae4dddee9..43623768bf 100644 --- a/assignment-client/src/octree/OctreeServer.h +++ b/assignment-client/src/octree/OctreeServer.h @@ -17,6 +17,7 @@ #include #include #include +#include #include diff --git a/assignment-client/src/scripts/EntityScriptServer.h b/assignment-client/src/scripts/EntityScriptServer.h index b795339174..b7929eb5af 100644 --- a/assignment-client/src/scripts/EntityScriptServer.h +++ b/assignment-client/src/scripts/EntityScriptServer.h @@ -16,6 +16,7 @@ #include #include +#include #include #include diff --git a/domain-server/src/DomainGatekeeper.h b/domain-server/src/DomainGatekeeper.h index 94f760d42e..b24f550483 100644 --- a/domain-server/src/DomainGatekeeper.h +++ b/domain-server/src/DomainGatekeeper.h @@ -20,6 +20,7 @@ #include #include +#include #include diff --git a/domain-server/src/DomainServerSettingsManager.h b/domain-server/src/DomainServerSettingsManager.h index 3d4f6cd626..24c8eb0f05 100644 --- a/domain-server/src/DomainServerSettingsManager.h +++ b/domain-server/src/DomainServerSettingsManager.h @@ -17,6 +17,7 @@ #include #include #include +#include #include #include diff --git a/ice-server/src/IceServer.cpp b/ice-server/src/IceServer.cpp index d42c0a4e2a..d5eb52b216 100644 --- a/ice-server/src/IceServer.cpp +++ b/ice-server/src/IceServer.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include diff --git a/ice-server/src/IceServer.h b/ice-server/src/IceServer.h index e68115f7ef..b13a06f44b 100644 --- a/ice-server/src/IceServer.h +++ b/ice-server/src/IceServer.h @@ -14,7 +14,6 @@ #define hifi_IceServer_h #include -#include #include #include diff --git a/interface/src/Application.h b/interface/src/Application.h index e771d7ea38..165326215f 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include diff --git a/interface/src/InterfaceParentFinder.cpp b/interface/src/InterfaceParentFinder.cpp index 0f1c8876a9..411b156c14 100644 --- a/interface/src/InterfaceParentFinder.cpp +++ b/interface/src/InterfaceParentFinder.cpp @@ -11,6 +11,8 @@ #include "InterfaceParentFinder.h" +#include + #include #include #include diff --git a/interface/src/LoginStateManager.h b/interface/src/LoginStateManager.h index b898303ba6..0c1a0249a6 100644 --- a/interface/src/LoginStateManager.h +++ b/interface/src/LoginStateManager.h @@ -11,7 +11,6 @@ #ifndef hifi_LoginStateManager_h #define hifi_LoginStateManager_h #include -#include #include #include diff --git a/interface/src/avatar/AvatarManager.h b/interface/src/avatar/AvatarManager.h index 1fd9c63aab..f7e951d21d 100644 --- a/interface/src/avatar/AvatarManager.h +++ b/interface/src/avatar/AvatarManager.h @@ -16,7 +16,6 @@ #include #include -#include #include #include diff --git a/interface/src/avatar/GrabManager.cpp b/interface/src/avatar/GrabManager.cpp index 8273def490..254ce0b0d9 100644 --- a/interface/src/avatar/GrabManager.cpp +++ b/interface/src/avatar/GrabManager.cpp @@ -11,6 +11,7 @@ #include "GrabManager.h" +#include void GrabManager::simulateGrabs() { QSharedPointer avatarManager = DependencyManager::get(); diff --git a/interface/src/commerce/Wallet.h b/interface/src/commerce/Wallet.h index 224e58d58c..d8b89ce1bb 100644 --- a/interface/src/commerce/Wallet.h +++ b/interface/src/commerce/Wallet.h @@ -14,6 +14,8 @@ #ifndef hifi_Wallet_h #define hifi_Wallet_h +#include + #include #include #include diff --git a/interface/src/octree/OctreePacketProcessor.h b/interface/src/octree/OctreePacketProcessor.h index d56b7e0e35..d2210ba41f 100644 --- a/interface/src/octree/OctreePacketProcessor.h +++ b/interface/src/octree/OctreePacketProcessor.h @@ -12,6 +12,8 @@ #ifndef hifi_OctreePacketProcessor_h #define hifi_OctreePacketProcessor_h +#include + #include #include diff --git a/interface/src/raypick/CollisionPick.h b/interface/src/raypick/CollisionPick.h index 24317bf19a..8825ea65d1 100644 --- a/interface/src/raypick/CollisionPick.h +++ b/interface/src/raypick/CollisionPick.h @@ -8,6 +8,8 @@ #ifndef hifi_CollisionPick_h #define hifi_CollisionPick_h +#include + #include #include #include diff --git a/interface/src/scripting/ScreenshareScriptingInterface.h b/interface/src/scripting/ScreenshareScriptingInterface.h index ec8f3cd619..ceb7b1d9fc 100644 --- a/interface/src/scripting/ScreenshareScriptingInterface.h +++ b/interface/src/scripting/ScreenshareScriptingInterface.h @@ -16,6 +16,7 @@ #include #include #include +#include #include #include diff --git a/interface/src/scripting/SelectionScriptingInterface.h b/interface/src/scripting/SelectionScriptingInterface.h index f13d8d2427..07b131ac9a 100644 --- a/interface/src/scripting/SelectionScriptingInterface.h +++ b/interface/src/scripting/SelectionScriptingInterface.h @@ -14,6 +14,7 @@ #include #include +#include #include #include diff --git a/interface/src/scripting/WalletScriptingInterface.cpp b/interface/src/scripting/WalletScriptingInterface.cpp index 60f850adac..0194c62b82 100644 --- a/interface/src/scripting/WalletScriptingInterface.cpp +++ b/interface/src/scripting/WalletScriptingInterface.cpp @@ -10,6 +10,7 @@ // #include "WalletScriptingInterface.h" +#include #include CheckoutProxy::CheckoutProxy(QObject* qmlObject, QObject* parent) : QmlWrapper(qmlObject, parent) { diff --git a/interface/src/ui/JSConsole.h b/interface/src/ui/JSConsole.h index eeb3601886..202eb6ed6a 100644 --- a/interface/src/ui/JSConsole.h +++ b/interface/src/ui/JSConsole.h @@ -14,7 +14,6 @@ #include #include -#include #include #include diff --git a/interface/src/ui/SnapshotAnimated.h b/interface/src/ui/SnapshotAnimated.h index 15734f57c8..3d7e879b1d 100644 --- a/interface/src/ui/SnapshotAnimated.h +++ b/interface/src/ui/SnapshotAnimated.h @@ -12,6 +12,7 @@ #ifndef hifi_SnapshotAnimated_h #define hifi_SnapshotAnimated_h +#include #include #include #include diff --git a/interface/src/ui/overlays/ContextOverlayInterface.h b/interface/src/ui/overlays/ContextOverlayInterface.h index b3bf15d523..940fa80311 100644 --- a/interface/src/ui/overlays/ContextOverlayInterface.h +++ b/interface/src/ui/overlays/ContextOverlayInterface.h @@ -15,6 +15,7 @@ #include #include +#include #include #include diff --git a/libraries/animation/src/AnimNodeLoader.h b/libraries/animation/src/AnimNodeLoader.h index 6db001c261..3e644bc3f8 100644 --- a/libraries/animation/src/AnimNodeLoader.h +++ b/libraries/animation/src/AnimNodeLoader.h @@ -14,6 +14,7 @@ #include #include +#include #include #include diff --git a/libraries/animation/src/AnimationCache.h b/libraries/animation/src/AnimationCache.h index e8bfa75ecb..b1f0cc13a2 100644 --- a/libraries/animation/src/AnimationCache.h +++ b/libraries/animation/src/AnimationCache.h @@ -13,6 +13,7 @@ #define hifi_AnimationCache_h #include +#include #include #include diff --git a/libraries/audio-client/src/AudioClient.h b/libraries/audio-client/src/AudioClient.h index 5e753fbef8..8041eb559c 100644 --- a/libraries/audio-client/src/AudioClient.h +++ b/libraries/audio-client/src/AudioClient.h @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include diff --git a/libraries/audio-client/src/AudioIOStats.h b/libraries/audio-client/src/AudioIOStats.h index 215a4e5414..3a99666354 100644 --- a/libraries/audio-client/src/AudioIOStats.h +++ b/libraries/audio-client/src/AudioIOStats.h @@ -15,6 +15,7 @@ #include "MovingMinMaxAvg.h" #include +#include #include #include diff --git a/libraries/audio/src/AbstractAudioInterface.cpp b/libraries/audio/src/AbstractAudioInterface.cpp index 3d813eafd7..99e6ef3870 100644 --- a/libraries/audio/src/AbstractAudioInterface.cpp +++ b/libraries/audio/src/AbstractAudioInterface.cpp @@ -8,8 +8,6 @@ #include "AbstractAudioInterface.h" -#include - #include #include #include diff --git a/libraries/audio/src/AudioInjectorManager.cpp b/libraries/audio/src/AudioInjectorManager.cpp index 9494a84fab..f9417d9ff1 100644 --- a/libraries/audio/src/AudioInjectorManager.cpp +++ b/libraries/audio/src/AudioInjectorManager.cpp @@ -12,6 +12,7 @@ #include "AudioInjectorManager.h" #include +#include #include #include diff --git a/libraries/audio/src/Sound.h b/libraries/audio/src/Sound.h index bfa682845a..eb6bc67c66 100644 --- a/libraries/audio/src/Sound.h +++ b/libraries/audio/src/Sound.h @@ -14,6 +14,7 @@ #include #include +#include #include #include diff --git a/libraries/audio/src/SoundCache.h b/libraries/audio/src/SoundCache.h index 48c3354877..973edc4048 100644 --- a/libraries/audio/src/SoundCache.h +++ b/libraries/audio/src/SoundCache.h @@ -12,6 +12,8 @@ #ifndef hifi_SoundCache_h #define hifi_SoundCache_h +#include + #include #include "Sound.h" diff --git a/libraries/avatars/src/ClientTraitsHandler.h b/libraries/avatars/src/ClientTraitsHandler.h index 35499fd2cf..bcabc98fb9 100644 --- a/libraries/avatars/src/ClientTraitsHandler.h +++ b/libraries/avatars/src/ClientTraitsHandler.h @@ -12,6 +12,8 @@ #ifndef hifi_ClientTraitsHandler_h #define hifi_ClientTraitsHandler_h +#include + #include #include "AssociatedTraitValues.h" diff --git a/libraries/baking/src/MaterialBaker.h b/libraries/baking/src/MaterialBaker.h index 33123cfc73..cb8289cfdb 100644 --- a/libraries/baking/src/MaterialBaker.h +++ b/libraries/baking/src/MaterialBaker.h @@ -12,6 +12,8 @@ #ifndef hifi_MaterialBaker_h #define hifi_MaterialBaker_h +#include + #include "Baker.h" #include "TextureBaker.h" diff --git a/libraries/baking/src/ModelBaker.h b/libraries/baking/src/ModelBaker.h index 991cbc25bf..5c336f502f 100644 --- a/libraries/baking/src/ModelBaker.h +++ b/libraries/baking/src/ModelBaker.h @@ -17,6 +17,7 @@ #include #include #include +#include #include "Baker.h" #include "MaterialBaker.h" diff --git a/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp index ba83ddff55..02aa336a54 100644 --- a/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp @@ -14,6 +14,7 @@ #include #include +#include #include #include #include diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.h b/libraries/entities-renderer/src/EntityTreeRenderer.h index 009e5f6c4f..c3f2c66ae7 100644 --- a/libraries/entities-renderer/src/EntityTreeRenderer.h +++ b/libraries/entities-renderer/src/EntityTreeRenderer.h @@ -15,6 +15,7 @@ #include #include #include +#include #include #include // for RayToEntityIntersectionResult diff --git a/libraries/entities-renderer/src/RenderableWebEntityItem.h b/libraries/entities-renderer/src/RenderableWebEntityItem.h index fb04e08ec7..14bf5b105d 100644 --- a/libraries/entities-renderer/src/RenderableWebEntityItem.h +++ b/libraries/entities-renderer/src/RenderableWebEntityItem.h @@ -10,6 +10,7 @@ #ifndef hifi_RenderableWebEntityItem_h #define hifi_RenderableWebEntityItem_h +#include #include #include "RenderableEntityItem.h" diff --git a/libraries/entities/src/EntityEditPacketSender.h b/libraries/entities/src/EntityEditPacketSender.h index 3cc2f016f0..9e91155b02 100644 --- a/libraries/entities/src/EntityEditPacketSender.h +++ b/libraries/entities/src/EntityEditPacketSender.h @@ -12,6 +12,8 @@ #ifndef hifi_EntityEditPacketSender_h #define hifi_EntityEditPacketSender_h +#include + #include #include diff --git a/libraries/entities/src/EntityScriptServerLogClient.h b/libraries/entities/src/EntityScriptServerLogClient.h index 62b76f8870..9eee5daed8 100644 --- a/libraries/entities/src/EntityScriptServerLogClient.h +++ b/libraries/entities/src/EntityScriptServerLogClient.h @@ -13,6 +13,7 @@ #define hifi_EntityScriptServerLogClient_h #include +#include #include diff --git a/libraries/entities/src/EntityScriptingInterface.h b/libraries/entities/src/EntityScriptingInterface.h index 5db278f51e..8a3b92f31f 100644 --- a/libraries/entities/src/EntityScriptingInterface.h +++ b/libraries/entities/src/EntityScriptingInterface.h @@ -17,6 +17,7 @@ #include #include +#include #include #include diff --git a/libraries/material-networking/src/material-networking/ShaderCache.h b/libraries/material-networking/src/material-networking/ShaderCache.h index fe9edd7ddf..5129a7d8b4 100644 --- a/libraries/material-networking/src/material-networking/ShaderCache.h +++ b/libraries/material-networking/src/material-networking/ShaderCache.h @@ -9,6 +9,7 @@ #ifndef hifi_ShaderCache_h #define hifi_ShaderCache_h +#include #include class NetworkShader : public Resource { diff --git a/libraries/material-networking/src/material-networking/TextureCache.h b/libraries/material-networking/src/material-networking/TextureCache.h index c0633c2f9b..d2279fbc89 100644 --- a/libraries/material-networking/src/material-networking/TextureCache.h +++ b/libraries/material-networking/src/material-networking/TextureCache.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include diff --git a/libraries/model-networking/src/model-networking/ModelCache.h b/libraries/model-networking/src/model-networking/ModelCache.h index 615951345f..236c6262bf 100644 --- a/libraries/model-networking/src/model-networking/ModelCache.h +++ b/libraries/model-networking/src/model-networking/ModelCache.h @@ -12,6 +12,8 @@ #ifndef hifi_ModelCache_h #define hifi_ModelCache_h +#include + #include #include diff --git a/libraries/networking/src/AssetClient.h b/libraries/networking/src/AssetClient.h index 1860a1744a..ef2eec43b8 100644 --- a/libraries/networking/src/AssetClient.h +++ b/libraries/networking/src/AssetClient.h @@ -15,6 +15,7 @@ #include #include #include +#include #include diff --git a/libraries/networking/src/BaseAssetScriptingInterface.h b/libraries/networking/src/BaseAssetScriptingInterface.h index 31aad21ba2..1dcc5ea2ef 100644 --- a/libraries/networking/src/BaseAssetScriptingInterface.h +++ b/libraries/networking/src/BaseAssetScriptingInterface.h @@ -15,6 +15,7 @@ #define hifi_BaseAssetScriptingInterface_h #include +#include #include #include "AssetClient.h" #include diff --git a/libraries/networking/src/DomainHandler.h b/libraries/networking/src/DomainHandler.h index 7553168b09..bcb89afe3a 100644 --- a/libraries/networking/src/DomainHandler.h +++ b/libraries/networking/src/DomainHandler.h @@ -17,6 +17,7 @@ #include #include +#include #include #include #include diff --git a/libraries/networking/src/EntityScriptClient.h b/libraries/networking/src/EntityScriptClient.h index 4cfb03dca7..1fddc6b976 100644 --- a/libraries/networking/src/EntityScriptClient.h +++ b/libraries/networking/src/EntityScriptClient.h @@ -12,6 +12,8 @@ #ifndef hifi_EntityScriptClient_h #define hifi_EntityScriptClient_h +#include + #include "ClientServerUtils.h" #include "LimitedNodeList.h" #include "ReceivedMessage.h" diff --git a/libraries/networking/src/LimitedNodeList.h b/libraries/networking/src/LimitedNodeList.h index 47b333220b..04b17c6266 100644 --- a/libraries/networking/src/LimitedNodeList.h +++ b/libraries/networking/src/LimitedNodeList.h @@ -29,6 +29,7 @@ #include #include #include +#include #include #include diff --git a/libraries/networking/src/MappingRequest.cpp b/libraries/networking/src/MappingRequest.cpp index 263f8d023c..fe9281beff 100644 --- a/libraries/networking/src/MappingRequest.cpp +++ b/libraries/networking/src/MappingRequest.cpp @@ -11,6 +11,7 @@ #include "MappingRequest.h" +#include #include #include diff --git a/libraries/networking/src/MessagesClient.h b/libraries/networking/src/MessagesClient.h index db2085da5a..8ad252a596 100644 --- a/libraries/networking/src/MessagesClient.h +++ b/libraries/networking/src/MessagesClient.h @@ -15,6 +15,7 @@ #include #include +#include #include diff --git a/libraries/networking/src/NLPacket.h b/libraries/networking/src/NLPacket.h index b2a174a540..04eb58049a 100644 --- a/libraries/networking/src/NLPacket.h +++ b/libraries/networking/src/NLPacket.h @@ -13,8 +13,6 @@ #ifndef hifi_NLPacket_h #define hifi_NLPacket_h -#include - #include #include "udt/Packet.h" diff --git a/libraries/networking/src/NLPacketList.h b/libraries/networking/src/NLPacketList.h index 9c50033ca7..bfb6062a1c 100644 --- a/libraries/networking/src/NLPacketList.h +++ b/libraries/networking/src/NLPacketList.h @@ -12,6 +12,7 @@ #ifndef hifi_NLPacketList_h #define hifi_NLPacketList_h +#include #include "udt/PacketList.h" #include "NLPacket.h" diff --git a/libraries/networking/src/NetworkPeer.h b/libraries/networking/src/NetworkPeer.h index a3012087af..e7c6849ad9 100644 --- a/libraries/networking/src/NetworkPeer.h +++ b/libraries/networking/src/NetworkPeer.h @@ -16,6 +16,7 @@ #include #include +#include #include #include diff --git a/libraries/networking/src/NodeData.h b/libraries/networking/src/NodeData.h index b4cb87d0c2..f07a9db03c 100644 --- a/libraries/networking/src/NodeData.h +++ b/libraries/networking/src/NodeData.h @@ -14,7 +14,6 @@ #include #include -#include #include "NetworkPeer.h" #include "NLPacket.h" diff --git a/libraries/networking/src/ReceivedMessage.cpp b/libraries/networking/src/ReceivedMessage.cpp index 684ad665ba..0db605a87e 100644 --- a/libraries/networking/src/ReceivedMessage.cpp +++ b/libraries/networking/src/ReceivedMessage.cpp @@ -15,8 +15,6 @@ #include #include -#include "QSharedPointer" - int receivedMessageMetaTypeId = qRegisterMetaType("ReceivedMessage*"); int sharedPtrReceivedMessageMetaTypeId = qRegisterMetaType>("QSharedPointer"); diff --git a/libraries/networking/src/ReceivedMessage.h b/libraries/networking/src/ReceivedMessage.h index f9c8245a10..924670bac2 100644 --- a/libraries/networking/src/ReceivedMessage.h +++ b/libraries/networking/src/ReceivedMessage.h @@ -15,6 +15,7 @@ #include #include +#include #include diff --git a/libraries/networking/src/ReceivedPacketProcessor.h b/libraries/networking/src/ReceivedPacketProcessor.h index 6c590ec54d..c8c45085b8 100644 --- a/libraries/networking/src/ReceivedPacketProcessor.h +++ b/libraries/networking/src/ReceivedPacketProcessor.h @@ -12,6 +12,7 @@ #ifndef hifi_ReceivedPacketProcessor_h #define hifi_ReceivedPacketProcessor_h +#include #include #include "NodeList.h" diff --git a/libraries/octree/src/OctreePersistThread.h b/libraries/octree/src/OctreePersistThread.h index 6a38a21a84..8726cc5fcb 100644 --- a/libraries/octree/src/OctreePersistThread.h +++ b/libraries/octree/src/OctreePersistThread.h @@ -15,6 +15,7 @@ #define hifi_OctreePersistThread_h #include +#include #include #include "Octree.h" diff --git a/libraries/physics/src/ObjectDynamic.cpp b/libraries/physics/src/ObjectDynamic.cpp index 6759697832..4c20bc1e21 100644 --- a/libraries/physics/src/ObjectDynamic.cpp +++ b/libraries/physics/src/ObjectDynamic.cpp @@ -11,6 +11,8 @@ #include "ObjectDynamic.h" +#include + #include "EntitySimulation.h" #include "PhysicsLogging.h" diff --git a/libraries/plugins/src/plugins/DisplayPlugin.h b/libraries/plugins/src/plugins/DisplayPlugin.h index 5c95bf05f8..e2b27f4b26 100644 --- a/libraries/plugins/src/plugins/DisplayPlugin.h +++ b/libraries/plugins/src/plugins/DisplayPlugin.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include diff --git a/libraries/plugins/src/plugins/PluginManager.h b/libraries/plugins/src/plugins/PluginManager.h index f0aa662634..d3040f1d9b 100644 --- a/libraries/plugins/src/plugins/PluginManager.h +++ b/libraries/plugins/src/plugins/PluginManager.h @@ -8,6 +8,7 @@ #pragma once #include +#include #include #include diff --git a/libraries/procedural/src/procedural/ProceduralMaterialCache.h b/libraries/procedural/src/procedural/ProceduralMaterialCache.h index ff0a8cf81c..7d6a6ecdf3 100644 --- a/libraries/procedural/src/procedural/ProceduralMaterialCache.h +++ b/libraries/procedural/src/procedural/ProceduralMaterialCache.h @@ -8,6 +8,8 @@ #ifndef hifi_MaterialCache_h #define hifi_MaterialCache_h +#include + #include "glm/glm.hpp" #include diff --git a/libraries/qml/src/qml/OffscreenSurface.h b/libraries/qml/src/qml/OffscreenSurface.h index 8209398e05..1dd699eafe 100644 --- a/libraries/qml/src/qml/OffscreenSurface.h +++ b/libraries/qml/src/qml/OffscreenSurface.h @@ -17,7 +17,6 @@ #include #include #include -#include #include #include diff --git a/libraries/qml/src/qml/impl/SharedObject.h b/libraries/qml/src/qml/impl/SharedObject.h index 50c56ad714..4f287471e8 100644 --- a/libraries/qml/src/qml/impl/SharedObject.h +++ b/libraries/qml/src/qml/impl/SharedObject.h @@ -8,7 +8,6 @@ #pragma once #include -#include #include #include #include diff --git a/libraries/recording/src/recording/ClipCache.h b/libraries/recording/src/recording/ClipCache.h index 202cd2f00e..e909af7e70 100644 --- a/libraries/recording/src/recording/ClipCache.h +++ b/libraries/recording/src/recording/ClipCache.h @@ -9,6 +9,8 @@ #ifndef hifi_Recording_ClipCache_h #define hifi_Recording_ClipCache_h +#include + #include #include "Forward.h" diff --git a/libraries/render-utils/src/FboCache.h b/libraries/render-utils/src/FboCache.h index cedc4bff82..6a6df30cd2 100644 --- a/libraries/render-utils/src/FboCache.h +++ b/libraries/render-utils/src/FboCache.h @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include class QOpenGLFramebufferObject; diff --git a/libraries/script-engine/src/RecordingScriptingInterface.h b/libraries/script-engine/src/RecordingScriptingInterface.h index bc88566b9a..a170958a91 100644 --- a/libraries/script-engine/src/RecordingScriptingInterface.h +++ b/libraries/script-engine/src/RecordingScriptingInterface.h @@ -16,6 +16,7 @@ #include #include +#include #include #include diff --git a/libraries/script-engine/src/ScriptEngine.h b/libraries/script-engine/src/ScriptEngine.h index a6f7341f77..0933025ee1 100644 --- a/libraries/script-engine/src/ScriptEngine.h +++ b/libraries/script-engine/src/ScriptEngine.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include diff --git a/libraries/script-engine/src/ScriptEngines.cpp b/libraries/script-engine/src/ScriptEngines.cpp index 62c215c7df..ab47f80731 100644 --- a/libraries/script-engine/src/ScriptEngines.cpp +++ b/libraries/script-engine/src/ScriptEngines.cpp @@ -9,6 +9,7 @@ #include "ScriptEngines.h" #include +#include #include diff --git a/libraries/script-engine/src/ScriptEngines.h b/libraries/script-engine/src/ScriptEngines.h index 52c9a922af..61d8f95442 100644 --- a/libraries/script-engine/src/ScriptEngines.h +++ b/libraries/script-engine/src/ScriptEngines.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #include diff --git a/libraries/shared/src/BaseScriptEngine.h b/libraries/shared/src/BaseScriptEngine.h index c917aa2722..73914dc689 100644 --- a/libraries/shared/src/BaseScriptEngine.h +++ b/libraries/shared/src/BaseScriptEngine.h @@ -14,6 +14,7 @@ #include #include +#include #include class ScriptEngine; diff --git a/libraries/shared/src/DependencyManager.h b/libraries/shared/src/DependencyManager.h index 00faba0e89..cd226b9960 100644 --- a/libraries/shared/src/DependencyManager.h +++ b/libraries/shared/src/DependencyManager.h @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include diff --git a/libraries/shared/src/SettingHandle.h b/libraries/shared/src/SettingHandle.h index e77ee00b05..4fce3bef96 100644 --- a/libraries/shared/src/SettingHandle.h +++ b/libraries/shared/src/SettingHandle.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #include diff --git a/libraries/shared/src/SpatiallyNestable.cpp b/libraries/shared/src/SpatiallyNestable.cpp index 69f3539152..7a02c2dbbb 100644 --- a/libraries/shared/src/SpatiallyNestable.cpp +++ b/libraries/shared/src/SpatiallyNestable.cpp @@ -11,6 +11,8 @@ #include "SpatiallyNestable.h" +#include + #include #include "DependencyManager.h" diff --git a/libraries/shared/src/shared/ScriptInitializerMixin.h b/libraries/shared/src/shared/ScriptInitializerMixin.h index cefa33c2d3..2a7fc10e06 100644 --- a/libraries/shared/src/shared/ScriptInitializerMixin.h +++ b/libraries/shared/src/shared/ScriptInitializerMixin.h @@ -10,7 +10,6 @@ #include #include -#include #include "../DependencyManager.h" class QScriptEngine; diff --git a/libraries/ui/src/CursorManager.cpp b/libraries/ui/src/CursorManager.cpp index 8eb4989ab6..b462c4fb78 100644 --- a/libraries/ui/src/CursorManager.cpp +++ b/libraries/ui/src/CursorManager.cpp @@ -9,6 +9,7 @@ #include "CursorManager.h" #include +#include #include #include diff --git a/libraries/ui/src/DesktopPreviewProvider.h b/libraries/ui/src/DesktopPreviewProvider.h index 449c3723e1..b0cc64245f 100644 --- a/libraries/ui/src/DesktopPreviewProvider.h +++ b/libraries/ui/src/DesktopPreviewProvider.h @@ -8,6 +8,7 @@ #include #include +#include class DesktopPreviewProvider : public QObject, public Dependency { SINGLETON_DEPENDENCY diff --git a/libraries/ui/src/VirtualPadManager.cpp b/libraries/ui/src/VirtualPadManager.cpp index bf325a0bd6..be6eef87d3 100644 --- a/libraries/ui/src/VirtualPadManager.cpp +++ b/libraries/ui/src/VirtualPadManager.cpp @@ -7,6 +7,7 @@ // #include "VirtualPadManager.h" +#include namespace VirtualPad { diff --git a/libraries/ui/src/ui/OffscreenQmlSurface.cpp b/libraries/ui/src/ui/OffscreenQmlSurface.cpp index 5dfdce0c63..09107a7c21 100644 --- a/libraries/ui/src/ui/OffscreenQmlSurface.cpp +++ b/libraries/ui/src/ui/OffscreenQmlSurface.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include diff --git a/libraries/ui/src/ui/TabletScriptingInterface.h b/libraries/ui/src/ui/TabletScriptingInterface.h index 0b1af6451a..af0c03de80 100644 --- a/libraries/ui/src/ui/TabletScriptingInterface.h +++ b/libraries/ui/src/ui/TabletScriptingInterface.h @@ -13,6 +13,7 @@ #include #include +#include #include #include #include diff --git a/libraries/ui/src/ui/types/ContextAwareProfile.h b/libraries/ui/src/ui/types/ContextAwareProfile.h index 486ac5481a..7ea5684699 100644 --- a/libraries/ui/src/ui/types/ContextAwareProfile.h +++ b/libraries/ui/src/ui/types/ContextAwareProfile.h @@ -15,7 +15,6 @@ #include #include #include -#include #if !defined(Q_OS_ANDROID) #include diff --git a/plugins/JSAPIExample/src/JSAPIExample.cpp b/plugins/JSAPIExample/src/JSAPIExample.cpp index 4654279bec..34c28bdf8f 100644 --- a/plugins/JSAPIExample/src/JSAPIExample.cpp +++ b/plugins/JSAPIExample/src/JSAPIExample.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/tools/gpu-frame-player/src/main.cpp b/tools/gpu-frame-player/src/main.cpp index ac48ee2e1c..fe0e97fa0b 100644 --- a/tools/gpu-frame-player/src/main.cpp +++ b/tools/gpu-frame-player/src/main.cpp @@ -7,6 +7,7 @@ // #include +#include #include #include "PlayerWindow.h" diff --git a/tools/ice-client/src/ICEClientApp.cpp b/tools/ice-client/src/ICEClientApp.cpp index d35223885a..233b5e71f0 100644 --- a/tools/ice-client/src/ICEClientApp.cpp +++ b/tools/ice-client/src/ICEClientApp.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include diff --git a/tools/oven/src/DomainBaker.h b/tools/oven/src/DomainBaker.h index 1642148520..bfeb1853f6 100644 --- a/tools/oven/src/DomainBaker.h +++ b/tools/oven/src/DomainBaker.h @@ -15,6 +15,7 @@ #include #include #include +#include #include #include From f03606ee604a83bc04e8ef01239a60a3637ff418 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Thu, 16 Sep 2021 06:09:11 +0200 Subject: [PATCH 09/26] Disable WebRTC on aarch64 Linux --- cmake/macros/TargetWebRTC.cmake | 3 +++ cmake/ports/hifi-deps/CONTROL | 2 +- libraries/shared/src/shared/WebRTC.h | 7 ++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/cmake/macros/TargetWebRTC.cmake b/cmake/macros/TargetWebRTC.cmake index d215b0698e..58f8a43028 100644 --- a/cmake/macros/TargetWebRTC.cmake +++ b/cmake/macros/TargetWebRTC.cmake @@ -13,6 +13,9 @@ macro(TARGET_WEBRTC) # set(WEBRTC_LIBRARY_DEBUG ${INSTALL_DIR}/debug/lib/libwebrtc.a) # set(WEBRTC_LIBRARY_RELEASE ${INSTALL_DIR}/lib/libwebrtc.a) # select_library_configurations(WEBRTC) + elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") + # WebRTC is basically impossible to build on aarch64 Linux. + # I am looking at https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing for an alternative. else() set(WEBRTC_INCLUDE_DIRS "${VCPKG_INSTALL_ROOT}/include/webrtc") target_include_directories(${TARGET_NAME} SYSTEM PUBLIC ${WEBRTC_INCLUDE_DIRS}) diff --git a/cmake/ports/hifi-deps/CONTROL b/cmake/ports/hifi-deps/CONTROL index ff689c7a2a..1fed0476c0 100644 --- a/cmake/ports/hifi-deps/CONTROL +++ b/cmake/ports/hifi-deps/CONTROL @@ -1,4 +1,4 @@ Source: hifi-deps Version: 0.1.5-github-actions Description: Collected dependencies for High Fidelity applications -Build-Depends: bullet3, draco, etc2comp, glad, glm, nvtt, openexr (!android), openssl (windows), opus, polyvox, tbb (!android), vhacd, webrtc (!android), zlib +Build-Depends: bullet3, draco, etc2comp, glad, glm, nvtt, openexr (!android), openssl (windows), opus, polyvox, tbb (!android), vhacd, webrtc (!android|!(linux&arm)), zlib diff --git a/libraries/shared/src/shared/WebRTC.h b/libraries/shared/src/shared/WebRTC.h index 2f0e444bff..2c683151f8 100644 --- a/libraries/shared/src/shared/WebRTC.h +++ b/libraries/shared/src/shared/WebRTC.h @@ -23,9 +23,14 @@ // I don't yet have a working libwebrtc for android // # define WEBRTC_ENABLED 1 // # define WEBRTC_POSIX 1 -#elif defined(Q_OS_LINUX) +#elif defined(Q_OS_LINUX) && defined(Q_PROCESSOR_X86_64) # define WEBRTC_ENABLED 1 # define WEBRTC_POSIX 1 +#elif defined(Q_OS_LINUX) && defined(Q_PROCESSOR_ARM) +// WebRTC is basically impossible to build on aarch64 Linux. +// I am looking at https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing for an alternative. +// # define WEBRTC_ENABLED 1 +// # define WEBRTC_POSIX 1 #endif #if defined(WEBRTC_ENABLED) From fb24c84d86bedca9fd0e0dd397b6eb9042877e64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Thu, 16 Sep 2021 06:11:01 +0200 Subject: [PATCH 10/26] Disable unsupported dependencies on aarch64 Linux --- plugins/CMakeLists.txt | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt index 195021e2fe..fbe9e6b03d 100644 --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -12,14 +12,17 @@ list(REMOVE_ITEM PLUGIN_SUBDIRS "CMakeFiles") set(CMAKE_BUILD_TYPE "Release") # client-side plugins if (NOT SERVER_ONLY AND NOT ANDROID) - set(DIR "oculus") - add_subdirectory(${DIR}) + if (NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") + set(DIR "oculus") + add_subdirectory(${DIR}) + set(DIR "openvr") + add_subdirectory(${DIR}) + set(DIR "oculusLegacy") + add_subdirectory(${DIR}) + endif() + set(DIR "hifiSdl2") add_subdirectory(${DIR}) - set(DIR "openvr") - add_subdirectory(${DIR}) - set(DIR "oculusLegacy") - add_subdirectory(${DIR}) if (USE_SIXENSE) set(DIR "hifiSixense") @@ -32,8 +35,12 @@ if (NOT SERVER_ONLY AND NOT ANDROID) add_subdirectory(${DIR}) set(DIR "hifiKinect") add_subdirectory(${DIR}) - set(DIR "steamClient") - add_subdirectory(${DIR}) + + if (NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") + set(DIR "steamClient") + add_subdirectory(${DIR}) + endif() + set(DIR "hifiLeapMotion") add_subdirectory(${DIR}) From f4f4137aa852d04389a4f45f8e69f59e7e3a760d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Thu, 16 Sep 2021 06:20:48 +0200 Subject: [PATCH 11/26] Fix VCPKG package for aarch64 linux --- hifi_vcpkg.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hifi_vcpkg.py b/hifi_vcpkg.py index 642ed1253e..3ec86dfd5a 100644 --- a/hifi_vcpkg.py +++ b/hifi_vcpkg.py @@ -109,8 +109,8 @@ endif() elif 'Linux' == system and 'aarch64' == machine: self.exe = os.path.join(self.path, 'vcpkg') self.bootstrapCmds = [ os.path.join(self.path, 'bootstrap-vcpkg.sh'), '-disableMetrics' ] - self.vcpkgUrl = 'http://motofckr9k.ddns.net/vircadia_packages/vcpkg-2020.11-1_arm64.tar.xz' - self.vcpkgHash = 'f39fa1c34d2ba820954b8ce4acc05e3d0ce5fa5efe5440516ba910ff222c85c658ba4bbfc92b3fa6cbb594f99be115cda69ebe44ed38d4d3988058fb1faefbb3' + self.vcpkgUrl = self.assets_url + '/dependencies/vcpkg/vcpkg-linux_aarch64_2021.05.12.tar.xz' + self.vcpkgHash = '7abb7aa96200e3cb5a6d0ec1c6ee63aa7886df2d1fecf8f9ee41ebe4d2cea0d4143274222c4941cb7aca61e4048229fdfe9eb2cd36dd559dd26db871a3b3ed61' self.hostTriplet = 'arm64-linux' else: self.exe = os.path.join(self.path, 'vcpkg') From 8041f27713efc306bd3f690c7b7b5e3ed6b9abb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Thu, 16 Sep 2021 06:22:03 +0200 Subject: [PATCH 12/26] Allow installing VCPKG inside working directory for GHA builds --- hifi_vcpkg.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hifi_vcpkg.py b/hifi_vcpkg.py index 3ec86dfd5a..48d5645119 100644 --- a/hifi_vcpkg.py +++ b/hifi_vcpkg.py @@ -61,7 +61,10 @@ endif() self.noClean = True else: defaultBasePath = os.path.expanduser('~/vircadia-files/vcpkg') - self.basePath = os.getenv('HIFI_VCPKG_BASE', defaultBasePath) + if 'CI_WORKSPACE' in os.environ: + self.basePath = os.path.join(os.getenv('CI_WORKSPACE'), 'vircadia-files/vcpkg') + else: + self.basePath = os.getenv('HIFI_VCPKG_BASE', defaultBasePath) if self.args.android: self.basePath = os.path.join(self.basePath, 'android') if (not os.path.isdir(self.basePath)): From d2002a538f78e275f1c602311c97b93bfd7d44aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Thu, 16 Sep 2021 06:23:06 +0200 Subject: [PATCH 13/26] Add aarch64 GitHub Actions self hosted runner --- .github/workflows/pr_build.yml | 43 ++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index 219daa0c4b..5b1bca3c63 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -46,6 +46,10 @@ jobs: - os: ubuntu-18.04 build_type: android apt-dependencies: mesa-common-dev libegl1 libglvnd-dev libdouble-conversion1 libpulse0 + # Do not change the names of self-hosted runners without knowing what you are doing, as they correspond to labels that have to be set on the runner. + - os: self-hosted_debian-11_aarch64 + build_type: full + apt-dependencies: qtbase5-dev qtbase5-private-dev qtwebengine5-dev qtwebengine5-dev-tools qtmultimedia5-dev libqt5opengl5-dev qtscript5-dev libqt5scripttools5 libqt5webchannel5-dev libqt5websockets5-dev qtxmlpatterns5-dev-tools qttools5-dev libqt5xmlpatterns5-dev libqt5svg5-dev qml-module-qtwebchannel build-essential cmake curl freeglut3-dev git libasound2 libasound2-dev libdouble-conversion-dev libdrm-dev libfontconfig1 libgl1-mesa-dev libglvnd-dev libharfbuzz-dev libjack-dev libjack0 libnspr4 libnss3 libpcre2-16-0 libpulse0 libsdl2-dev libssl-dev libudev-dev libxcb-xinerama0-dev libxcb-xinput0 libxcomposite1 libxcursor1 libxi-dev libxmu-dev libxrandr-dev libxslt1.1 libxtst6 make mesa-common-dev mesa-utils nodejs npm patchelf python2 python3 python3-distro xdg-user-dirs zlib1g-dev ninja-build zip fail-fast: false runs-on: ${{matrix.os}} if: github.event.action != 'labeled' || github.event.label.name == 'rebuild' @@ -59,10 +63,19 @@ jobs: echo "APP_TARGET_NAME=$APP_NAME" >> $GITHUB_ENV # Linux build variables - if [[ "${{ matrix.os }}" = "ubuntu-"* ]]; then + if [[ "${{ matrix.os }}" = "ubuntu-"* || "${{ matrix.os }}" = *"debian"* ]]; then echo "PYTHON_EXEC=python3" >> $GITHUB_ENV echo "INSTALLER_EXT=*" >> $GITHUB_ENV - echo "CMAKE_BUILD_EXTRA=-- -j3" >> $GITHUB_ENV + if [ "${{ matrix.os }}" = "self-hosted_debian-11_aarch64" ]; then + echo "CMAKE_BUILD_EXTRA=-- -j4" >> $GITHUB_ENV + else + echo "CMAKE_BUILD_EXTRA=-- -j3" >> $GITHUB_ENV + fi + if [ "${{ matrix.os }}" = "self-hosted_debian-11_aarch64" ]; then + echo "VIRCADIA_USE_SYSTEM_QT=true" >> $GITHUB_ENV + echo "VCPKG_FORCE_SYSTEM_BINARIES=true" >> $GITHUB_ENV + echo "CI_WORKSPACE=${{runner.workspace}}" >> $GITHUB_ENV + fi if [ "${{ matrix.build_type }}" = "full" ]; then echo "CMAKE_EXTRA=-DBUILD_TOOLS:BOOLEAN=FALSE -DHIFI_PYTHON_EXEC:FILEPATH=$(which python3)" >> $GITHUB_ENV else @@ -97,6 +110,7 @@ jobs: mkdir $HIFI_ANDROID_PRECOMPILED echo "INSTALLER_EXT=apk" >> $GITHUB_ENV fi + # Configuration is broken into two steps because you can't set an env var and also reference it in the same step - name: Configure Build Environment 2 shell: bash @@ -114,8 +128,9 @@ jobs: else echo "ARTIFACT_PATTERN=*.$INSTALLER_EXT" >> $GITHUB_ENV fi + - name: Clear Working Directory - if: startsWith(matrix.os, 'windows') + if: startsWith(matrix.os, 'windows') || matrix.os == 'self-hosted_debian-11_aarch64' shell: bash working-directory: ${{runner.workspace}} run: rm -rf ./* @@ -123,9 +138,10 @@ jobs: with: submodules: false fetch-depth: 1 + - name: Install dependencies shell: bash - if: startsWith(matrix.os, 'ubuntu') + if: startsWith(matrix.os, 'ubuntu') || contains(matrix.os, 'debian') run: | echo "Installing Python Modules:" pip3 install distro || exit 1 @@ -135,13 +151,16 @@ jobs: echo "Installing apt packages" sudo apt install -y ${{ matrix.apt-dependencies }} || exit 1 + - name: Create Build Environment shell: bash run: cmake -E make_directory "${{runner.workspace}}/build" + - name: Configure CMake working-directory: ${{runner.workspace}}/build shell: bash run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DVCPKG_BUILD_TYPE=release $CMAKE_EXTRA + - name: Compress cmake logs if: always() shell: bash @@ -152,7 +171,12 @@ jobs: TAR=tar fi - find "$HOME/vircadia-files/vcpkg" -name '*log' -type f -print0 | $TAR --null --force-local -T - -c --xz -v -f "${{ runner.workspace }}/cmake-logs-${{ matrix.os }}-${{ github.event.number }}.tar.xz" + if [ ${{ env.CI_WORKSPACE }} ]; then + find "$CI_WORKSPACE/vircadia-files/vcpkg" -name '*log' -type f -print0 | $TAR --null --force-local -T - -c --xz -v -f "${{ runner.workspace }}/cmake-logs-${{ matrix.os }}-${{ github.event.number }}.tar.xz" + else + find "$HOME/vircadia-files/vcpkg" -name '*log' -type f -print0 | $TAR --null --force-local -T - -c --xz -v -f "${{ runner.workspace }}/cmake-logs-${{ matrix.os }}-${{ github.event.number }}.tar.xz" + fi + - name: Archive cmake logs if: always() uses: actions/upload-artifact@v2 @@ -160,26 +184,31 @@ jobs: name: cmake-logs-${{ matrix.os }}-${{ github.event.number }}.tar.xz path: ${{ runner.workspace }}/cmake-logs-${{ matrix.os }}-${{ github.event.number }}.tar.xz if-no-files-found: error + - name: Build Application if: matrix.build_type == 'full' || matrix.build_type == 'client' working-directory: ${{runner.workspace}}/build shell: bash run: cmake --build . --config $BUILD_TYPE --target $APP_TARGET_NAME $CMAKE_BUILD_EXTRA + - name: Build Domain Server if: matrix.build_type == 'full' working-directory: ${{runner.workspace}}/build shell: bash run: cmake --build . --config $BUILD_TYPE --target domain-server $CMAKE_BUILD_EXTRA + - name: Build Assignment Client if: matrix.build_type == 'full' working-directory: ${{runner.workspace}}/build shell: bash run: cmake --build . --config $BUILD_TYPE --target assignment-client $CMAKE_BUILD_EXTRA + - name: Build Console if: matrix.build_type == 'full' || matrix.os == 'windows-latest' working-directory: ${{runner.workspace}}/build shell: bash run: cmake --build . --config $BUILD_TYPE --target packaged-server-console $CMAKE_BUILD_EXTRA + - name: Build Installer if: matrix.build_type != 'android' working-directory: ${{runner.workspace}}/build @@ -218,6 +247,7 @@ jobs: working-directory: ${{runner.workspace}}/vircadia run: | /usr/local/lib/android/sdk/tools/bin/sdkmanager --uninstall 'cmake;3.18.1' + - name: Build for Android + Quest if: matrix.build_type == 'android' shell: bash @@ -230,6 +260,7 @@ jobs: ./gradlew -m tasks -PHIFI_ANDROID_PRECOMPILED=$HIFI_ANDROID_PRECOMPILED # Build! ./build_android.sh + - name: Output system stats if: ${{ always() }} working-directory: ${{runner.workspace}}/build @@ -237,11 +268,13 @@ jobs: run: | echo "Disk usage:" df -h + - name: Output Installer Logs if: failure() && matrix.os == 'windows-latest' shell: bash working-directory: ${{runner.workspace}}/build run: cat ./_CPack_Packages/win64/NSIS/NSISOutput.log + - name: Upload Artifact shell: bash working-directory: ${{runner.workspace}}/build From bc1044692a1a1a6f56b8a2a7317370fbd04215c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Thu, 16 Sep 2021 06:23:25 +0200 Subject: [PATCH 14/26] Add experimental debian 10 aarch64 qt package --- hifi_qt.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hifi_qt.py b/hifi_qt.py index f832d5f940..b736a1433b 100644 --- a/hifi_qt.py +++ b/hifi_qt.py @@ -169,11 +169,9 @@ endif() elif distro.id() == 'debian': u_major = int( distro.major_version() ) - u_minor = int( distro.minor_version() ) if u_major == 10: - #self.qtUrl = self.assets_url + '/dependencies/vcpkg/qt5-install-5.12.3-ubuntu-16.04-with-symbols.tar.gz' - self.__no_qt_package_error() + self.qtUrl = 'https://data.moto9000.moe/vircadia_packages/qt5-install-5.15.2-debian-10-aarch64.tar.xz' elif u_major > 10: self.__no_qt_package_error() else: From babee7c5276d570aa3451774521358056a3f5a7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Fri, 17 Sep 2021 21:04:12 +0200 Subject: [PATCH 15/26] Set GL preference to GLVND --- interface/CMakeLists.txt | 2 +- libraries/display-plugins/CMakeLists.txt | 2 +- libraries/gl/CMakeLists.txt | 2 +- libraries/gpu-gl-common/CMakeLists.txt | 2 +- libraries/gpu-gl/CMakeLists.txt | 2 +- libraries/qml/CMakeLists.txt | 2 +- libraries/ui/CMakeLists.txt | 2 +- tools/gpu-frame-player/CMakeLists.txt | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt index 9d8fd93f20..0462ba2214 100644 --- a/interface/CMakeLists.txt +++ b/interface/CMakeLists.txt @@ -236,7 +236,7 @@ target_openssl() target_bullet() -set(OpenGL_GL_PREFERENCE "LEGACY") +set(OpenGL_GL_PREFERENCE "GLVND") target_opengl() add_crashpad() target_breakpad() diff --git a/libraries/display-plugins/CMakeLists.txt b/libraries/display-plugins/CMakeLists.txt index 07b70c310f..2a0da40b71 100644 --- a/libraries/display-plugins/CMakeLists.txt +++ b/libraries/display-plugins/CMakeLists.txt @@ -13,7 +13,7 @@ include_hifi_library_headers(ktx) include_hifi_library_headers(render) include_hifi_library_headers(procedural) -set(OpenGL_GL_PREFERENCE "LEGACY") +set(OpenGL_GL_PREFERENCE "GLVND") target_opengl() GroupSources("src/display-plugins") diff --git a/libraries/gl/CMakeLists.txt b/libraries/gl/CMakeLists.txt index 4e3d7ca16c..f0eec1da9f 100644 --- a/libraries/gl/CMakeLists.txt +++ b/libraries/gl/CMakeLists.txt @@ -2,6 +2,6 @@ set(TARGET_NAME gl) setup_hifi_library(Gui Widgets) link_hifi_libraries(shared) -set(OpenGL_GL_PREFERENCE "LEGACY") +set(OpenGL_GL_PREFERENCE "GLVND") target_opengl() diff --git a/libraries/gpu-gl-common/CMakeLists.txt b/libraries/gpu-gl-common/CMakeLists.txt index eec135e8fe..6bd98a45d0 100644 --- a/libraries/gpu-gl-common/CMakeLists.txt +++ b/libraries/gpu-gl-common/CMakeLists.txt @@ -3,6 +3,6 @@ setup_hifi_library(Concurrent) link_hifi_libraries(shared gl gpu shaders) GroupSources("src") -set(OpenGL_GL_PREFERENCE "LEGACY") +set(OpenGL_GL_PREFERENCE "GLVND") target_opengl() diff --git a/libraries/gpu-gl/CMakeLists.txt b/libraries/gpu-gl/CMakeLists.txt index de651e5116..5797fb5172 100644 --- a/libraries/gpu-gl/CMakeLists.txt +++ b/libraries/gpu-gl/CMakeLists.txt @@ -6,6 +6,6 @@ if (UNIX AND NOT VIRCADIA_THREAD_DEBUGGING) endif(UNIX AND NOT VIRCADIA_THREAD_DEBUGGING) GroupSources("src") -set(OpenGL_GL_PREFERENCE "LEGACY") +set(OpenGL_GL_PREFERENCE "GLVND") target_opengl() diff --git a/libraries/qml/CMakeLists.txt b/libraries/qml/CMakeLists.txt index 3d53191720..b59b65824d 100644 --- a/libraries/qml/CMakeLists.txt +++ b/libraries/qml/CMakeLists.txt @@ -3,5 +3,5 @@ setup_hifi_library(Multimedia Network Qml Quick WebChannel WebSockets ${PLATFORM link_hifi_libraries(shared networking gl) # Required for some low level GL interaction in the OffscreenQMLSurface -set(OpenGL_GL_PREFERENCE "LEGACY") +set(OpenGL_GL_PREFERENCE "GLVND") target_opengl() diff --git a/libraries/ui/CMakeLists.txt b/libraries/ui/CMakeLists.txt index 3625bd4f3e..6dde4cc1a2 100644 --- a/libraries/ui/CMakeLists.txt +++ b/libraries/ui/CMakeLists.txt @@ -4,5 +4,5 @@ link_hifi_libraries(shared networking qml gl audio audio-client plugins pointers include_hifi_library_headers(controllers) # Required for some low level GL interaction in the OffscreenQMLSurface -set(OpenGL_GL_PREFERENCE "LEGACY") +set(OpenGL_GL_PREFERENCE "GLVND") target_opengl() diff --git a/tools/gpu-frame-player/CMakeLists.txt b/tools/gpu-frame-player/CMakeLists.txt index e3611e1068..3f5330c381 100644 --- a/tools/gpu-frame-player/CMakeLists.txt +++ b/tools/gpu-frame-player/CMakeLists.txt @@ -23,7 +23,7 @@ link_hifi_libraries( target_compile_definitions(${TARGET_NAME} PRIVATE USE_GL) -set(OpenGL_GL_PREFERENCE "LEGACY") +set(OpenGL_GL_PREFERENCE "GLVND") target_opengl() #target_vulkan() From 57a3cd3d639df47cffe3cc34c7996560607d8efa Mon Sep 17 00:00:00 2001 From: Heather Anderson Date: Sat, 18 Sep 2021 21:36:35 -0700 Subject: [PATCH 16/26] replace the various disable-copy constructions with Q_DISABLE_COPY (or Q_DISABLE_COPY_MOVE) --- assignment-client/src/audio/AvatarAudioStream.h | 4 +--- interface/src/avatar/MyHead.h | 4 ++-- libraries/animation/src/AnimNodeLoader.h | 5 +---- libraries/animation/src/AnimRandomSwitch.h | 8 ++------ libraries/animation/src/AnimStateMachine.h | 8 ++------ libraries/audio/src/AudioInjectorManager.h | 3 +-- libraries/audio/src/InjectedAudioStream.h | 4 +--- libraries/avatars/src/AvatarData.h | 5 ++--- libraries/avatars/src/HeadData.h | 4 +--- libraries/networking/src/AccountManager.h | 3 +-- libraries/networking/src/NLPacketList.h | 3 +-- libraries/networking/src/Node.h | 4 +--- libraries/networking/src/NodeList.h | 3 +-- libraries/networking/src/udt/CongestionControl.h | 3 +-- libraries/networking/src/udt/ControlPacket.h | 3 +-- libraries/networking/src/udt/PacketList.h | 5 ++--- libraries/networking/src/udt/SendQueue.h | 3 +-- libraries/shaders/src/shaders/Shaders.h | 4 ++-- libraries/ui/src/VrMenu.cpp | 2 +- 19 files changed, 25 insertions(+), 53 deletions(-) diff --git a/assignment-client/src/audio/AvatarAudioStream.h b/assignment-client/src/audio/AvatarAudioStream.h index de9577099e..e445dafa5c 100644 --- a/assignment-client/src/audio/AvatarAudioStream.h +++ b/assignment-client/src/audio/AvatarAudioStream.h @@ -23,9 +23,7 @@ public: AvatarAudioStream(bool isStereo, int numStaticJitterFrames = -1); private: - // disallow copying of AvatarAudioStream objects - AvatarAudioStream(const AvatarAudioStream&); - AvatarAudioStream& operator= (const AvatarAudioStream&); + Q_DISABLE_COPY(AvatarAudioStream) int parseStreamProperties(PacketType type, const QByteArray& packetAfterSeqNum, int& numAudioSamples) override; }; diff --git a/interface/src/avatar/MyHead.h b/interface/src/avatar/MyHead.h index c999311b80..98a0d53fd8 100644 --- a/interface/src/avatar/MyHead.h +++ b/interface/src/avatar/MyHead.h @@ -23,8 +23,8 @@ public: private: // disallow copies of the Head, copy of owning Avatar is disallowed too - MyHead(const Head&); - MyHead& operator= (const MyHead&); + MyHead(const Head&) = delete; + MyHead& operator= (const MyHead&) = delete; }; #endif // hifi_MyHead_h diff --git a/libraries/animation/src/AnimNodeLoader.h b/libraries/animation/src/AnimNodeLoader.h index 6db001c261..5f8008e906 100644 --- a/libraries/animation/src/AnimNodeLoader.h +++ b/libraries/animation/src/AnimNodeLoader.h @@ -44,10 +44,7 @@ protected: QSharedPointer _resource; private: - - // no copies - AnimNodeLoader(const AnimNodeLoader&) = delete; - AnimNodeLoader& operator=(const AnimNodeLoader&) = delete; + Q_DISABLE_COPY(AnimNodeLoader) }; #endif // hifi_AnimNodeLoader diff --git a/libraries/animation/src/AnimRandomSwitch.h b/libraries/animation/src/AnimRandomSwitch.h index 490e2f86e1..a047be732d 100644 --- a/libraries/animation/src/AnimRandomSwitch.h +++ b/libraries/animation/src/AnimRandomSwitch.h @@ -120,9 +120,7 @@ protected: std::vector _transitions; private: - // no copies - RandomSwitchState(const RandomSwitchState&) = delete; - RandomSwitchState& operator=(const RandomSwitchState&) = delete; + Q_DISABLE_COPY(RandomSwitchState) }; public: @@ -181,9 +179,7 @@ protected: QString _lastPlayedState; private: - // no copies - AnimRandomSwitch(const AnimRandomSwitch&) = delete; - AnimRandomSwitch& operator=(const AnimRandomSwitch&) = delete; + Q_DISABLE_COPY(AnimRandomSwitch) }; #endif // hifi_AnimRandomSwitch_h diff --git a/libraries/animation/src/AnimStateMachine.h b/libraries/animation/src/AnimStateMachine.h index 3998f7e9ef..0a34fc4ebc 100644 --- a/libraries/animation/src/AnimStateMachine.h +++ b/libraries/animation/src/AnimStateMachine.h @@ -107,9 +107,7 @@ protected: std::vector _transitions; private: - // no copies - State(const State&) = delete; - State& operator=(const State&) = delete; + Q_DISABLE_COPY(State) }; public: @@ -152,9 +150,7 @@ protected: QString _currentStateVar; private: - // no copies - AnimStateMachine(const AnimStateMachine&) = delete; - AnimStateMachine& operator=(const AnimStateMachine&) = delete; + Q_DISABLE_COPY(AnimStateMachine) }; #endif // hifi_AnimStateMachine_h diff --git a/libraries/audio/src/AudioInjectorManager.h b/libraries/audio/src/AudioInjectorManager.h index cb243f23de..8fac2b37f2 100644 --- a/libraries/audio/src/AudioInjectorManager.h +++ b/libraries/audio/src/AudioInjectorManager.h @@ -72,8 +72,7 @@ private: bool wouldExceedLimits(); AudioInjectorManager() { createThread(); } - AudioInjectorManager(const AudioInjectorManager&) = delete; - AudioInjectorManager& operator=(const AudioInjectorManager&) = delete; + Q_DISABLE_COPY(AudioInjectorManager) void createThread(); diff --git a/libraries/audio/src/InjectedAudioStream.h b/libraries/audio/src/InjectedAudioStream.h index 990ea81272..467c499fa6 100644 --- a/libraries/audio/src/InjectedAudioStream.h +++ b/libraries/audio/src/InjectedAudioStream.h @@ -28,9 +28,7 @@ public: virtual const QUuid& getStreamIdentifier() const override { return _streamIdentifier; } private: - // disallow copying of InjectedAudioStream objects - InjectedAudioStream(const InjectedAudioStream&); - InjectedAudioStream& operator= (const InjectedAudioStream&); + Q_DISABLE_COPY(InjectedAudioStream) AudioStreamStats getAudioStreamStats() const override; int parseStreamProperties(PacketType type, const QByteArray& packetAfterSeqNum, int& numAudioSamples) override; diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index e17ba8f09d..70f20caa26 100755 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -1887,11 +1887,10 @@ protected: virtual void clearAvatarGrabData(const QUuid& grabID); private: + Q_DISABLE_COPY(AvatarData) + friend void avatarStateFromFrame(const QByteArray& frameData, AvatarData* _avatar); static QUrl _defaultFullAvatarModelUrl; - // privatize the copy constructor and assignment operator so they cannot be called - AvatarData(const AvatarData&); - AvatarData& operator= (const AvatarData&); }; Q_DECLARE_METATYPE(AvatarData*) diff --git a/libraries/avatars/src/HeadData.h b/libraries/avatars/src/HeadData.h index af71fd883d..3ab756ce42 100644 --- a/libraries/avatars/src/HeadData.h +++ b/libraries/avatars/src/HeadData.h @@ -128,9 +128,7 @@ protected: AvatarData* _owningAvatar; private: - // privatize copy ctor and assignment operator so copies of this object cannot be made - HeadData(const HeadData&); - HeadData& operator= (const HeadData&); + Q_DISABLE_COPY(HeadData) void setHeadOrientation(const glm::quat& orientation); }; diff --git a/libraries/networking/src/AccountManager.h b/libraries/networking/src/AccountManager.h index dda90d0833..bd318e3af5 100644 --- a/libraries/networking/src/AccountManager.h +++ b/libraries/networking/src/AccountManager.h @@ -163,8 +163,7 @@ private slots: void postAccountSettingsError(QNetworkReply::NetworkError error); private: - AccountManager(AccountManager const& other) = delete; - void operator=(AccountManager const& other) = delete; + Q_DISABLE_COPY(AccountManager); void persistAccountToFile(); diff --git a/libraries/networking/src/NLPacketList.h b/libraries/networking/src/NLPacketList.h index 9c50033ca7..270483ec25 100644 --- a/libraries/networking/src/NLPacketList.h +++ b/libraries/networking/src/NLPacketList.h @@ -27,11 +27,10 @@ public: qint64 getMaxSegmentSize() const override { return NLPacket::maxPayloadSize(_packetType, _isOrdered); } private: + Q_DISABLE_COPY(NLPacketList) NLPacketList(PacketType packetType, QByteArray extendedHeader = QByteArray(), bool isReliable = false, bool isOrdered = false); NLPacketList(udt::PacketList&& packetList); - NLPacketList(const NLPacketList& other) = delete; - NLPacketList& operator=(const NLPacketList& other) = delete; virtual std::unique_ptr createPacket() override; diff --git a/libraries/networking/src/Node.h b/libraries/networking/src/Node.h index cf2f081da6..70473c678c 100644 --- a/libraries/networking/src/Node.h +++ b/libraries/networking/src/Node.h @@ -109,9 +109,7 @@ public: float getOutboundKbps() const; private: - // privatize copy and assignment operator to disallow Node copying - Node(const Node &otherNode); - Node& operator=(Node otherNode); + Q_DISABLE_COPY(Node) NodeType_t _type; diff --git a/libraries/networking/src/NodeList.h b/libraries/networking/src/NodeList.h index fa6781c4bd..a09ee168ce 100644 --- a/libraries/networking/src/NodeList.h +++ b/libraries/networking/src/NodeList.h @@ -156,10 +156,9 @@ private slots: void maybeSendIgnoreSetToNode(SharedNodePointer node); private: + Q_DISABLE_COPY(NodeList) NodeList() : LimitedNodeList(INVALID_PORT, INVALID_PORT) { assert(false); } // Not implemented, needed for DependencyManager templates compile NodeList(char ownerType, int socketListenPort = INVALID_PORT, int dtlsListenPort = INVALID_PORT); - NodeList(NodeList const&) = delete; // Don't implement, needed to avoid copies of singleton - void operator=(NodeList const&) = delete; // Don't implement, needed to avoid copies of singleton void processDomainServerAuthRequest(const QByteArray& packet); void requestAuthForDomainServer(); diff --git a/libraries/networking/src/udt/CongestionControl.h b/libraries/networking/src/udt/CongestionControl.h index bfe7f552d1..f52e646124 100644 --- a/libraries/networking/src/udt/CongestionControl.h +++ b/libraries/networking/src/udt/CongestionControl.h @@ -64,8 +64,7 @@ protected: SequenceNumber _sendCurrSeqNum; // current maximum seq num sent out private: - CongestionControl(const CongestionControl& other) = delete; - CongestionControl& operator=(const CongestionControl& other) = delete; + Q_DISABLE_COPY(CongestionControl); }; diff --git a/libraries/networking/src/udt/ControlPacket.h b/libraries/networking/src/udt/ControlPacket.h index 772df41455..d47f05062b 100644 --- a/libraries/networking/src/udt/ControlPacket.h +++ b/libraries/networking/src/udt/ControlPacket.h @@ -48,13 +48,12 @@ public: void setType(Type type); private: + Q_DISABLE_COPY(ControlPacket) ControlPacket(Type type, qint64 size = -1); ControlPacket(std::unique_ptr data, qint64 size, const SockAddr& senderSockAddr); ControlPacket(ControlPacket&& other); - ControlPacket(const ControlPacket& other) = delete; ControlPacket& operator=(ControlPacket&& other); - ControlPacket& operator=(const ControlPacket& other) = delete; // Header read/write void readType(); diff --git a/libraries/networking/src/udt/PacketList.h b/libraries/networking/src/udt/PacketList.h index af2adf1ddb..f8e3c54d04 100644 --- a/libraries/networking/src/udt/PacketList.h +++ b/libraries/networking/src/udt/PacketList.h @@ -84,9 +84,8 @@ private: friend class PacketQueue; friend class SendQueue; friend class Socket; - - PacketList(const PacketList& other) = delete; - PacketList& operator=(const PacketList& other) = delete; + + Q_DISABLE_COPY(PacketList) // Takes the first packet of the list and returns it. template std::unique_ptr takeFront(); diff --git a/libraries/networking/src/udt/SendQueue.h b/libraries/networking/src/udt/SendQueue.h index ef3ad8bd16..bd75cbbb7f 100644 --- a/libraries/networking/src/udt/SendQueue.h +++ b/libraries/networking/src/udt/SendQueue.h @@ -90,10 +90,9 @@ private slots: void run(); private: + Q_DISABLE_COPY_MOVE(SendQueue) SendQueue(Socket* socket, SockAddr dest, SequenceNumber currentSequenceNumber, MessageNumber currentMessageNumber, bool hasReceivedHandshakeACK); - SendQueue(SendQueue& other) = delete; - SendQueue(SendQueue&& other) = delete; void sendHandshake(); diff --git a/libraries/shaders/src/shaders/Shaders.h b/libraries/shaders/src/shaders/Shaders.h index 701695c3a8..99060aca29 100644 --- a/libraries/shaders/src/shaders/Shaders.h +++ b/libraries/shaders/src/shaders/Shaders.h @@ -155,8 +155,8 @@ struct Source { static const Source& get(uint32_t shaderId); private: - // Disallow copy construction and assignment - Source(const Source& other) = default; + // Disallow copy construction + Source(const Source& other) = delete; static Source::Pointer loadSource(uint32_t shaderId) ; diff --git a/libraries/ui/src/VrMenu.cpp b/libraries/ui/src/VrMenu.cpp index 867302d955..8003337eac 100644 --- a/libraries/ui/src/VrMenu.cpp +++ b/libraries/ui/src/VrMenu.cpp @@ -141,7 +141,7 @@ public: } private: - MenuUserData(const MenuUserData&); + Q_DISABLE_COPY(MenuUserData); QMetaObject::Connection _shutdownConnection; QMetaObject::Connection _changedConnection; From c88b7f606410265691aa70a27ac0a3d67b536621 Mon Sep 17 00:00:00 2001 From: Heather Anderson Date: Sun, 19 Sep 2021 17:52:02 -0700 Subject: [PATCH 17/26] apply Q_DISABLE_COPY to MyHead (cleaning up the likely-bug in the existing code) --- interface/src/avatar/MyHead.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/interface/src/avatar/MyHead.h b/interface/src/avatar/MyHead.h index 98a0d53fd8..31543ccf5c 100644 --- a/interface/src/avatar/MyHead.h +++ b/interface/src/avatar/MyHead.h @@ -22,9 +22,7 @@ public: void simulate(float deltaTime) override; private: - // disallow copies of the Head, copy of owning Avatar is disallowed too - MyHead(const Head&) = delete; - MyHead& operator= (const MyHead&) = delete; + Q_DISABLE_COPY(MyHead) }; #endif // hifi_MyHead_h From e5e2872a42524ffe7c9f66f9c422b36dd52eb514 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 21 Sep 2021 07:15:40 +0000 Subject: [PATCH 18/26] Modifications to make-deb-server to account for new location for qt5-install libraries Some attempts to handle use of system-qt (but not tested) --- pkg-scripts/README.md | 4 ++-- pkg-scripts/make-deb-server | 35 ++++++++++++++++++++++------------- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/pkg-scripts/README.md b/pkg-scripts/README.md index f4f1056877..5ee4ed0243 100644 --- a/pkg-scripts/README.md +++ b/pkg-scripts/README.md @@ -16,7 +16,7 @@ and that the base folder can be reached by going to `../..`. This may not work i ## Ubuntu ``` -DEBVERSION="Semver e.g. 2021.1.0" DEBEMAIL="your-email@somewhere.com" DEBFULLNAME="Your Full Name" ./make-deb-server +DEBVERSION="Semver e.g. 2021.1.3" DEBEMAIL="your-email@somewhere.com" DEBFULLNAME="Your Full Name" ./make-deb-server ``` This script will retrieve the current git commit date and hash and append it to your specified version. @@ -30,7 +30,7 @@ sudo yum install rpm-build ``` Then, run the build script. ``` -RPMVERSION="Semver e.g. 2021.1.0" ./make-rpm-server +RPMVERSION="Semver e.g. 2021.1.3" ./make-rpm-server ``` This script will retrieve the current git commit date and hash and append it to your specified version. diff --git a/pkg-scripts/make-deb-server b/pkg-scripts/make-deb-server index 2040563691..16aeb6c99f 100755 --- a/pkg-scripts/make-deb-server +++ b/pkg-scripts/make-deb-server @@ -2,6 +2,7 @@ if [ "$VIRCADIA" = "" ]; then VIRCADIA=`realpath ../..` + QT5_LIBS=`realpath ../../../vircadia-files/qt/qt5-install/lib` fi GITDATE=`git -C $VIRCADIA/source log -n 1 --format=raw | grep author | cut -d">" -f 2 | cut -d" " -f 2 | xargs -I {} date -d @{} +"%Y%m%d"` @@ -21,15 +22,17 @@ cp $VIRCADIA/build/tools/oven/oven $DEB_BUILD_ROOT cp $VIRCADIA/build/libraries/*/*.so $DEB_BUILD_ROOT #cp $VIRCADIA/build/ice-server/ice-server $DEB_BUILD_ROOT chrpath -d $DEB_BUILD_ROOT/* -cp $VIRCADIA/qt5-install/lib/libQt5Network.so.*.*.* $DEB_BUILD_ROOT -cp $VIRCADIA/qt5-install/lib/libQt5Core.so.*.*.* $DEB_BUILD_ROOT -cp $VIRCADIA/qt5-install/lib/libQt5Widgets.so.*.*.* $DEB_BUILD_ROOT -cp $VIRCADIA/qt5-install/lib/libQt5Gui.so.*.*.* $DEB_BUILD_ROOT -cp $VIRCADIA/qt5-install/lib/libQt5Script.so.*.*.* $DEB_BUILD_ROOT -cp $VIRCADIA/qt5-install/lib/libQt5WebSockets.so.*.*.* $DEB_BUILD_ROOT -cp $VIRCADIA/qt5-install/lib/libQt5Qml.so.*.*.* $DEB_BUILD_ROOT -cp $VIRCADIA/qt5-install/lib/libQt5ScriptTools.so.*.*.* $DEB_BUILD_ROOT -chmod +x $DEB_BUILD_ROOT/*.so.*.*.* +if [ "$VIRCADIA_USE_SYSTEM_QT" = "" ]; then + cp $QT5_LIBS/libQt5Network.so.*.*.* $DEB_BUILD_ROOT + cp $QT5_LIBS/libQt5Core.so.*.*.* $DEB_BUILD_ROOT + cp $QT5_LIBS/libQt5Widgets.so.*.*.* $DEB_BUILD_ROOT + cp $QT5_LIBS/libQt5Gui.so.*.*.* $DEB_BUILD_ROOT + cp $QT5_LIBS/libQt5Script.so.*.*.* $DEB_BUILD_ROOT + cp $QT5_LIBS/libQt5WebSockets.so.*.*.* $DEB_BUILD_ROOT + cp $QT5_LIBS/libQt5Qml.so.*.*.* $DEB_BUILD_ROOT + cp $QT5_LIBS/libQt5ScriptTools.so.*.*.* $DEB_BUILD_ROOT + chmod +x $DEB_BUILD_ROOT/*.so.*.*.* +fi strip --strip-all $DEB_BUILD_ROOT/* cp $VIRCADIA/source/pkg-scripts/new-server $DEB_BUILD_ROOT cp -a $VIRCADIA/source/domain-server/resources $DEB_BUILD_ROOT @@ -71,9 +74,11 @@ echo domain-server opt/vircadia >> debian/install echo oven opt/vircadia >> debian/install #echo ice-server opt/vircadia >> debian/install echo new-server opt/vircadia >> debian/install -for so in *.so.*.*.*; do - echo $so opt/vircadia/lib >> debian/install -done +if [ "$VIRCADIA_USE_SYSTEM_QT" = "" ]; then + for so in *.so.*.*.*; do + echo $so opt/vircadia/lib >> debian/install + done +fi for so in *.so; do echo $so opt/vircadia/lib >> debian/install done @@ -86,7 +91,11 @@ done find resources -type f -exec sh -c 'echo {} opt/vircadia/$(dirname "{}") >> debian/install' \; find plugins -type f -exec sh -c 'echo {} opt/vircadia/$(dirname "{}") >> debian/install' \; -SOFILES=`ls *.so *.so.*.*.* | grep -Po '^(.+\.so(\.\d+)?)' | sed 's/\./\\\./g' | paste -d'|' -s` +if [ "$VIRCADIA_USE_SYSTEM_QT" = "" ]; then + SOFILES=`ls *.so *.so.*.*.* | grep -Po '^(.+\.so(\.\d+)?)' | sed 's/\./\\\./g' | paste -d'|' -s` +else + SOFILES=`ls *.so | grep -Po '^(.+\.so(\.\d+)?)' | sed 's/\./\\\./g' | paste -d'|' -s` +fi DEPENDS=`find * -path debian -prune -o -type f -executable -exec sh -c 'objdump -p {} | grep NEEDED' \; \ | awk '{print $2}' | sort | uniq | egrep -v "^($SOFILES)$" \ From ec7415404297e67d614f481e667065fd5d672a21 Mon Sep 17 00:00:00 2001 From: Alezia Kurdis <60075796+AleziaKurdis@users.noreply.github.com> Date: Thu, 23 Sep 2021 22:07:56 -0400 Subject: [PATCH 19/26] Adjustment to Doc for "created" properties Adjustment to Doc for "created" properties. The doc was pretending that it is a string value but it's in fact a number (Unix Timestamp). Addressing ISSUE #839 --- libraries/entities/src/EntityItemProperties.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/entities/src/EntityItemProperties.cpp b/libraries/entities/src/EntityItemProperties.cpp index 945804a0fc..8df85bcfe6 100644 --- a/libraries/entities/src/EntityItemProperties.cpp +++ b/libraries/entities/src/EntityItemProperties.cpp @@ -688,8 +688,8 @@ EntityPropertyFlags EntityItemProperties::getChangedProperties() const { * @property {Uuid} owningAvatarID=Uuid.NULL - The session ID of the owning avatar if avatarEntity is * true, otherwise {@link Uuid(0)|Uuid.NULL}. Read-only. * - * @property {string} created - The UTC date and time that the entity was created, in ISO 8601 format as - * yyyy-MM-ddTHH:mm:ssZ. Read-only. + * @property {number} created - When the entity was created, expressed as the number of microseconds since + * 1970-01-01T00:00:00 UTC. Read-only. * @property {number} age - The age of the entity in seconds since it was created. Read-only. * @property {string} ageAsText - The age of the entity since it was created, formatted as h hours m minutes s * seconds. From a9d8c9904b9ee4874e15fd18f297927e24e0bb08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Fri, 24 Sep 2021 17:11:29 +0200 Subject: [PATCH 20/26] Update to code review --- .github/workflows/pr_build.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index 5b1bca3c63..7426fa82e0 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -66,16 +66,14 @@ jobs: if [[ "${{ matrix.os }}" = "ubuntu-"* || "${{ matrix.os }}" = *"debian"* ]]; then echo "PYTHON_EXEC=python3" >> $GITHUB_ENV echo "INSTALLER_EXT=*" >> $GITHUB_ENV - if [ "${{ matrix.os }}" = "self-hosted_debian-11_aarch64" ]; then - echo "CMAKE_BUILD_EXTRA=-- -j4" >> $GITHUB_ENV - else - echo "CMAKE_BUILD_EXTRA=-- -j3" >> $GITHUB_ENV - fi + echo "CMAKE_BUILD_EXTRA=-- -j$(nproc)" >> $GITHUB_ENV if [ "${{ matrix.os }}" = "self-hosted_debian-11_aarch64" ]; then echo "VIRCADIA_USE_SYSTEM_QT=true" >> $GITHUB_ENV - echo "VCPKG_FORCE_SYSTEM_BINARIES=true" >> $GITHUB_ENV echo "CI_WORKSPACE=${{runner.workspace}}" >> $GITHUB_ENV fi + if [ "${{ matrix.os }}" =~ "aarch64" ]; then + echo "VCPKG_FORCE_SYSTEM_BINARIES=true" >> $GITHUB_ENV + fi if [ "${{ matrix.build_type }}" = "full" ]; then echo "CMAKE_EXTRA=-DBUILD_TOOLS:BOOLEAN=FALSE -DHIFI_PYTHON_EXEC:FILEPATH=$(which python3)" >> $GITHUB_ENV else @@ -130,7 +128,7 @@ jobs: fi - name: Clear Working Directory - if: startsWith(matrix.os, 'windows') || matrix.os == 'self-hosted_debian-11_aarch64' + if: startsWith(matrix.os, 'windows') || contains(matrix.os, 'self-hosted') shell: bash working-directory: ${{runner.workspace}} run: rm -rf ./* From 2abff7b878fa156e4032365e1c55503a9886e8aa Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Sat, 25 Sep 2021 23:02:16 +0200 Subject: [PATCH 21/26] Fix PCM and zlib codec audio crash on packet loss --- plugins/pcmCodec/CMakeLists.txt | 2 +- plugins/pcmCodec/src/PCMCodecManager.h | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/pcmCodec/CMakeLists.txt b/plugins/pcmCodec/CMakeLists.txt index cce33ecd1a..34e49d908b 100644 --- a/plugins/pcmCodec/CMakeLists.txt +++ b/plugins/pcmCodec/CMakeLists.txt @@ -8,7 +8,7 @@ set(TARGET_NAME pcmCodec) setup_hifi_client_server_plugin() -link_hifi_libraries(shared plugins) +link_hifi_libraries(shared audio plugins) if (BUILD_SERVER) install_beside_console() diff --git a/plugins/pcmCodec/src/PCMCodecManager.h b/plugins/pcmCodec/src/PCMCodecManager.h index 608e9a1556..c8c77f7cee 100644 --- a/plugins/pcmCodec/src/PCMCodecManager.h +++ b/plugins/pcmCodec/src/PCMCodecManager.h @@ -13,6 +13,7 @@ #define hifi__PCMCodecManager_h #include +#include class PCMCodec : public CodecPlugin, public Encoder, public Decoder { Q_OBJECT @@ -44,6 +45,7 @@ public: } virtual void lostFrame(QByteArray& decodedBuffer) override { + decodedBuffer.resize(AudioConstants::NETWORK_FRAME_BYTES_STEREO); memset(decodedBuffer.data(), 0, decodedBuffer.size()); } From b8d1057e1f38783cc8e0c6153458afe2ffc5393a Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Sun, 26 Sep 2021 01:27:19 +0200 Subject: [PATCH 22/26] Replace the deprecated QMutex{ QMutex::Recursive} with QRecursiveMutex This fixes around 1700 warnings. --- interface/src/Application.h | 4 ++-- interface/src/graphics/GraphicsEngine.h | 2 +- interface/src/ui/overlays/Overlays.h | 2 +- .../display-plugins/src/display-plugins/CompositorHelper.h | 2 +- libraries/entities/src/EntitySimulation.h | 4 ++-- libraries/networking/src/HMACAuth.h | 2 +- libraries/octree/src/OctreeEditPacketSender.h | 2 +- libraries/physics/src/PhysicalEntitySimulation.h | 2 +- libraries/render-utils/src/Model.h | 2 +- libraries/shared/src/DependencyManager.h | 2 +- 10 files changed, 12 insertions(+), 12 deletions(-) diff --git a/interface/src/Application.h b/interface/src/Application.h index 165326215f..215473ddfb 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -648,7 +648,7 @@ private: EntityTreePointer _entityClipboard; - mutable QMutex _viewMutex { QMutex::Recursive }; + mutable QRecursiveMutex _viewMutex; ViewFrustum _viewFrustum; // current state of view frustum, perspective, orientation, etc. ViewFrustum _displayViewFrustum; @@ -774,7 +774,7 @@ private: bool _isMissingSequenceNumbers { false }; void checkChangeCursor(); - mutable QMutex _changeCursorLock { QMutex::Recursive }; + mutable QRecursiveMutex _changeCursorLock; Qt::CursorShape _desiredCursor{ Qt::BlankCursor }; bool _cursorNeedsChanging { false }; diff --git a/interface/src/graphics/GraphicsEngine.h b/interface/src/graphics/GraphicsEngine.h index dccb098d5e..a5e9286bc7 100644 --- a/interface/src/graphics/GraphicsEngine.h +++ b/interface/src/graphics/GraphicsEngine.h @@ -69,7 +69,7 @@ private: protected: - mutable QMutex _renderArgsMutex{ QMutex::Recursive }; + mutable QRecursiveMutex _renderArgsMutex; AppRenderArgs _appRenderArgs; RateCounter<500> _renderLoopCounter; diff --git a/interface/src/ui/overlays/Overlays.h b/interface/src/ui/overlays/Overlays.h index b7e471bb1a..e59880c6d9 100644 --- a/interface/src/ui/overlays/Overlays.h +++ b/interface/src/ui/overlays/Overlays.h @@ -746,7 +746,7 @@ signals: private: void cleanupOverlaysToDelete(); - mutable QMutex _mutex { QMutex::Recursive }; + mutable QRecursiveMutex _mutex; QMap _overlays; QList _overlaysToDelete; diff --git a/libraries/display-plugins/src/display-plugins/CompositorHelper.h b/libraries/display-plugins/src/display-plugins/CompositorHelper.h index cc65eeeab7..389d49929e 100644 --- a/libraries/display-plugins/src/display-plugins/CompositorHelper.h +++ b/libraries/display-plugins/src/display-plugins/CompositorHelper.h @@ -161,7 +161,7 @@ private: // application specific position, when it's in desktop mode, the reticle position will simply move // the system mouse. glm::vec2 _reticlePositionInHMD { 0.0f, 0.0f }; - mutable QMutex _reticleLock { QMutex::Recursive }; + mutable QRecursiveMutex _reticleLock; QPointF _lastKnownRealMouse; bool _ignoreMouseMove { false }; diff --git a/libraries/entities/src/EntitySimulation.h b/libraries/entities/src/EntitySimulation.h index 5b7b38e447..5d5f4741d3 100644 --- a/libraries/entities/src/EntitySimulation.h +++ b/libraries/entities/src/EntitySimulation.h @@ -44,7 +44,7 @@ const int DIRTY_SIMULATION_FLAGS = class EntitySimulation : public QObject, public std::enable_shared_from_this { public: - EntitySimulation() : _mutex(QMutex::Recursive), _nextExpiry(std::numeric_limits::max()), _entityTree(nullptr) { } + EntitySimulation() : _mutex(), _nextExpiry(std::numeric_limits::max()), _entityTree(nullptr) { } virtual ~EntitySimulation() { setEntityTree(nullptr); } inline EntitySimulationPointer getThisPointer() const { @@ -90,7 +90,7 @@ protected: void callUpdateOnEntitiesThatNeedIt(uint64_t now); virtual void sortEntitiesThatMoved(); - QMutex _mutex{ QMutex::Recursive }; + QRecursiveMutex _mutex; SetOfEntities _entitiesToSort; // entities moved by simulation (and might need resort in EntityTree) SetOfEntities _simpleKinematicEntities; // entities undergoing non-colliding kinematic motion diff --git a/libraries/networking/src/HMACAuth.h b/libraries/networking/src/HMACAuth.h index 1346bdee17..92953af3a3 100644 --- a/libraries/networking/src/HMACAuth.h +++ b/libraries/networking/src/HMACAuth.h @@ -39,7 +39,7 @@ public: HMACHash result(); private: - QMutex _lock { QMutex::Recursive }; + QRecursiveMutex _lock; struct hmac_ctx_st* _hmacContext; AuthMethod _authMethod; }; diff --git a/libraries/octree/src/OctreeEditPacketSender.h b/libraries/octree/src/OctreeEditPacketSender.h index 318f6b81bb..ee1849ec31 100644 --- a/libraries/octree/src/OctreeEditPacketSender.h +++ b/libraries/octree/src/OctreeEditPacketSender.h @@ -93,7 +93,7 @@ protected: int _maxPendingMessages; bool _releaseQueuedMessagesPending; QMutex _pendingPacketsLock; - QMutex _packetsQueueLock{ QMutex::Recursive }; // don't let different threads release the queue while another thread is writing to it + QRecursiveMutex _packetsQueueLock; // don't let different threads release the queue while another thread is writing to it std::list _preServerEdits; // these will get packed into other larger packets std::list> _preServerSingleMessagePackets; // these will go out as is diff --git a/libraries/physics/src/PhysicalEntitySimulation.h b/libraries/physics/src/PhysicalEntitySimulation.h index 0f0a8e9295..1e8c65c639 100644 --- a/libraries/physics/src/PhysicalEntitySimulation.h +++ b/libraries/physics/src/PhysicalEntitySimulation.h @@ -129,7 +129,7 @@ private: QList _dynamicsToAdd; QSet _dynamicsToRemove; - QMutex _dynamicsMutex { QMutex::Recursive }; + QRecursiveMutex _dynamicsMutex; workload::SpacePointer _space; uint64_t _nextBidExpiry; diff --git a/libraries/render-utils/src/Model.h b/libraries/render-utils/src/Model.h index 930f942260..af477a2f09 100644 --- a/libraries/render-utils/src/Model.h +++ b/libraries/render-utils/src/Model.h @@ -444,7 +444,7 @@ protected: QVector _blendedBlendshapeCoefficients; int _blendNumber { 0 }; - mutable QMutex _mutex{ QMutex::Recursive }; + mutable QRecursiveMutex _mutex; bool _overrideModelTransform { false }; bool _triangleSetsValid { false }; diff --git a/libraries/shared/src/DependencyManager.h b/libraries/shared/src/DependencyManager.h index cd226b9960..eda8b60e9f 100644 --- a/libraries/shared/src/DependencyManager.h +++ b/libraries/shared/src/DependencyManager.h @@ -89,7 +89,7 @@ private: QHash> _instanceHash; QHash _inheritanceHash; - mutable QMutex _instanceHashMutex { QMutex::Recursive }; + mutable QRecursiveMutex _instanceHashMutex; mutable QMutex _inheritanceHashMutex; bool _exiting { false }; From 78248ee6cac691cbdf6f69798737a7a27d15e4f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Sun, 26 Sep 2021 08:13:45 +0200 Subject: [PATCH 23/26] Apparently using regex for finding a word doesn't work. --- .github/workflows/pr_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index 7426fa82e0..32295e0a0b 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -71,7 +71,7 @@ jobs: echo "VIRCADIA_USE_SYSTEM_QT=true" >> $GITHUB_ENV echo "CI_WORKSPACE=${{runner.workspace}}" >> $GITHUB_ENV fi - if [ "${{ matrix.os }}" =~ "aarch64" ]; then + if [ "${{ matrix.os }}" = *"aarch64" ]; then echo "VCPKG_FORCE_SYSTEM_BINARIES=true" >> $GITHUB_ENV fi if [ "${{ matrix.build_type }}" = "full" ]; then From 48d6f348ce369cd1708c32a275feaf3c7ec27050 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Sun, 26 Sep 2021 08:30:15 +0200 Subject: [PATCH 24/26] I hate this --- .github/workflows/pr_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml index 32295e0a0b..20619983c5 100644 --- a/.github/workflows/pr_build.yml +++ b/.github/workflows/pr_build.yml @@ -71,7 +71,7 @@ jobs: echo "VIRCADIA_USE_SYSTEM_QT=true" >> $GITHUB_ENV echo "CI_WORKSPACE=${{runner.workspace}}" >> $GITHUB_ENV fi - if [ "${{ matrix.os }}" = *"aarch64" ]; then + if [[ "${{ matrix.os }}" = *"aarch64" ]]; then echo "VCPKG_FORCE_SYSTEM_BINARIES=true" >> $GITHUB_ENV fi if [ "${{ matrix.build_type }}" = "full" ]; then From da71fbf294e05e16b76dce05b54c909242b356b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20Gro=C3=9F?= Date: Mon, 27 Sep 2021 14:43:58 +0200 Subject: [PATCH 25/26] Use GLVND on GLES --- libraries/gpu-gles/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/gpu-gles/CMakeLists.txt b/libraries/gpu-gles/CMakeLists.txt index 3e529f7dcd..11d05aa31e 100644 --- a/libraries/gpu-gles/CMakeLists.txt +++ b/libraries/gpu-gles/CMakeLists.txt @@ -2,4 +2,5 @@ set(TARGET_NAME gpu-gles) setup_hifi_library(Gui Concurrent) link_hifi_libraries(shared shaders gl gpu gpu-gl-common) GroupSources("src") +set(OpenGL_GL_PREFERENCE "GLVND") target_opengl() From e8201324e469c34909218185b26c09c611489964 Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Tue, 28 Sep 2021 21:22:37 +0200 Subject: [PATCH 26/26] Actually fix zLibCodec --- plugins/pcmCodec/src/PCMCodecManager.h | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/pcmCodec/src/PCMCodecManager.h b/plugins/pcmCodec/src/PCMCodecManager.h index c8c77f7cee..178f7cbd9b 100644 --- a/plugins/pcmCodec/src/PCMCodecManager.h +++ b/plugins/pcmCodec/src/PCMCodecManager.h @@ -83,6 +83,7 @@ public: } virtual void lostFrame(QByteArray& decodedBuffer) override { + decodedBuffer.resize(AudioConstants::NETWORK_FRAME_BYTES_STEREO); memset(decodedBuffer.data(), 0, decodedBuffer.size()); }