summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-12-07MAINT-8070: Tweak macOS embedded app names (flyover text) per ProductNat Goodspeed
2017-12-07SL-845 - viewer message for rez failure due to over-large animated objectsBrad Payne (Vir Linden)
2017-12-06MAINT-7751: Update to viewer-manager build 511221Nat Goodspeed
2017-12-06MAINT-7751: Respond to Coyot's code-review suggestions.Nat Goodspeed
2017-12-06MAINT-7751: Finish merging autobuild.xml updates to viewer-manager.Nat Goodspeed
2017-12-06MAINT-7751: Update to viewer-manager build 511211Nat Goodspeed
2017-12-06MAINT-7751: Add shbang line to macOS trampoline script.Nat Goodspeed
This evidently makes all the difference as to whether the app is considered launchable.
2017-12-05MAINT-7751: Update to viewer-manager build 511199Nat Goodspeed
2017-12-05MAINT-7751: Update to viewer-manager build 511174Nat Goodspeed
2017-12-04MAINT-7751: Rework DarwinManifest to produce new app bundle structure.Nat Goodspeed
Specifically, Second Life.app is now mostly just a wrapper. Its Contents/ Resources contains nested Launcher.app (the VMP) and Viewer.app (the viewer itself). Most of what used to be in the top-level Second Life.app has been relocated to the embedded Viewer.app. VMP stuff has of course been extracted to Launcher.app. The top-level Second Life.app executable is now a tiny script that runs Launcher.app. This structure permits different icons and different Dock flyover text for the launcher and the viewer, hopefully ameliorating a certain amount of user confusion about the dual icons. This requires a corresponding VMP change: on macOS, the VMP must now find both its resources and the viewer executable by walking up from Launcher.app and down again into its sibling Viewer.app. Since Dock flyover text is determined by the embedded app names, allow Product to change these at will. That means we should be able to tweak exactly one variable assignment to change either of those embedded app names, without having to chase down other references scattered throughout the source repo. For that reason, create top-level trampoline SL_Launcher script dynamically: it must reference the launcher app by name. That means we must also perform (the equivalent of) chmod +x on that generated script. The one mystery surrounding this restructuring is that without a top-level Frameworks symlink pointing to the embedded Viewer.app's Frameworks directory (where CEF lives), CEF refuses to start: no splash screen, no MoP. Perhaps we can fix that someday. Use Python's bundled plistlib to generate Info.plist files for the embedded applications. Reorganize stray code stanzas to try to help the structure of the code more or less resemble the structure of the desired result. Add ViewerManifest.relpath() method to determine the relative path from a specified base to the target path. If base omitted, assumes get_dst_prefix() -- handy for creating symlinks. Determining exactly the right number of os.pardir instances to concatenate into the relative pathname for a symlink (or an install_name_tool stamp) was tedious, fragile and unobvious, difficult to desk-check. Using relpath() should make all that more robust. Migrate symlinkf() from free function to ViewerManifest method, refactoring into _symlinkf_prep_dst() and _symlinkf(), adding relsymlinkf(). This lets us add convenience features such as prepending get_dst_prefix() to the dest (the place where we want to create the symlink), defaulting dest to the basename of target and ensuring that the parent of that dest already exists -- as with LLManifest.path(). Moreover, since it makes no sense whatsoever to create an absolute symlink to some path on the build machine, relsymlinkf() creates every symlink relative to dirname(dest). That, in turn, lets us eliminate a certain amount of boilerplate around existing calls. (Also, since we now ensure the parent directory exists, scrap the logic to diagnose "nonexistent parent directory.") Make llmanifest.LLManifest.run_command() not pass shell=True to subprocess, thereby permitting (requiring) the list form rather than the string form. Change all existing calls to list form. This makes calls more readable, for two reasons. First, many of the arguments are taken from script variables; these can simply be dropped into the list instead of indirecting through string interpolation. Second, it eliminates the need to manually escape individual arguments, since subprocess promises to honor the distinction between list elements. Also fix LLManifest.put_in_file() to ensure the containing directory exists. Consolidate some viewer_manifest.py redundancy, e.g. copying the same set of ten DLLs from either of two directories depending on Release vs. Debug.
2017-12-04SL-704 - animated object debug logging cleanupBrad Payne (Vir Linden)
2017-12-04SL-704 - removed gratuitous mSpecialRenderModeBrad Payne (Vir Linden)
2017-12-04SL-704 - made avatar hierarchy more consistent by adding lluiavatar for ↵Brad Payne (Vir Linden)
viewer-local avs used in upload previews
2017-12-02Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-12-01SL-704, SL-759 - support for impostoring of animated objects, comment and ↵Brad Payne (Vir Linden)
code cleanup
2017-11-29mergeBrad Payne (Vir Linden)
2017-11-29DRTVWR-418: Merge from latest viewer-releaseNat Goodspeed
2017-11-29increment viewer version to 5.0.10Oz Linden
2017-11-29Added tag 5.0.9-release for changeset 40ca7118765bOz Linden
2017-11-29MAINT-7751: Tidying up viewer_manifest.py a littleNat Goodspeed
2017-11-28Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-11-28MAINT-7751: Remove redundant viewer_manifest.py directory creation.Nat Goodspeed
The LLManifest.copy_action() method ensures that the destination directory for any file copy exists before trying to copy the file, specifically so we don't have to clutter the business logic with tests and explicit directory creation. Remove redundant os.makedirs() stanzas.
2017-11-28MAINT-7684: Update to viewer-manager build 511006Nat Goodspeed
2017-11-21MAINT-7684: Update to viewer-manager build 510907Nat Goodspeed
2017-11-21MAINT-7684: Stop packaging or signing download_update.exe.Nat Goodspeed
2017-11-21Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-11-21MAINT-7684: Update viewer-manager to codeticket version 510887.Nat Goodspeed
2017-11-17MAINT-7977: Per Graham, unbind textures as well as deleting.Nat Goodspeed
2017-11-17MAINT-7977: Additional cleanup per code reviews.Nat Goodspeed
Introduce helper classes to manage paired initProfile() / finishProfile() calls and gBenchmarkProgram.bind() / unbind() calls. Make TextureHolder a class instead of a struct. Per Henri Beauchamp, since gpu_benchmark() takes a very early exit if (!gGLManager.mHasTimerQuery), subsequent tests of mHasTimerQuery are redundant. Remove. One of those tests controls the busted_finish bool, which can never become true. Remove that and all tests on it.
2017-11-17SL-704 - attachment surface area now computed in bulk rather than updated ↵Brad Payne (Vir Linden)
incrementally. Same dubious formula.
2017-11-17SL-763 - disabled in slightly different way, more commentsBrad Payne (Vir Linden)
2017-11-16MAINT-7977: Release the LLRenderTargets when done.Nat Goodspeed
A classic-C array doesn't destroy its individual elements, but a std::vector does. Use a std::vector<LLRenderTarget> for dest, so each LLRenderTarget will be destroyed. ~LLRenderTarget() calls its release() method.
2017-11-16MAINT-7977: If getVertexStrider() returns false, abandon benchmark.Nat Goodspeed
Ruslan tracked the observed crash to assignments (to create a dummy triangle) through an LLStrider<LLVector3> obtained from getVertexStrider(). When getVertexStrider() returns false, produce a warning and just skip the rest of the benchmark test. The one bit of explicit cleanup apparently required by that early exit is a call to LLImageGL::deleteTextures() to match the preceding generateTextures() call. Wrap both in a new TextureHolder class whose destructor takes care of cleanup. The only other references to the corresponding U32 array are a couple calls to LLTexUnit::bindManual(); add a bind() method to support that. Also fix apparent bug in the LL_DARWIN special case for "improbably high and likely incorrect": the code assigned -1.f (the "couldn't compute" value) to gbps, overlooking the fact that gbps is unconditionally recomputed below. In the "likely incorrect" stanza, simply return -1.f instead.
2017-11-16SL-763 - disabling the use_quantum optimization in LLMotionController until ↵Brad Payne (Vir Linden)
it can be fixed.
2017-11-16SL-704 - more cleanup of AXON commented codeBrad Payne (Vir Linden)
2017-11-16SL-704 - more cleanup, including releaseMeshData() for control avatars, ↵Brad Payne (Vir Linden)
which don't need mesh data.
2017-11-16SL-704 - first pass cleaning up comments. Also added ↵Brad Payne (Vir Linden)
LLControlAvatar::initInstance() as a potential hook for optimizations.
2017-11-16MAINT-7977 [Alex Ivy] Feature Table crashesruslantproductengine
In case of buff->getVertexStrider(v) return false it mean that glMapBufferRange() return NULL The next three lines can be the reason of this crash.
2017-11-16MAINT-7228 Vertex buffer allocation failure handlingandreykproductengine
2017-11-14MAINT-7228 Dummy triangle should use map instead of offset (in case of VBO)andreykproductengine
2017-11-14MAINT-7228 Vertex buffer allocation failure handlingandreykproductengine
2017-11-09no-op whitespace commit to unstick the build machineryBrad Payne (Vir Linden)
2017-11-09SL-786 - control avatar deletionBrad Payne (Vir Linden)
2017-11-09MAINT-7913, MAINT-7817 - fix for animesh attachment corruption after ↵Brad Payne (Vir Linden)
teleporting to a different simulator. Turns out the control avatar (skeleton) was getting caught up in the cleanup for the original region
2017-11-08Added debug setting AnimatedObjectIgnoreLimits for server testingBrad Payne (Vir Linden)
2017-11-08SL-831 - animesh objects are not required to have any tris. If they have no ↵Brad Payne (Vir Linden)
tris, we don't bother making a control avatar for them.
2017-11-07MAINT-7979 Debug info should contain correct stateandreykproductengine
2017-11-07MAINT-7966 Second Life viewer logs session ID in SecondLife.logMnikolenko Productengine
2017-11-07SL-830 - fix for previously selected animated objects disappearing when ↵Brad Payne (Vir Linden)
going static
2017-11-06SL-830 - more diagnostics and possible fixes around corrupted graphics stateBrad Payne (Vir Linden)