summaryrefslogtreecommitdiff
path: root/indra/newview/llmeshrepository.h
AgeCommit message (Collapse)Author
2013-08-06SH-4411 Thread/mutex rework between main and worker threadMonty Brandenberg
Have the ::notifyLoadedMeshes() method doing correct locking and stall avoidance at the same time. This method now does lazy mutex lock acquisition (trylock()) and if it fails on either, it gives up and comes back later. Capture the maximum number of sequential failures and report this at the end of the run in the log. (So far, with big mesh regions, I've only seen 1s and 2s.) Locking/mutex requirements sorted in other locations as well. LLMutex gets trylock() method as well as new LLMutexTrylock scoped locking class. Clean up some documentation, more to do.
2013-08-05Added some simple counters to the mesh repository code and thenMonty Brandenberg
added a Mesh status line to the texture fetch console. Mesh is often in competition with textures and so the mesh information seems appropriate there. Do get a nice feel for progress and you definitely see when the throttles kick in.
2013-07-30SH-4371 Reduce 22mS inter-connection latency.Monty Brandenberg
This really extended into the client-side request throttling. Moved this from llmeshrepository (which doesn't really want to do connection management) into llcorehttp. It's now a class option with configurable rate. This still isn't the right thing to do as it creates coupling between viewer and services. When we get to pipelining, this notion becomes invalid.
2013-07-25SH-4365 SH-4367 Conversion of mesh uploaders to llcorehttp.Monty Brandenberg
With this checkin, legacy LLCurl is out of the mesh code. Uploaders and responders are converted and functioning. Logging has been cleaned up throughout the code to use the macro form with tag/subtag capability. DEBUGS-level logging added for some upload path milestones. Better error information flow from failed responses to viewer alert boxes but I'd really, really like to do better here. Mesh upload problems are completely opaque as a user. Minor cleanups (removed dead members, method signatures tidied, less data conversion). Could almost call this complete, will likely have platform cleanups, however.
2013-07-18SH-4325 Viewer working mixed grid with GetMesh and GetMesh2 capsMonty Brandenberg
Viewer modified for preference for GetMesh2 caps. When found, uses this cap and uses 1/4 the connection concurrency specified by MeshMaxConcurrentRequests. Also uses a modified calculation for high/low water feeding into the llcorehttp library.
2013-06-27SH-4311 Get highwater limiting of requests into llhttpcore working.Monty Brandenberg
Fixed the logic and have it covering all five types of requests now with validation via an assert (when enabled). Should keep things working smoothly and avoid floods of 503s when in debug modes. Also started a round of file-level documentation detailing thread usage and mutex coverage. More to do, more to describe. But the high- water stuff is functioning correctly.
2013-06-27SH-4310/BUG-2810/MAINT-2794 Better status checking and error logging in ↵Monty Brandenberg
Mesh code. Pay correct attention to status codes coming back from services. Generate better and consistent error messages when problems arise. There's more to do in error handling, need a way to cleanly fail all request types, only have that for LOD at this point. Do better keeping the HTTP pipeline between the low and high water marks. This was made challenging because the outer most code couldn't really see what's going on internally (whose actions are delayed in a worker thread). More to do here, the debug-like requests don't honor limits, that will come later. Made retry counts available from llcorehttp which can be used by the throttle-anticipating logic to advance the count. It helps but it reinforces the coupling between viewer and server which I do not like.
2013-06-20SH-4257 Preparation for a new cap grant: GetMesh2Monty Brandenberg
Mesh repo is using three policy classes now: one for large objects, one for GetMesh2 regions, one for GetMesh regions. It's also detecting the presence of the cap and using the correct class. Class initialization cleaned up significantly in llappcorehttp using data-directed code. Pulled in the changes to HttpHeader done for sunshine-internal then did a refactoring pass on the header callback which now uses a unified approach to clean up and deliver header information to all interested parties. Added support for using Retry-After header information on 503 retries.
2013-06-19SH-4252 Add second policy class for large mesh asset downloadsMonty Brandenberg
Added second mesh class as well as an asset upload class. Refactored initialization to use less code and more data to cleanly get http started. Modified mesh to use the new http class for large requests (>2MB for now). Added additional timeout setting to llcorehttp to distinguish connection timeout from transport timeout and are now using transport timeout values for large asset downloads that may need more time.
2013-06-07Mostly cleanup. A chunk of comment code nobody needs. DereferenceMonty Brandenberg
after delete, erase() on end() iterator, a few more like that. Killed a dead variable.
2013-05-30Merge. Pull viewer-release to get the new version scheme changes.Monty Brandenberg
2013-05-07SH-4139 Convert http downloaders and responders to llcorehttp patternsMonty Brandenberg
Initial work completed on linux, moving over to windows to do debug and refinement. This includes 5/6 handlers based on existing responders and use of llcorehttp for the mesh header fetch.
2013-04-17SH-4090 Integrating deadman timer with mesh repo downloads.Monty Brandenberg
Timer interface violated my design rules and I paid for it with clumsiness and silent errors. Cleaned it up mainly removing the evil default values. Found better integration points in the mesh downloader and it's producing fairly consistent numbers on the MeshTest2 test region (about 5500 downloads, ~90 seconds, +/- 10 seconds). Will review with davep and do an early timer stop on teleport which invalidates a timing sequence.
2013-04-12SH-4090 [WIP] Basic deadman timer integration started on Linux. Moving to ↵Monty Brandenberg
windows to do real work.
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-01-09More merge cleanup.Dave Parks
2013-01-09Merge cleanup.Dave Parks
2013-01-08Automated merge with https://bitbucket.org/lindenlab/viewer-tigerDave Parks
2012-11-08MAINT-1311 Followup on logging and assertions of mesh loading errorsDave Parks
2012-10-17MAINT-873 Fix for inability to upload meshes on some systems.Dave Parks
2012-10-17MAINT-873 Fix for inability to upload meshes on some systems.Dave Parks
2012-04-18Updating to the latest llphysicextensions pre-built package with the now ↵Todd Stinson
lowercased version of the header file names.
2012-02-06Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-development.Todd Stinson
2012-02-01mergeBrad Payne (Vir Linden)
2012-01-30Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-development.Todd Stinson
2012-01-27BUILDFIX header file capitalizationNyx (Neal Orman)
Will clean this up to be more in line with our standards later
2012-01-19SH-2885 Add mesh requests pending/processing line to "Show Render Info"Dave Parks
2012-01-12fix for SH-2845, SH-2846, SH-2847, SH-2851: curl crashes and out-of-memory ↵Xiaohong Bao
crashes.
2011-09-14mergeBrad Payne (Vir Linden)
2011-08-16FIX SH-859, SH-1274 - added fix for determining triangle count andNyx (Neal Orman)
performance tested impact of animated textures Also did some cleanup to ensure branch built and ran properly after last merge.
2011-08-12merge from viewer-experienceLeyla Farazha
2011-07-07fix for SH-1808: uploading warthog model triggers ↵Xiaohong Bao
LLPhysicsDecomp::doDecompositionSingleHull warnings SH-1333: [PUBLIC] Simple mesh causing the viewer to crash
2011-07-09SH-2007 Code cleanup, expand minimum header size to 4KB, better comments ↵Dave Parks
around magic numbers, remove dead calcResourceCost
2011-07-07SH-1774 Fix for preserving material assignments between multiple custom LoDs.Dave Parks
2011-07-07fix for SH-1808: uploading warthog model triggers ↵Xiaohong Bao
LLPhysicsDecomp::doDecompositionSingleHull warnings SH-1333: [PUBLIC] Simple mesh causing the viewer to crash
2011-07-05merge cleanupBrad Payne (Vir Linden)
2011-07-05mergeBrad Payne (Vir Linden)
2011-07-03SH-1747 mesh-asset-dep -- uploaded objects have bad permissions, and SH-1975 ↵Don Kjer
Name of mesh is not loaded into mesh uploader floater. Also removed a lot of dead mesh uploader code.
2011-07-01SH-1725 SH-1726 FIX mesh upload wizard & advanced don't handle upload errors ↵Nyx (Neal Orman)
gracefully Restructured the code to be a bit cleaner, now have callbacks with appropriate functionality in both the wizard and advanced uploaders. If the upload fails, it requires the user to re-submit the recalculate request.
2011-06-30SH-1332 Remaining mesh wizard upload workNyx (Neal Orman)
adding observer classes for the upload step so we don't move to success state until upload succeeds.
2011-06-29SH-1726 FIXED (Viewer modifications to advanced model upload to accommodate ↵Paul ProductEngine
upload fee & prim equivalency) - Changed XUI according to the spec - Added requesting upload permission, physics weight and fee weight - Split requesting fee and uploading model steps in mesh repository
2011-06-20fix for SH-1870: can not upload book_collection_1.dae when include texturesXiaohong Bao
2011-06-09partial fix for SH-1804: viewer crashes when uploading "Messerschmitt KR200.dae"Xiaohong Bao
eliminated crashing, but still failed to upload it.
2011-06-08fix for SH-1651 and SH-1652: Viewer Crash in Display:RenderUI when uploading ↵Xiaohong Bao
skpfile.dae model with High LOD selected as Physics shape
2011-06-06automated mergeRoxie Linden
2011-06-06Removed the old mesh asset upload pipeline. Fixed a problem with spamming ↵Don Kjer
MissingString MacLocale warnings. Reviewed by Dave
2011-06-03automated mergeRoxie Linden
2011-06-01SH-812 Fix for rigged meshes not showing up as rigged until LoD switch.Dave Parks
2011-05-27transplant fix for SH-1467Roxie Linden
viewer now uses simulatorfeatures to check whether to show UI elements for mesh or not
2011-05-24fix forXiaohong Bao
SH-712:Asset error given on upload of duck.dae using High LOD for physics shape - Analyze seems to not complete; SH-889: Viewer crash when analyzing physics LOD; SH-890: Viewer crash on Exit after analyzing physics layer which never seems to complete