Commit Graph

73 Commits (8a13530ce4eeb481ee467fd3ec54f1ed7e9f632a)

Author SHA1 Message Date
AndreyL ProductEngine a1934bee39 MAINT-8610 Fixed GPU Benchmark appears to be broken - "Failed to allocate buffer during benchmark" 2018-04-30 20:23:57 +03:00
AndreyL ProductEngine ed233126bb Merged in lindenlab/viewer-bear 2018-01-29 22:02:32 +02:00
AndreyL ProductEngine b654513257 MAINT-8197 Fix for crash in gpu_benchmark()
including safety checks and some refactoring
2018-01-24 21:16:27 +02:00
andreykproductengine 2f4931a0a6 MAINT-8197 Account for dummy tex unit 2018-01-23 21:09:26 +02:00
andreykproductengine 63b36c6f69 MAINT-8197 Check buffer before using it 2018-01-23 16:43:11 +02:00
Nat Goodspeed db0e11fae3 MAINT-7977: Per Graham, unbind textures as well as deleting. 2017-11-17 18:34:45 -05:00
Nat Goodspeed 701f89625d MAINT-7977: Additional cleanup per code reviews.
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-17 15:57:41 -05:00
Nat Goodspeed f2ffd63716 MAINT-7977: Release the LLRenderTargets when done.
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-16 18:34:40 -05:00
Nat Goodspeed dfc0785857 MAINT-7977: If getVertexStrider() returns false, abandon benchmark.
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-16 16:54:27 -05:00
ruslantproductengine d310159bee MAINT-7977 [Alex Ivy] Feature Table crashes
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-16 19:14:28 +02:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Oz Linden dab5acd972 merge changes for 3.7.22-release 2014-12-15 12:34:18 -05:00
callum_linden 23711c9275 Rename llround(..) to ll_round(..) because of a collision with MS llround (long long round) in VS2013 2014-12-10 08:44:08 -08:00
Oz Linden cd4babf94b remove unused gpu table code, improve logging for gpu benchmarks 2014-12-01 16:58:07 -05:00
Graham Linden aa49386c44 Roll back changes to geo drawn in gpu_bench to stop punishing cards with low fill rate 2014-11-19 11:28:04 -08:00
Graham Linden a730187a5f Adjust gpu_bench thresholds and move VB set outside loop again for speed 2014-11-18 15:28:29 -08:00
Graham Linden a882d7a02b Fix for gpu_bench crash without parallels knock-on 2014-11-18 12:54:13 -08:00
Graham Linden de2fe42a52 Attempt wider disable of using profile API when timer query is not present 2014-11-17 14:54:00 -08:00
Graham Linden 9eeb8344a6 Avoid using GL_ARB_timer_query functionality when not supported and protect against probably-not-NULL current bound shader pointer 2014-11-17 11:40:28 -08:00
davep 4caa2746f3 MAINT-3131 Discard improbably high memory bandwidth measurements on OSX and default to Class 3 2014-09-19 13:01:41 -05:00
Dave Parks d0428575fb Automated merge with http://bitbucket.org/lindenlab/viewer-release 2014-06-19 13:14:42 -05:00
simon 250db74bf9 Pull and merge viewer-release as version 3.7.8 2014-05-07 10:56:41 -07:00
Dave Parks e43f43b4d9 MAINT-3131 Attempt to work around drivers that lack timer query and ignore glFinish calls. 2014-03-24 11:56:02 -05:00
Dave Parks 7defa95f67 MAINT-3131 fallback to CPU timers for return value of benchmark if ARB_timer_query is unavailable. 2014-03-21 14:30:14 -05:00
Dave Parks 24f8745914 MAINT-3131 Use benchmark to determine GPU class instead of GPU table. 2014-03-19 17:57:00 -05:00
Richard Linden 5b846ed2a6 merge with release 2014-03-12 12:48:43 -07:00
simon 5bef957159 MAINT-3530 : Add viewer checkbox to extend parcel entry limits to a higher ceiling 2013-12-06 15:44:18 -08:00
simon 1b43046bb1 Fix transplated code 2013-10-30 11:23:12 -07:00
Dave Parks 954c8fb1e3 MAINT-3131 Add a GPU memory bandwidth benchmark. 2013-09-10 15:33:26 -05:00
Oz Linden ddd5659f81 merge changes for DRTVWR-294 2013-04-19 10:11:29 -04:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Nyx Linden 1586107e87 SH-3944 WIP CHUI merge fixing
re-introduced don's refactor of low-level openGL calls pulling out of llui
and putting them into llrender. Took the new code from their updated versions
from the CHUI merge, but put them in a place accessible to appearance utility.
2013-03-12 22:34:15 +00:00
Dave Parks 55f69de90c merge 2011-11-02 11:46:18 -05:00
Oz Linden 850bd75c46 storm-1622 modify wind vector visualization to always be 25m over avatar 2011-10-19 15:22:19 -04:00
Oz Linden 2b234bc087 storm-1622: fix viewer-side wind turbulence simulation 2011-10-19 10:10:59 -04:00
Dave Parks c834bdd05a SH-2240 Better fix for beacon rendering -- let LLRender take care of optimization around joining chunks of line segments together into one draw call 2011-10-06 17:54:06 -05:00
Dave Parks f2fc69c656 SH-2240 Fix for crash when rendering beacons and Debug GL enabled -- flush every 128 beacons to keep from hitting the end of the immediate mode wrapper buffer. 2011-10-06 17:31:59 -05:00
Dave Parks a90ea46804 SH-2240 Fix for beacons not rendering (or crashing when rendered) 2011-10-06 15:34:28 -05:00
Dave Parks 7c95af74f1 SH-2243 work in progress -- application side matrix stack management 2011-09-14 16:30:45 -05:00
Dave Parks 610764fbfc SH-2181 Fix for occlusion culling going bonkers when ban lines are present. 2011-08-11 12:49:05 -05:00
Tofu Buzzard ad033a4b35 sync up to viewer-developer 2010-10-15 09:52:11 +01:00
Tofu Linden 393c819477 VWR-21967 There's lots of ::renderForSelect() code that we don't need any more.
VWR-22088 Remove underlying ::renderForSelect() code (render-pipeline)
2010-10-10 15:25:11 +01:00
Aimee Linden ffae589843 Post-convert merge by convert_monolith.py from /Users/Aimee/Documents/Work/Linden-Lab/Development/viewer/convert/viewer-identity-evolution 2010-09-03 17:41:39 +01:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
James Cook 2b7153c26a merge from dessie/viewer-public right before SLE code landed 2010-05-11 16:11:09 -07:00
Loren Shih fc49539b36 EXT-2959 : Full out camera functions from llagent to llagentcamera
First check-in; only compiles, nothing more.
2010-03-23 15:59:52 -04:00
James Cook 18ebacefcf Merge with viewer 2 beta 4 2010-03-08 10:54:23 -08:00
James Cook 541291b366 Removed unnecessary include llhudtext.h from llviewerobject.h 2010-02-26 17:31:55 -08:00
James Cook 36c35bca26 Support multiple fonts, colors and styles in name tags
Simplified LLHUDText string API to be UTF8 only
Added per-text segment font support
Changed LLVOAvatar invalidateNameTag to clearNameTag
2010-02-25 17:06:17 -08:00
Dave Parks 8e67ecf3dc Optimization pass.
-- 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-03 12:33:32 -06:00