summaryrefslogtreecommitdiff
path: root/indra/newview/llvovolume.cpp
AgeCommit message (Collapse)Author
2009-11-30Linker optimization - use "extern template" for commonly regenerated templatesJames Cook
Also replaced many duplicate calls to LLViewerCamera::getInstance() with local pointer. Reviewed with Ambroff
2009-11-24mergeLoren Shih
--HG-- branch : avatar-pipeline
2009-11-23EXT-2718 EXT-2434 avatar render cost changesNyx (Neal Orman)
Fixing a but in new ARC function where textures added 5 to the ARC for each use. Expected (and previous) behavior restored, where 5 is added to ARC for each unique texture, regardless of how many faces it is used on. Confirmed new ARC is 99 points higher than previous (20 for each body part), or 119 if avatar is wearing a skirt. Will be post-reviewed before pushing --HG-- branch : avatar-pipeline
2009-11-20Clean up some loggingRick Pasetto
2009-11-19Made LLMediaDataClient not send requests on behalf of objects that are ↵Monroe Linden
marked as dead. When LLMediaDataClient::QueueTimer::tick() encounters an object at the head of the queue that's dead, it will now remove that object and loop, instead of sending a request and waiting for the tick timer to fire again. Added an isDead() function to LLMediaDataClientObject, and an additional unit test that verifies the handling of dead objects.
2009-11-19Added LLVOVolume::markDead(), which unhooks any prim media instances from ↵Monroe Linden
the dead object.
2009-11-12EXT-2434 update avatar rendering costNyx (Neal Orman)
First crack at updating the rendering cost calculation for avatars to account for the possibility of invisible avatars. Also generalized rendering cost of attachments to be more general - added debug code to build floater will be post-reviewed
2009-11-10FIX DEV-41991: do not allow media settings panel to come up if media data is ↵Rick Pasetto
in flight Review #33 This change marks the current selection "not editable" if any objects in the selection are currently "in flight" (i.e. their media data has not been fetched yet, or is in the process of being fetched). This involved adding API to LLMediaDataClient to query whether an object is in the process of being fetched (i.e. in the queue). I've added a unit test for this new API.
2009-11-10Automated merge with ssh://rick@hg.lindenlab.com/viewer/viewer-2-0/Rick Pasetto
2009-11-09PARTIAL FIX (workaround) DEV-41949: LLMediaEntry::setWhitelist() and ↵Rick Pasetto
LLMediaEntry::asLLSD() have a contract conflict Review #31 So, here's what was happening, briefly: - LLMediaEntry::setWhitelist() would be a no-op if given an LLSD that did not have a WHITELIST_KEY - LLMediaEntry::asLLSD() would render the LLMediaEntry *without* a WHITELIST_KEY if the whitelist was empty Therefore, when the viewer marshalled an LLMediaEntry for the server, it would send it without a WHITELIST_KEY. When the server got it, it would not erase the last value. This is actually a workaround: it patches asLLSD() with an LLSD::emptyArray() if the key is not there. However, this should be fixed on the server: in either or both of the following ways: 1) LLMediaEntry::setWhitelist() should not be a no-op if the LLSD has no WHITELIST_KEY: it should erase the whitelist 2) LLMediaEntry::asLLSD() should render an empty whitelist in WHITELIST_KEY as an empty array Note that both could be done and still work. A unit test should and will be written next.
2009-11-09Fix for DEV-42029 (changing media on multiple faces can make a zombie SLPlugin).Monroe Linden
Made LLViewerMedia::updateMediaImpl() unload the impl's media plugin when the current URL goes empty. Made LLVOVolume::syncMediaData() call removeMediaImpl() if the media data gets deleted.
2009-11-09Fix signed/unsigned build breakage in llvovolume.cppJames Cook
2009-11-09Better fix for DEV-42153.Monroe Linden
2009-11-06Partial fix for DEV-42153.Monroe Linden
This code seems to work on some objects and not on others. I suspect I'm not doing something quite right in LLVOVolume::getApproximateFaceNormal().
2009-11-06mergeSteve Bennetts
2009-11-06merge from texture-pipelineSteve Bennetts
2009-11-06merge.Tofu Linden
2009-11-06magic number removal rampage: 3.14159 -> M_PI or F_PITofu Linden
--HG-- branch : texture-pipeline
2009-11-06merge QAR-1829: texture pipeline branch in viewer-2.0.0.3Xiaohong Bao
2009-11-05FIX DEV-42115: Remove modify permission check that would grant ↵Rick Pasetto
navigate/interact or controls "permission" Review #27 Back when media controls (an unfortunately much-overloaded word) was called media permission (also an overloaded word), we granted "permission" for interact/navigate or controls "display" if the requestor agent had modify permissions. This decision doesn't seem to make sense, because it is a common use case to want to "disable" controls (or perhaps interaction/navigate) even for the user who created the object (i.e. who has modify permissions). This removes that check. NOTE that this check is also made on the server, but in that case modify permissions *grants* the right to navigate in that case. Although the code is very similar, the viewer version is trying to address a use case story, whereas the other is trying to prevent a griefing vector.
2009-11-03fix the bug that textuer boost level is mixed with boolean numbers.Xiaohong Bao
2009-10-27Extra debugging info for EXT-1456Palmer
Reviewed by Bao
2009-10-21DEV-41600: one last change: rename INTERACT and CONTROl to ↵Rick Pasetto
MEDIA_PERM_INTERACT and MEDIA_PERM_CONTROL
2009-10-21DEV-41600 Refactored my previous change based on review feedback from monroeRick Pasetto
2009-10-19Fix for a case where the webkit plugin never generates a LOCATION_CHANGED ↵Monroe Linden
event at all.
2009-10-09Unit tests for LLMediaDataClientRick Pasetto
This required a bit of refactoring of LLMediaDataClient: - Created LLMediaDataClientObject ABC, which now has a concrete impl in LLVOVolume - Created unit test with 6 tests (for now), testing - LLObjectMediaDataClient::fetchMedia() - LLObjectMediaDataClient::updateMedia() - LLObjectMediaNavigateClient::navigate() - queue ordering - retries - nav bounce back - Also ensures that ref counting works properly (this is important, because ownership is tricky with smart pointers put into queues, peeled off into timers that fire and auto destruct, and HTTP responders that also auto-destruct) - Had to fix LLCurl::Responder's stub, which was not initializing the ref count to 0, causing the ref counting tests to fail (boy, that was hard to find!). Reviewed by Callum
2009-10-07DEV-39168 - bounce back to the current URL (or, the home URL if current URL ↵Rick Pasetto
is "") if the server denies navigation This refactors some of the bounceBack code into LLVOVolume. It also changes an important rule: the edit panel now *will* send the current URL to the server when you hit "OK". This change was done so that if autoplay is on, we make sure the server gets the right data.
2009-10-05FIX DEV-40877: ignore changes from "bad" objects which have an invalid media URLRick Pasetto
2009-10-05DEV-40650: Refactor llmediadataresponder and llmediadatafetcher into a ↵Rick Pasetto
single reusable class CC Review #7 (monroe) LLMediaDataResponder and LLMediaDataFetcher were helpful classes that interacted with each other, but they were not general enough to cleanly be used for all media service interaction. This change refactors these classes into one (in fact, it is closer to a complete rewrite): LLMediaDataClient. This class has the following design points: - You subclass from it when you want to specialize the responder, and then subclass from LLMediaDataClient::Responder if desired - It has a few inner classes: - LLMediaDataClient::Request, which now holds all of the data pertaining to a request, including retry counts - LLMediaDataClient::Responder, which is now the LLHTTPClient::Responder - LLMediaDataClient::PriorityQueue, which is now a STL priority_queue of Request objects. - LLMediaDataClient::QueueTimer, which is the timer that fires to peel off queue items - LLMediaDataClient::Responder::RetryTimer, which is the timer that is used when 503 errors are received. The encapsulation of these inner classes is a lot cleaner and better reflects the scope of their responsibilities. By and large, the logic hasn't really changed much. However, now there are two subclasses of LLMediaDataClient: one for the ObjectMedia cap and the other for the ObjectMediaNavigate cap. (I decided it was overkill to make three subclasses, one each for GET, UPDATE, and NAVIGATE, but we could still do that). LLVOVolume now instantiates both of these classes as statics (and destroys them on shutdown). They now have very simple API: - LLObjectMediaDataClient::fetchMedia(LLVOVolume*) fetches the media for the given object - LLObjectMediaDataClient::updateMedia(LLVOVolume*) sends an UPDATE of the media from the given object - LLObjectMediaNavigateClient::navigate(LLVOVolume*, U8 texture_index, const std::string &url) navigates the given face (texture_index) on the given object to the given url.
2009-10-01svn merge -r 134922:134973 ↵Monroe Williams
svn+ssh://svn.lindenlab.com/svn/linden/branches/media-on-a-prim/moap-7 Merging branches/media-on-a-prim/moap-7 down to viewer-2.0.
2009-09-25SNOW-194 DEV-40415: pulling this snowglobe patch into viewer 2.0. ThisMartin Reddy
fixes all of the parentheses warnings in the code. Original patch was reviewed by merov (and others).
2009-09-22Fix for non fullbright face spam.David Parks
2009-09-22Merging render-pipeline-6-qa-2 into viewer-2David Parks
Self reviewed.
2009-08-27svn merge -r 129841:129910 ↵Monroe Williams
svn+ssh://svn.lindenlab.com/svn/linden/branches/moss/pluginapi_05-merge@129910 svn merge -r 129913:131718 svn+ssh://svn.lindenlab.com/svn/linden/branches/pluginapi/pluginapi_05 Some branch shenannigans in the pluginapi_05 branch caused this to become a two-part merge.
2009-08-26svn merge ↵Steven Bennetts
https://svn.aws.productengine.com/secondlife/export-from-ll/viewer-2-0@1471 https://svn.aws.productengine.com/secondlife/pe/stable-1@1476 -> viewer-2.0.0-3 EXT-65 EXT-270 EXT-359 EXT-361 EXT-367 EXT-367 EXT-368 EXT-455 EXT-468 EXT-530 EXT-539 EXT-540 EXT-542 EXT-545 EXT-555 EXT-557 EXT-558 EXT-559 EXT-559 EXT-560 EXT-561 EXT-562 EXT-563 EXT-564 EXT-566 EXT-568 EXT-569 EXT-570 EXT-571 EXT-581 EXT-590 EXT-594 EXT-596 EXT-597 EXT-601 EXT-602 EXT-603 EXT-613 EXT-620 EXT-624 EXT-628 EXT-630 EXT-631 EXT-632 EXT-639 EXT-640 EXT-641 EXT-642 EXT-662 EXT-671 EXT-672 EXT-676 EXT-682 EXT-692 EXT-703 EXT-717
2009-08-24merge -r 130399-131510 skinning-21 -> viewer-2.0.0-3Richard Nelson
DEV-11254 DEV-11254 DEV-2003: DEV-21567 DEV-37301 EXT-104 EXT-138 EXT-217 EXT-256 EXT-259 EXT-259 EXT-328 EXT-348 EXT-386 EXT-399 EXT-403 EXT-460 EXT-492 EXT-492 EXT-531 EXT-537 EXT-684 improved text editor (handles multiple fonts simultaneously as well as inline widgets)
2009-07-10merge QAR-1579: texture-cleanup-1.Xiaohong Bao
2009-06-27fix for DEV-27483/SEC-283: Viewer crash: LLXform::setParent Creating loop ↵Xiaohong Bao
when setting parent
2009-06-21merge -r 122421-124917 viewer-2.0.0-2 -> viewer-2.0.0-3Steven Bennetts
ignore-dead-branch
2009-05-04QAR-1476 Combo-merge to trunk: Viewer 1.23 RC0 and Simulator 1.26.3Adam Moss
svn merge -r118927:118939 svn+ssh://svn.lindenlab.com/svn/linden/branches/viewer/viewer-1.23.0-merge-2-combo-QAR-1476 this is a composite of... svn merge -r115088:118182 svn+ssh://svn.lindenlab.com/svn/linden/branches/viewer/viewer_1-23 conflicts resolved: C doc/contributions.txt C indra/llaudio/audioengine.cpp C indra/newview/CMakeLists.txt C indra/newview/llfloaterlandholdings.cpp C indra/newview/llpaneldirbrowser.cpp C indra/newview/llpanelgrouplandmoney.cpp C indra/newview/llpreviewscript.cpp C indra/newview/llviewermenu.cpp C indra/newview/skins/default/xui/en-us/notifications.xml and... svn merge -r116937:118673 svn+ssh://svn.lindenlab.com/svn/linden/branches/server/server-1.26 minor-to-trivial conflicts resolved: C indra/llcommon/llversionserver.h C indra/newsim/llrezdata.cpp C indra/newsim/llstate.cpp C indra/upgrade/schema_version/sequence/3/index_log_paypal.sql
2009-02-24QAR-1262 Merging non-voice related Viewer 1.22 RC 9 changes back to trunk.Mark Palange
svn merge -r109446-109676 -r109832-109921 -r109956 svn+ssh://svn.lindenlab.com/svn/linden/branches/viewer/viewer-1.22
2009-02-18Merge of QAR-1267 to trunk. This was a combo merge of QAR-1175 ↵Brad Kittenbrink
(maint-render-9) and QAR-1236 (dll-msvcrt-2) svn merge -r 109838:112264 svn+ssh://svn.lindenlab.com/svn/linden/branches/maint-render/maint-render-9-merge-r109833
2009-02-03svn merge -r107016:108767 ↵Mark Palange
svn+ssh://svn.lindenlab.com/svn/linden/viewer/viewer_1-22 Merge back of viewer 1.22 RC6 and RC7 change to trunk. QAR-1214 and QAR-1227
2009-01-08Result of svn merge -r107256:107258 ↵Aaron Brashears
svn+ssh://svn/svn/user/phoenix/license_2009_merge into trunk. QAR-1165
2008-12-23QAR-1142 merging 1.22 RC0-RC4 changes.Mark Palange
svn merge -c 106471 svn+ssh://svn.lindenlab.com/svn/linden/qa/viewer_1-22-106055_merge
2008-11-07QAR-992 Merging revisions 101012-101170,101686-101687 of ↵Mark Palange
svn+ssh://svn.lindenlab.com/svn/linden/qa/viewer_combo_1-22-merge into linden/release
2008-09-29QAR-872 Viewer 1.21 RC 3Steven Bennetts
merge viewer_1-21 96116-97380 -> release
2008-09-12QAR-855 Viewer 1.21 RC 2Steven Bennetts
merge viewer_1-21 94770-96059 -> release
2008-09-05svn merge -r95288:95907 ↵Andrew Meadows
svn+ssh://svn.lindenlab.com/svn/linden/qa/maint-server/qar-841 this is a combined mergeback of the following branches as per QAR-841: maint-server/maint-server-1 (absorbed by maint-server-2) maint-server/maint-server-2 maint-server/maint-server-3 havok4/havok4-8 havok4/havok4-9 yes dataserver-is-deprecated
2008-08-12QAR-767 Combined maint-render-7 and maint-viewer-9 mergeSteven Bennetts
merge release@93398 viewer-merge-1@94007 -> release dataserver-is-deprecated