summaryrefslogtreecommitdiff
path: root/indra/newview/lltexturefetch.h
AgeCommit message (Collapse)Author
2022-12-12DRTVWR-565: Merge branch 'origin/contribute' into DRTVWR-565Nat Goodspeed
2022-11-12DRTVWR-575: Address review comments on Xcode 14.1 type tweaks.Nat Goodspeed
Introduce LLSD template constructors and assignment operators to disambiguate construction or assignment from any integer type to Integer, likewise any floating point type to Real. Use new narrow() function to validate conversions. For LLSD method parameters converted from LLSD::Integer to size_t, where the method previously checked for a negative argument, make it now check for size_t converted from negative: in other words, more than S32_MAX. The risk of having a parameter forced from negative to unsigned exceeds the risk of a valid length or index over that max. In lltracerecording.cpp's PeriodicRecording, now that mCurPeriod and mNumRecordedPeriods are size_t instead of S32, defend against subtracting 1 from 0. Use narrow() to validate newly-introduced narrowing conversions. Make llclamp() return the type of the raw input value, even if the types of the boundary values differ. std::ostream::tellp() no longer returns a value we can directly report as a number. Cast to U64.
2022-07-13SL-17723 Remove use of UDP image fetchMnikolenko Productengine
2021-04-29SL-15177 Added LLTextureFetchTester to log texture fetching state timersMnikolenko Productengine
2020-05-25SL-12889 Failed to cache image crashesAndrey Kleshchev
2019-05-06SL-11074 FIXED "Cache Hit Rate" in Statistics is brokenmaxim_productengine
2019-04-02Merged in lindenlab/viewer-bearAndreyL ProductEngine
2019-01-17SL-10291 cleanup-mutexandreykproductengine
2018-04-11Add stats for tex cache read / decode / fetch latency for comparison of old ↵Graham Linden graham@lindenlab.com
cache code with TCO.
2017-03-10SL-409 - fixes for viewer asset metrics. Copy and/or assignment of Recording ↵Brad Payne (Vir Linden)
objects is failing, changed to create LLSD blob earlier and just copy that.
2016-04-04merge with 4.0.3-releaseOz Linden
2016-03-17MergeRider Linden
2016-03-16merge changes for DRTVWR-417Oz Linden
2016-02-16MAINT-2199 separating UI elements from in-world textures.andreykproductengine
2016-01-15merge changes for 4.0.1-releaseOz Linden
2016-01-15Merge VRRider Linden
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-10-21MAINT-4360 FIXED (Setting LogTextureDownloadsToSimulator causes a viewer crash)ruslantproductengine
The fix in fllowing: LLTextureFetch has object LLTextureInfo which is has Recorder object. The recorder object activate (Recorder::handleStart()) self AccumulatorBufferGroup (Recorder::mBuffers into the current (LLTrace::get_thread_recorder()) ThreadRecorder object which created (as I understand) one per thread, and time to time send accumulated data to the master ThreadRecorder. The problem is that LLTextureFetch also can uses from the main thread. I decide add parameter to CTOR LLTextureInfo(bool postponeStartRecoreder) - if it false the recorder start immediatly in LLTextureInfo CTOR body, if true we need to start it manually. Also I add another one LLTextureInfo in LLTextureFetch::mTextureInfoMainThread which is intended for accumulate data from the main thread. The postponed Recorder started/stoped from LLTextureFetch::startThread()/endThread().
2015-09-15MAINT-5507: Remove llcurl, move constant values and untilities to llcorehttp libRider Linden
2015-07-08Change HttpOptions::ptr_t to be shared_ptr<> rather than intrusive.Rider Linden
2015-07-08Convert LLCore::HttpHeaders to use shared_ptr<> rather than an ↵Rider Linden
intrusive_ptr<> for refrence counting.
2014-09-19Cleanup work. Use http constants for content-type andMonty Brandenberg
accept headers in mesh and textures. For texture metrics reporting, use the AP_INVENTORY policy class which is non-pipelined and pointing (usually) in the right direction. Use a do-while(false) structure to manage common exit path code in onCompleted() methods. Identical to a 'goto' but might amuse the pedantic. Tuning on background fetch to have it cycle faster. This is experimental. I suspect with HTTP balancing in llcorehttp, we can do away with the timers here.
2014-08-12Better support for dynamic option changes in llcorehttp. Libcurl hasMonty Brandenberg
some problems disabling pipelining on a multi handle with outstanding requests so build a more conservative system that allows requests to drain before setting curl multi options. Would rather not have this but it is significantly safer. "HttpPipelining" debug setting is now fully dynamic. Connection limits can also be made dynamic in the near future. Upped the default connection count back to 8 for now but will revisit this in the tuning phase. It might be time to combine mesh and textures into a single asset class. For normal server operations that would be a clear path, but for server under load, the current scheme may be better. Minor cleanup in logging to elminate some redundant strings. Might add some more tracing to the stall logic 'just in case'.
2014-06-23First HTTP pipelining viewer. Enable pipelining forMonty Brandenberg
GetTexture and GetMesh2 at a pipeline depth of 5. Create global debug option, HttpPipelining, to enable and disable HTTP pipelining (defaults to true). Tweak texture and mesh low- and high-water request levels based on pipelining status and depth. Fixup texture console which was damaged in a recent release. Split logging of the no-request HTTP error case into two cases: one for missing URL in HTTP request, one for HTTP request not created. A refactor in llcorehttp is coming: I will be moving all libcurl- using code into libcurl-specific modules.
2014-05-13sunshine-external merge WIPBrad Payne (Vir Linden)
2014-02-24merge with releaseRichard Linden
2013-11-20SH-4611 WIPBrad Payne (Vir 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-15moved unit types out of LLUnits namespace, since they are prefixedRichard Linden
2013-07-15SH-4299Interesting: High fps shown temporarily off scale in statistics consoleRichard Linden
various fixes to lltrace start() on started recording no longer resets fixed various instances of unit forgetfullness in lltrace recording split now has gapless timing scene monitor now guarantees min sample time renamed a bunch of stats added names to debug thread view on windows
2013-07-08SH-4299 WIP: Interesting: High fps shown temporarily off scale in statistics ↵Richard Linden
console added percentage/ratio units added auto-range and auto tick calculation to stat bar to automate display stats
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-05-29SH-3931 WIP Interesting: Add graphs to visualize scene load metricsRichard Linden
fixed copy construction behavior of Recordings to not zero out data split measurement into event and sample, with sample representing a continuous function
2013-04-19merge changes for DRTVWR-294Oz Linden
2013-04-15SH-4061 - integrated LLHttpRetryPolicy with new corehttp header parsingBrad Payne (Vir Linden)
2013-04-15SH-4061 WIP - moved all retry logic into lltexturefetch, some cleanup. Debug ↵Brad Payne (Vir Linden)
setting now defines a fake failure rate.
2013-04-15SH-4106 Significantly upgrade the HttpHeaders interface for SSB.Monty Brandenberg
Header container moves from a vector of raw lines to a vector of string pairs representing name/value pairs in headers. For incoming headers, we normalize the name to lowercase and trim it. Values are only left-trimmed. Outgoing headers are left as-is. Simple find() method for the common case, forward and reverse iterators for those few who need to do it themselves. The HTTP status line (e.g. 'HTTP/1.1 200 Ok') is no longer treated as a header to be returned to caller. Unit tests, as usual, were a bear but they absolutely ensured outgoing HTTP header conformance after the change. Grunt work paid off. LLTextureFetch was also given a second options structure for texture fetches. Same as the original but with header return to caller requested. Baked textures should use this, the other 20,000 texture fetch requests should continue to use the original.
2013-04-15SH-4106 Significantly upgrade the HttpHeaders interface for SSB.Monty Brandenberg
Header container moves from a vector of raw lines to a vector of string pairs representing name/value pairs in headers. For incoming headers, we normalize the name to lowercase and trim it. Values are only left-trimmed. Outgoing headers are left as-is. Simple find() method for the common case, forward and reverse iterators for those few who need to do it themselves. The HTTP status line (e.g. 'HTTP/1.1 200 Ok') is no longer treated as a header to be returned to caller. Unit tests, as usual, were a bear but they absolutely ensured outgoing HTTP header conformance after the change. Grunt work paid off. LLTextureFetch was also given a second options structure for texture fetches. Same as the original but with header return to caller requested. Baked textures should use this, the other 20,000 texture fetch requests should continue to use the original.
2013-04-12SH-4061 WIP - moved retry policy to newview so it can work with either ↵Brad Payne (Vir Linden)
llmessage or CoreHttp libraries. Updated tests.
2013-04-11SH-4061 WIP - started adding retry to texture fetch, making retry policy ↵Brad Payne (Vir Linden)
compatible with old and new http libraries
2013-04-10SH-4061 WIP - capture http status codes from requests, restrict SB fetch ↵Brad Payne (Vir Linden)
retries to 5xx errors
2013-04-08SH-4061 FIX - texture fetch failures added retry logic and fault injection ↵Brad Payne (Vir Linden)
for testing
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-03-22merge with viewer-releaseRichard Linden
2013-03-11mergeprep
2013-03-11mergeprep
2013-03-11Added gratuitous coupling to stop gcc from complainingBrad Payne (Vir Linden)
2013-03-08SH-3959 WIP - pass information about type of fetched image - server bake, ↵Brad Payne (Vir Linden)
host bake, map tile, etc - down the chain so LLTextureFetchWorker can adjust behavior as needed
2013-03-06renamed LLTrace stat gathering classes/methods to make the structure of ↵Richard Linden
LLTrace clearer Count becomes CountStatHandle Count.sum becomes sum(Count, value), etc.