summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
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-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-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-10-30Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-10-26Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-10-25MAINT-7911: Set build_data.json's Platform to win for both W32, W64.Nat Goodspeed
2017-10-24MAINT-7081: Only request HTTP2 with $VIEWERASSET override (testing)Nat Goodspeed
2017-10-24MAINT-7081: Mention libnghttp2*.dylib in yet another place.Nat Goodspeed
2017-10-24MAINT-7081: Merge from lindenlab/viewer64.Nat Goodspeed
2017-10-18MAINT-7812: NSIS check for /marker before writing marker file.Nat Goodspeed
The /marker switch is passed by the (new) VMP. If any user wants to explicitly pass the /marker switch to the installer, s/he shouldn't mind ending up with an nsis.winstall file in the download directory.
2017-10-12[FIXED] Access (write) violation / buffer overrun in ↵Kitty Barnett
LLTextureFetchWorker::doWork() The trouble lines are: U8 * buffer = (U8 *) ALLOCATE_MEM(LLImageBase::getPrivatePool(), total_size); if (cur_size > 0) { memcpy(buffer, mFormattedImage->getData(), cur_size); } If 'cur_size > mHttpReplyOffset + append_size' then 'total_size -= src_offset' will cause total_size to be smaller than cur_size causing a write access violation on the memcpy. Since the response is invalid it seemed best to make it follow the other failed partial condition. (transplanted from 737e28ec6b4d74f3ff915a4effc13d7b615a6a9b)
2017-10-12DRTVWR-418: Remove redundant assignment per Ansariel Hiller.Nat Goodspeed
2017-10-11DRTVWR-418: Fix glitch from merging from today's viewer-releaseNat Goodspeed
2017-10-11Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-10-11increment viewer version to 5.0.9Oz Linden
2017-10-10MAINT-7081: Hack to allow overriding asset capability URL.Nat Goodspeed
2017-10-09MAINT-7831: Merge from tip of https://bitbucket.org/lindenlab/viewer64.Nat Goodspeed
2017-10-09MAINT-7809: Add secondlife.ico to viewer's vmp_icons install dir.Nat Goodspeed
2017-10-09MAINT-7831: Update viewer_manifest.py to use 'with self.prefix(...):'Nat Goodspeed
Now that LLManifest.prefix() supports use as a context manager: with self.prefix(...): ... convert existing calls to that form. This was an interesting exercise because it surfaced at least two places where the indentation did not match the self.prefix() nesting, plus another place where existing code was undented without a self.end_prefix() call. (That last was an uncaught logic bug.) This underscores the value of using a SINGLE consistent, idiomatic mechanism to limit the scope of each self.prefix() call.
2017-10-09MAINT-7831: Allow LLManifest.prefix() to be a context manager.Nat Goodspeed
LLManifest.prefix() dates back to before Python had a 'with' statement or the notion of a context manager. That's why every prefix() call requires a corresponding end_prefix() call. Existing usage is of the form: if self.prefix(...some args...): self.path(...) ... self.end_prefix() The use of an 'if' statement is solely to allow the coder to indent the statements between the self.prefix() call and the corresponding call to self.end_prefix() -- there is no intention to make that code conditional. self.prefix() unconditionally returned True to facilitate that usage. But now that we have the 'with' statement, this all feels a little silly. Make prefix() return an instance of a context-manager class so that it's reasonable to say instead: with self.prefix(...some args...): self.path(...) ... and have the Right Things happen simply by leaving the 'with' block. The only tricky part is code to preserve compatibility with old-style usage: * The context manager has a __nonzero__() method so that if it's tested in an 'if' statement, it can unconditionally return True. * On leaving the 'with' block, rather than simply popping the top of each prefix stack, the context manager restores its length to the same length it had before that prefix() call. This allows for (erroneous but hardly unlikely) usage of the form: with self.prefix(...some args...): self.path(...) ... self.end_prefix() Restoring the previous length makes the context manager insensitive to whether or not end_prefix() has popped the most recent prefix() entries.
2017-10-05MAINT-7684: Don't try to package or sign deleted Windows VMP .exes.Nat Goodspeed
2017-09-30MAINT-7081: Eliminate unused variable errors after new refactoring.Nat Goodspeed
The new helper functions check_curl_easy_setopt() and check_curl_multi_setopt() encapsulate the pervasive idiom: code = curl_{easy,multi}_setopt(handle, option, arg); check_curl_{easy,multi}_code(code, option); But since each of these helper functions contains its own local CURL{,M}code variable 'code', having a caller-scope variable reused for every such call is no longer necessary -- in fact is no longer used at all. That produces a fatal warning with MSVC. Get rid of those now-unused variables.
2017-09-29MAINT-7081: Try requesting HTTP/2 when a request wants pipelining.Nat Goodspeed
2017-09-29MAINT-7081: Mention nghttp2.dll where it must be mentioned.Nat Goodspeed
2017-09-29MAINT-2081: Remove ancient snapshot of CMake GetPrerequisites.Nat Goodspeed
Mani captured that snapshot back when CMake version 2.8 was newer than what was running on our build systems. Now we have to assume that the bundled GetPrerequisites.cmake is better than our old snapshot. Use the bunded one.
2017-09-28MAINT-7081: Package all libnghttp2.*.dylibs.Nat Goodspeed
To support that, enhance path_optional() to accept wildcards and return the expanded filenames.
2017-09-27MAINT-7081: Mention nghttp2 library wherever it must be mentioned.Nat Goodspeed
2017-09-22MAINT-7827: suppress doubled notices on various login problemsOz Linden
2017-09-22re-add support for a voice connection failure message used by damballahOz Linden
2017-09-21remove redundant exception constructor code, andOz Linden
generalize exception catching for platform specific code
2017-09-21Clean up running commands under viewer_manifest (at least a little)Oz Linden
* do not redirect stderr to stdout * catch errors generated in platform specific code and display them more nicely * run_command no longer captures output (only used in one place; replaced that with direct use of subprocess)
2017-09-21Automated merge with head of viewer64callum_linden
2017-09-21Fix for MAINT-7787: [Alex Ivy] RC Viewers in 5.1.0 range show black ↵callum_linden
background for CONTENT_TYPE_HTML. (The color we pass to CEF has 4 compontents red, blue, green and alpha. We were only passing 3 and setting the color and not the alpha. At somepoint in CEF's history the default value must have changed. Passing 0xFF for alpha too - i.e. fully opaque - fixes this)
2017-09-20DRTVWR-418: Disable more needlessly fragile memory consumption tests.Nat Goodspeed
2017-09-20DRTVWR-418: Fix C++ errors detected by Xcode 9.Nat Goodspeed
You can't legitimately perform an ordered comparison between a pointer and an int, even 0. Fix a number of 'if (ptr > 0)' to plain 'if (ptr)'. Fix LLEditWearableDictionary::WearableEntry constructor to avoid varargs mechanism. It used to accept three different counts, followed by three different lists of enums, fetched in each case as 'int' -- dubious in itself. The constructor body performed three different loops to populate those enums into three different member vectors. Instead, make the constructor accept three vectors and initialize the member vectors from the passed vectors. Now that C++ has inline vector initialization, change existing constructor calls to pass temporary vectors initialized with what used to be the varargs enum values.
2017-09-20SL-683 Fixed Logging parameters not taking effect immediatelyandreykproductengine
2017-09-19DRTVWR-418: Another attempt to generate Mac debug symbols.Nat Goodspeed
The viewer's 00-COMPILE-LINK-RUN.txt recommends passing -gdwarf-2 to the Mac compiler, and so we've been doing ever since before the viewer-build-variables repo was engaged. Now we discover that when CMake sees -gdwarf-2, it removes the -g switch entirely. It also removes it when you pass plain -g. Only when you pass -gdwarf-with-dsym or just -gdwarf does CMake pass plain -g to the compiler. Change -gdwarf-2, if specified, to -gdwarf so we at least get -g.
2017-09-19MAINT-7820 Fixed crash in LLEventPumpandreykproductengine
2017-09-18MAINT-7813 - 3D rendering broken on Windows in build 508618. 3D rendering ↵ruslantproductengine
starts before 2D login screen is cleared. FIXED
2017-09-15merge CEF fixes from callumOz Linden
2017-09-15additional logging to help with MAINT 7807Oz Linden
2017-09-15add address size to build_data.json so that SL_Launcher can log itOz Linden
2017-09-14replace a 'continue' with an 'else'Oz Linden
2017-09-14merge changes for MAINT-7129Oz Linden
2017-09-14MAINT-7129 - [Project Alex Ivy][MAC] Materials and ALM shaders broken in Mac ↵ruslantproductengine
viewer FIXED
2017-09-14Merged in lindenlab/viewer-bearAndreyL ProductEngine
2017-09-13MAINT-7446 Fixed After installs, bat file fails to start the viewer.andreykproductengine
2017-09-13MAINT-7794 Wrap getCapability(..) calls to avoid crashesMnikolenko Productengine