summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewer.h
AgeCommit message (Collapse)Author
2016-06-30DRTVWR-418: Unify control flow through LLAppViewer across platforms.Nat Goodspeed
The LLApp API used to consist of init(), mainLoop(), cleanup() methods. This makes sense -- but on Mac that structure was being subverted. The method called mainLoop() was in fact being called once per frame. There was initialization code in the method, which (on Mac) needed to be skipped with an already-initialized bool. There was a 'while' loop which (on Mac) needed to be turned into an 'if' instead so the method would return after every frame. Rename LLApp::mainLoop() to frame(). Propagate through subclasses LLAppViewer and LLCrashLogger. Document the fact that frame() returns true to mean "done." (This was always the case, but had to be inferred from the code.) Rename the Mac Objective-C function mainLoop to oneFrame. Rename the C++ free function it calls from runMainLoop() to pumpMainLoop(). Add comments to llappdelegate-objc.mm explaining (inferred) control flow. Change the Linux viewer main() and the Windows viewer WINMAIN() from a single LLAppViewer::mainLoop() call to repeatedly call frame() until it returns true. Move initialization code from the top of LLAppViewer::frame() to the init() method, where it more properly belongs. Remove corresponding mMainLoopInitialized flag (and all references) from LLAppViewer. Remove 'while (! LLApp::isExiting())' (or on Mac, 'if (! LLApp::isExiting())') from LLAppViewer::frame() -- thus unindenting the whole body of the 'while' and causing many lines of apparent change. (Apologies to reviewers.) There are four LLApp states: APP_STATUS_RUNNING, APP_STATUS_QUITTING, APP_STATUS_STOPPED and APP_STATUS_ERROR. Change LLAppViewer::frame() return value from (isExiting()) (QUITTING or ERROR) to (! isRunning()). I do not know under what circumstances the state might transition to STOPPED during a frame() call, but I'm quite sure that if it does, we don't want to call frame() again. We only want a subsequent call if the state is RUNNING. Also rename mainLoop() method in LLCrashLogger subclasses LLCrashLoggerWindows, LLCrashLoggerMac, LLCrashLoggerLinux. Of course it's completely up to the frame() method whether to yield control; none of those in fact do. Honor protocol by returning true (frame() is done), even though each one's main() caller ignores the return value. In fact LLCrashLoggerWindows::mainLoop() wasn't using the return protocol correctly anyway, returning wParam or 0 or 1 -- possibly because the return protocol was never explicitly documented. It should always return true: "I'm done, don't call me again."
2016-04-21MAINT-6317 [QuickGraphics-RC] Some rigged mesh attachments render fully on ↵ruslantproductengine
jellybaby avatars when ALM is enabled FIXED - remove global identifier for the black texture - add black texture 2x2x3 localy on apllication startup - add special flag to LLViewerFetchedTexture for protect from removing
2016-01-15merge changes for 4.0.1-releaseOz Linden
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-10-27MAINT-3491 FIXED If ALM is enabled while in wireframe mode, disabling ↵ruslantproductengine
wireframe mode results in a black screen.
2015-07-10merge up to 3.8.0-release (and fix for unit tests with a proxy enabled)'Oz Linden
2015-06-29Replace hg.secondlife.com with bitbucket.org/lindenlab/viewer-releaseOz Linden
Incorporate viewer channel and version into doxygen output Use the autobuild configuration as a variant to build doxygen docs. Upload doxygen docs as a tarball if generated.
2015-06-25merge buildcleanupOz Linden
2015-04-15Merge viewer-releasesimon
2014-11-25MAINT-4690 FIXED forced send_agent_update(TRUE) in idle() results in large ↵andreykproductengine
amounts of useless UDP traffic
2014-05-07Merge with 3.7.7-releasedolphin
2014-04-22Merge with 3.7.6-releasedolphin
2014-04-22MergeXiaohong Bao
2014-04-14Fix for MAINT-5707 bad breakpad behavior with teleport linksAura Linden
2014-04-14Merge with 3.7.5-releasedolphin
2014-04-07merge with releaseRichard Linden
2014-03-13Merged in viewer-releaseAura Linden
2014-03-12merge with releaseRichard Linden
2014-03-10Mergedolphin
2013-12-03Creating a cleaner branchAura Linden
2013-11-11MAINT-3432 FIX Help -> Report Bug should open jira with pre-populated fieldsRichard Linden
moved viewer information strings into LLAppViewer replaced Help>Report a Bug with direct use of Jira link
2013-10-15renamed TimeBlock to BlockTimerStatHandleRichard Linden
2013-09-09merge with viewer-releaseRichard Linden
2013-09-09Merge with 3.6.5dolphin
2013-09-05changed fast timer over to using macroRichard Linden
another attempt to move mem stat into base class
2013-08-27Mergedolphin
2013-08-27broke out llunit.h into llunittype.h and llunits.h for unit declarationsRichard Linden
changed unit declarations macros to make a lot more sense
2013-08-27merge changes for 3.6.4-releaseOz Linden
2013-08-18SH-4433 WIP: Interesting: Statistics > Ping Sim is always 0 msRichard Linden
continued conversion to units system made units perform type promotion correctly and preserve type in arithmetic e.g. can now do LLVector3 in units added typedefs for remaining common unit types, including implicits
2013-08-16SH-4433 WIP: Interesting: Statistics > Ping Sim is always 0 msRichard Linden
converted many values over to units system in effort to track down source of 0 ping
2013-08-12Backed out changeset: ed09997b4652Richard Linden
2013-08-06revert some LLUnit changes to temporarily fix SH-4399: Interesting: Texture ↵Xiaohong Bao
console MB Bound 0/384 and texture queue bounces once per second
2013-08-02CHOP-959: Honor --graphicslevel switch even on first viewer run.Nat Goodspeed
Previous CHOP-959 logic set a flag to remember that settings variable RenderQualityPerformance was set (by --graphicslevel), so it could be applied once LLViewerWindow is constructed. But on first viewer run, LLViewerWindow constructor calls LLFeatureManager::applyRecommendedSettings(), which resets that settings variable! So don't just set a flag, actually capture the requested RenderQualityPerformance value for later.
2013-07-30Summer cleaning - removed a lot of llcommon dependencies to speed up build timesRichard Linden
consolidated most indra-specific constants in llcommon under indra_constants.h fixed issues with operations on mixed unit types (implicit and explicit) made LL_INFOS() style macros variadic in order to subsume other logging methods such as ll_infos added optional tag output to error recorders
2013-07-18SH-4297 WIP interesting: viewer-interesting starts loading cached scene lateRichard Linden
dependency cleanup - removed a lot of unecessary includes
2013-06-20merge with releaseRichard Linden
2013-06-19Merge with viewer-release.Geenz
2013-06-19Merge with viewer 3.6.0dolphin
2013-06-13SH-3931 WIP Interesting: Add graphs to visualize scene load metricsRichard Linden
changed Units macros and argument order to make it more clear optimized units for integer types fixed merging of periodicrecordings...should eliminate duplicate entries in sceneloadmonitor history
2013-06-05merge with viewer-releaseRichard Linden
2013-06-03Fix and organize code for managing marker files that detect last_exec_event ↵Oz Linden
and last_exec_duration
2013-05-23for SH-4145: Interesting: Implement occlusion culling for object cacheXiaohong Bao
2013-05-20Merge with viewer-releasedolphin
2013-05-13Merged with https://bitbucket.org/lindenlab/viewer-betaGeenz
2013-04-19merge up to latest viewer-development for merge to 3.5.2Oz Linden
2013-04-19merge changes for DRTVWR-294Oz Linden
2013-04-16merge up to 3.5.2 developmentOz Linden
2013-04-04Merge with viewer-developmentdolphin
2013-04-02Add reporting of last_exec_durationOz Linden
(and clean up logic around multiple instances)
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz