summaryrefslogtreecommitdiff
path: root/indra/newview/llvovolume.cpp
AgeCommit message (Collapse)Author
2010-07-30Fix for EXT-8339Monroe Linden
Added a couple of new nav states to LLViewerMediaImpl: MEDIANAVSTATE_FIRST_LOCATION_CHANGED_SPURIOUS and MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED_SPURIOUS. These behave just like the corresponding states without the _SPURIOUS suffix, but will be used if the new navigate doesn't change the current URL of the impl. This allows us to catch cases like the repro of this issue and discard the spurious navigate events.
2010-07-29Yet more cleanup around llmediadataclient.Monroe Linden
In LLVOVolume, added a count of LLMediaDataClientObjectImpl objects referencing each LLVOVolume object. This allows LLVOVolume::markDead() to skip the relatively expensive calls to removeFromQueue() when the LLVOVolume is known to have no active references. Refactored LLMediaDataClient and its two child classes so that only LLObjectMediaDataClient has the round-robin queue (LLObjectMediaNavigateClient doesn't need it), and cleaned up some of the virtual function hierarchy around queue processing. In LLMediaDataClient, added tracking for requests that aren't currently in a queue (i.e. requests that are in flight or waiting for retries) so they can be found when their objects are marked dead. LLMediaDataClient::Request now directly keeps track of the object ID and face associated with the request. Removed the "markedSent" concept from requests. Requests that have been sent are no longer kept in a queue. The Retry timer now references the Request object instead of the Responder. Replaced LLMediaDataClient::findOrRemove() with separate template functions for find and remove.
2010-07-21Miscellaneous cleanup in and around llmediadataclient.Monroe Linden
Added tags to some media-related logging in LLVOVolume. Made LLMediaDataClient::Responder do most of its work in tick() instead of its destructor. Added a comment to llmediadataclient.cpp that explains the idea behind the two-queue system. Made LLMediaDataClient::sortQueue() remove requests from the queue that hold references to dead items. This should make teleporting away solve many of the pathological queueing cases. Updated llmediadataclient test cases to reflect the change in behavior in sortQueue(). Removed some unnecessary const-ness in LLMediaDataClient::enqueue, which caused it to have to use const_cast.
2010-06-21Merge from ssh://hg.lindenlab.com/dessie/viewer-releaseLeyla Farazha
2010-06-17EXT-6957 Media Navigation & Interaction does not work for "Group" if ↵Leyla Farazha
"Anyone" is disabled. reviewed by richard cc#216
2010-05-14merge from viewer-publicTofu Linden
2010-05-13EXT-7327: FIXED: viewer crash in LLVOVolume::syncMediaData on Meshopotamia 1Xiaohong Bao
2010-05-12Fix for fullbright bump not working in deferred render.Dave Parks
Fix for shadow artifacts around split frusta. Tweak for shadow aliasing with projectors. Fix for crash on exit in mesh thread. (transplanted from 6dcf09cd3e524016c8130a0c8af3d9fc95f2d411)
2010-05-04EXT-7161 Fullbright has no effect on shiny & bump mapped prim while Lighting ↵Tofu Linden
and Shadows are enabled.
2010-04-26EXT-7060 default auto alpha masking to ON for deferred rendering (only ↵Tofu Linden
deferred rendering) (transplanted from 050ae2c9451a6b89374c5a10403f373e2475f23b)
2010-04-15merge from viewer-hotfixTofu Linden
2010-04-14Remove calls to llpushcallstacks from inner loops.Dave Parks
2010-03-29EXT-3075 : Remove swear words from comments across viewerLoren Shih
This bugs me in a minor way. Did a search-and-cleanup on various swear words.
2010-03-19DEV-46613 Non-sculpty with sculpty parameters corrupts all similar geometriesSoft Linden
2010-02-26VWR-17462 Fix for some updates not getting applied properly.Dave Parks
2010-03-09We can enable alpha masking for fullbright faces as long as we're not in ↵Tofu Linden
deferred mode. Deferred masked fullbrights are still broken (we fall back to blending instead of masking as a workaround), but they always have been. :/
2010-03-09Disable alpha-masking for glowing surfaces. It seems beyond my ability to ↵Tofu Linden
get right. Refactor some replicated and/or strangely-expressed logic.
2010-03-08fixes VWR-4214 Glow effect passes through alpha textures where alpha is ↵Tofu Linden
actually "solid" and its many many dupes. In summary this does the following: * When laying down alpha, uses the new separated color-and-alpha blend func support to suppress existing glow in proportion to the opacity of the incoming fragments * Moves glowing-alpha support from the glow pool to the alpha pool, ensures that the glow pass for a vertex buffer happens after the alpha pass for the vertex buffer so that it doesn't suppress its *own* glow. Tested with all shader modes, FBO on/off, and deferred rendering. Tested with every permutation of alpha/non-alpha/glow/non-glow/fullbright/waterglow/particle interaction I could contrive so far. :)
2010-03-04Optimiziation pass.Dave Parks
Added RenderUseStreamVBO to enable/disable usage of VBO's for streaming buffers. Faster traversal of LLCullResult members. Removal of llpushcallstacks from inner loops. Sprinkling in fast timers.
2010-02-06Draw prims using triangle strips instead of triangle lists.Dave Parks
2010-02-23mergePalmer Truelson
2010-02-23Turning on Davep optimizations again. Backed out changeset d89b00b44ab6Palmer Truelson
2010-02-19fix for EXT-5528: Viewer hangs indefinitely after teleporting into this region.Xiaohong Bao
for EXT-5550: Viewer locks up consistently on the same sim.
2010-02-13CID-208Tofu Linden
Checker: REVERSE_INULL Function: LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup *) File: /indra/newview/llvovolume.cpp
2010-02-12mergePalmer Truelson
2010-02-12Backed out davep's optimization pass. changeset 3c3685de430aPalmer Truelson
2010-02-12mergePalmer
2010-02-11fix for EXT-5353: prim visibility issues.Xiaohong Bao
2010-02-05EXT-4209 Fix for sculptie prims not updating geometry when texture is loaded.Dave Parks
2010-02-03Optimization pass.Dave Parks
-- Further instrumentation of idle update -- Removed mActiveQ from LLPipeline, instead making calm objects static during LLVOVolume::idleUpdate -- Further instrumentation of flexible object update -- Converted LLDynamicArray and LLMap members of LLViewerObjectList to stl counterparts -- Increased number of update bins in LLViewerObjectList from 16 to 128 (objects will be processed every 128 frames instead of every 16, or ~ 90% fewer objects processed per frame) -- Removed unused "renderObjectsForSelect" code. -- Reenabled LOD updates for objects further than 24m from camera
2010-02-02Probably the real fix for isLightSpotlight() - PARAMS_LIGHT_IMAGE isn't ↵Tofu Linden
guaranteed, duh.
2010-02-01const fix.Tofu Linden
2010-02-01start to abstract-out the 'is a spotlight' question so one day we can ↵Tofu Linden
perhaps make the UI hurt less.
2010-01-27CID-355Tofu Linden
Checker: UNINIT_CTOR Function: LLVOVolume::LLVOVolume(const LLUUID &, unsigned char, LLViewerRegion *) File: /indra/newview/llvovolume.cpp
2010-01-20FIX EXT-4052: Make sure bounceback url has a schemeRick Pasetto
Review #83 The function LLMediaEntry::checkCandidateURL() assumes the URL passed in at least has a scheme part (i.e. a ":"). This fixes the bounceBack code to assure that.
2010-01-19FIX EXT-4468 DEV-41991: Make selected objects "more important" when loading ↵Rick Pasetto
their media data
2010-01-08code review feedback: fixed commentRick Pasetto
2010-01-08FIX EXT-4052: don't bounce back if url does not pass whitelistRick Pasetto
http://codereview.lindenlab.com/265005/show
2010-01-07EXT-3973 viewer crashNyx (Neal Orman)
Rendering cost calculations didn't handle the case of a face having no image associated with it. Added in null checks before using the pointer to the image. Crash no longer repros. Code reviewed by Vir.
2009-12-18Slight hack: if pixel area is 1024, force recalculation of itRick Pasetto
This is because I've observed that in heavy regions, media was not getting loaded because the queue items were stuck with the head item at interest = 1024. This is the "default" value, which means it probably wasn't calculated yet. This forces the calculation. Also cleaned up some logging in mediadataclient
2010-04-07merge from viewer-trunkTofu Linden
2010-04-05One last small change from svn//branches/viewer-mesh @ 114046 for render bumpPalmer
2010-08-24Backed out changeset a62bf7c0af21Tofu Linden
Backing out this merge that I pushed (prematurely) to the wrong place.
2010-08-24merge heads. whew.Tofu Linden
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-07-30Fix for EXT-8339Monroe Linden
Added a couple of new nav states to LLViewerMediaImpl: MEDIANAVSTATE_FIRST_LOCATION_CHANGED_SPURIOUS and MEDIANAVSTATE_COMPLETE_BEFORE_LOCATION_CHANGED_SPURIOUS. These behave just like the corresponding states without the _SPURIOUS suffix, but will be used if the new navigate doesn't change the current URL of the impl. This allows us to catch cases like the repro of this issue and discard the spurious navigate events.
2010-07-29Yet more cleanup around llmediadataclient.Monroe Linden
In LLVOVolume, added a count of LLMediaDataClientObjectImpl objects referencing each LLVOVolume object. This allows LLVOVolume::markDead() to skip the relatively expensive calls to removeFromQueue() when the LLVOVolume is known to have no active references. Refactored LLMediaDataClient and its two child classes so that only LLObjectMediaDataClient has the round-robin queue (LLObjectMediaNavigateClient doesn't need it), and cleaned up some of the virtual function hierarchy around queue processing. In LLMediaDataClient, added tracking for requests that aren't currently in a queue (i.e. requests that are in flight or waiting for retries) so they can be found when their objects are marked dead. LLMediaDataClient::Request now directly keeps track of the object ID and face associated with the request. Removed the "markedSent" concept from requests. Requests that have been sent are no longer kept in a queue. The Retry timer now references the Request object instead of the Responder. Replaced LLMediaDataClient::findOrRemove() with separate template functions for find and remove.
2010-07-21Miscellaneous cleanup in and around llmediadataclient.Monroe Linden
Added tags to some media-related logging in LLVOVolume. Made LLMediaDataClient::Responder do most of its work in tick() instead of its destructor. Added a comment to llmediadataclient.cpp that explains the idea behind the two-queue system. Made LLMediaDataClient::sortQueue() remove requests from the queue that hold references to dead items. This should make teleporting away solve many of the pathological queueing cases. Updated llmediadataclient test cases to reflect the change in behavior in sortQueue(). Removed some unnecessary const-ness in LLMediaDataClient::enqueue, which caused it to have to use const_cast.
2010-06-21Merge from ssh://hg.lindenlab.com/dessie/viewer-releaseLeyla Farazha
2010-05-14merge from viewer-publicTofu Linden