Showing the changes to interface/src/Application.cpp (1 of 99 files). Show all
Unified · Split
| @@ -115,6 +115,7 @@ · 114 unmodified lines | ||
| 115 | 115 | #include <render/RenderFetchCullSortTask.h> |
| 116 | 116 | #include <RenderDeferredTask.h> |
| 117 | 117 | #include <RenderForwardTask.h> |
| 118 | +#include <RenderViewTask.h> | |
| 118 | 119 | #include <ResourceCache.h> |
| 119 | 120 | #include <ResourceRequest.h> |
| 120 | 121 | #include <SandboxUtils.h> |
| @@ -1722,6 +1723,10 @@ void Application::cleanupBeforeQuit() { · 1601 unmodified lines | ||
| 1722 | 1723 | |
| 1723 | 1724 | // Cleanup all overlays after the scripts, as scripts might add more |
| 1724 | 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 | 1731 | // first stop all timers directly or by invokeMethod |
| 1727 | 1732 | // depending on what thread they run in |
| @@ -1868,15 +1873,9 @@ void Application::initializeGL() { · 140 unmodified lines | ||
| 1868 | 1873 | |
| 1869 | 1874 | // Set up the render engine |
| 1870 | 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 | 1876 | static const QString RENDER_FORWARD = "HIFI_RENDER_FORWARD"; |
| 1875 | − if (QProcessEnvironment::systemEnvironment().contains(RENDER_FORWARD)) { | |
| 1876 | − _renderEngine->addJob<RenderForwardTask>("Forward", items); | |
| 1877 | − } else { | |
| 1878 | − _renderEngine->addJob<RenderDeferredTask>("RenderDeferredTask", items); | |
| 1879 | − } | |
| 1877 | + bool isDeferred = !QProcessEnvironment::systemEnvironment().contains(RENDER_FORWARD); | |
| 1878 | + _renderEngine->addJob<RenderViewTask>("RenderMainView", cullFunctor, isDeferred); | |
| 1880 | 1879 | _renderEngine->load(); |
| 1881 | 1880 | _renderEngine->registerScene(_main3DScene); |
| 1882 | 1881 | |
| @@ -5078,7 +5077,7 @@ namespace render { · 3195 unmodified lines | ||
| 5078 | 5077 | template <> const ItemKey payloadGetKey(const WorldBoxRenderData::Pointer& stuff) { return ItemKey::Builder::opaqueShape(); } |
| 5079 | 5078 | template <> const Item::Bound payloadGetBound(const WorldBoxRenderData::Pointer& stuff) { return Item::Bound(); } |
| 5080 | 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 | 5081 | PerformanceTimer perfTimer("worldBox"); |
| 5083 | 5082 | |
| 5084 | 5083 | auto& batch = *args->_batch; |