summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-11-20Pull in CEF 3203 (Dullanan 1.1.888) Chrome 62 build and re-enable WebGLcallum_linden
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-31DRTVWR-418: Update viewer-manager to codeticket version 510348.Nat Goodspeed
2017-10-31DRTVWR-418: Update viewer-manager to codeticket version 510328.Nat Goodspeed
2017-10-30DRTVWR-418: Update viewer-manager to codeticket version 510301.Nat Goodspeed
2017-10-30Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-10-27DRTVWR-418: Update viewer-manager to codeticket version 510243.Nat Goodspeed
2017-10-26DRTVWR-418, MAINT-7911: Merge to build 510144 of VMPNat Goodspeed
2017-10-26MAINT-7911: Update to viewer-manager build 510144Nat Goodspeed
2017-10-26Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-10-25MAINT-7911: Update viewer-manager to codeticket version 510137.Nat 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: Fix bad merge into autobuild.xml.Nat Goodspeed
Specifically, reinstate the curl, openssl, nghttp2 libraries to the previous tip of this MAINT-7081 fork.
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-18MAINT-7812: Update to viewer-manager build 509841Nat Goodspeed
2017-10-13Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
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-12MAINT-7081: Update to curl build 501064Nat 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-11Added tag 5.0.8-release for changeset 505a492f30bdOz Linden
2017-10-10MAINT-7831: Update to viewer-manager build 509523Nat Goodspeed
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-7831: Update viewer-manager to build 509481.Nat Goodspeed
2017-10-09MAINT-7809: Add secondlife.ico to viewer's vmp_icons install dir.Nat Goodspeed
2017-10-09MAINT-7831: Merge LLManifest.prefix() changes to tip.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-06MAINT-7831: Include secondlife.ico file in the Windows installer.Nat Goodspeed
2017-10-05MAINT-7684: Don't try to package or sign deleted Windows VMP .exes.Nat Goodspeed
2017-10-05MAINT-7684: Update viewer-manager to codeticket version 509386.Nat Goodspeed
2017-10-04MAINT-7831: Update to viewer-manager build 509308Nat Goodspeed
2017-10-02MAINT-7081: Update to curl build 509254Nat Goodspeed
2017-10-02MAINT-7081: Update to nghttp2 build 509246Nat 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