Showing the changes to interface/src/Application.cpp (1 of 99 files). Show all
Unified · Split
| @@ -115,6 +115,7 @@ · 114 unmodified lines | |||
| 115 | #include <render/RenderFetchCullSortTask.h> | 115 | #include <render/RenderFetchCullSortTask.h> |
| 116 | #include <RenderDeferredTask.h> | 116 | #include <RenderDeferredTask.h> |
| 117 | #include <RenderForwardTask.h> | 117 | #include <RenderForwardTask.h> |
| 118 | #include <RenderViewTask.h> | ||
| 118 | #include <ResourceCache.h> | 119 | #include <ResourceCache.h> |
| 119 | #include <ResourceRequest.h> | 120 | #include <ResourceRequest.h> |
| 120 | #include <SandboxUtils.h> | 121 | #include <SandboxUtils.h> |
| @@ -1722,6 +1723,10 @@ void Application::cleanupBeforeQuit() { · 1601 unmodified lines | |||
| 1722 | 1723 | ||
| 1723 | // Cleanup all overlays after the scripts, as scripts might add more | 1724 | // Cleanup all overlays after the scripts, as scripts might add more |
| 1724 | _overlays.cleanupAllOverlays(); | 1725 | _overlays.cleanupAllOverlays(); |
| 1726 | // The cleanup process enqueues the transactions but does not process them. Calling this here will force the actual | ||
| 1727 | // removal of the items. | ||
| 1728 | // See https://highfidelity.fogbugz.com/f/cases/5328 | ||
| 1729 | _main3DScene->processTransactionQueue(); | ||
| 1725 | 1730 | ||
| 1726 | // first stop all timers directly or by invokeMethod | 1731 | // first stop all timers directly or by invokeMethod |
| 1727 | // depending on what thread they run in | 1732 | // depending on what thread they run in |
| @@ -1868,15 +1873,9 @@ void Application::initializeGL() { · 140 unmodified lines | |||
| 1868 | 1873 | ||
| 1869 | // Set up the render engine | 1874 | // Set up the render engine |
| 1870 | render::CullFunctor cullFunctor = LODManager::shouldRender; | 1875 | render::CullFunctor cullFunctor = LODManager::shouldRender; |
| 1871 | _renderEngine->addJob<RenderShadowTask>("RenderShadowTask", cullFunctor); | ||
| 1872 | const auto items = _renderEngine->addJob<RenderFetchCullSortTask>("FetchCullSort", cullFunctor); | ||
| 1873 | assert(items.canCast<RenderFetchCullSortTask::Output>()); | ||
| 1874 | static const QString RENDER_FORWARD = "HIFI_RENDER_FORWARD"; | 1876 | static const QString RENDER_FORWARD = "HIFI_RENDER_FORWARD"; |
| 1875 | if (QProcessEnvironment::systemEnvironment().contains(RENDER_FORWARD)) { | 1877 | bool isDeferred = !QProcessEnvironment::systemEnvironment().contains(RENDER_FORWARD); |
| 1876 | _renderEngine->addJob<RenderForwardTask>("Forward", items); | 1878 | _renderEngine->addJob<RenderViewTask>("RenderMainView", cullFunctor, isDeferred); |
| 1877 | } else { | ||
| 1878 | _renderEngine->addJob<RenderDeferredTask>("RenderDeferredTask", items); | ||
| 1879 | } | ||
| 1880 | _renderEngine->load(); | 1879 | _renderEngine->load(); |
| 1881 | _renderEngine->registerScene(_main3DScene); | 1880 | _renderEngine->registerScene(_main3DScene); |
| 1882 | 1881 | ||
| @@ -5078,7 +5077,7 @@ namespace render { · 3195 unmodified lines | |||
| 5078 | template <> const ItemKey payloadGetKey(const WorldBoxRenderData::Pointer& stuff) { return ItemKey::Builder::opaqueShape(); } | 5077 | template <> const ItemKey payloadGetKey(const WorldBoxRenderData::Pointer& stuff) { return ItemKey::Builder::opaqueShape(); } |
| 5079 | template <> const Item::Bound payloadGetBound(const WorldBoxRenderData::Pointer& stuff) { return Item::Bound(); } | 5078 | template <> const Item::Bound payloadGetBound(const WorldBoxRenderData::Pointer& stuff) { return Item::Bound(); } |
| 5080 | template <> void payloadRender(const WorldBoxRenderData::Pointer& stuff, RenderArgs* args) { | 5079 | template <> void payloadRender(const WorldBoxRenderData::Pointer& stuff, RenderArgs* args) { |
| 5081 | if (args->_renderMode != RenderArgs::MIRROR_RENDER_MODE && Menu::getInstance()->isOptionChecked(MenuOption::WorldAxes)) { | 5080 | if (Menu::getInstance()->isOptionChecked(MenuOption::WorldAxes)) { |
| 5082 | PerformanceTimer perfTimer("worldBox"); | 5081 | PerformanceTimer perfTimer("worldBox"); |
| 5083 | 5082 | ||
| 5084 | auto& batch = *args->_batch; | 5083 | auto& batch = *args->_batch; |