Commit Graph

108 Commits (bd19bbf651d5a2b83e367d1f50a3d8eb00d5fbbd)

Author SHA1 Message Date
Nat Goodspeed 8342d68ea9 Merge branch 'develop' into frame-profile-json 2024-09-19 11:48:33 -04:00
Ansariel Hiller ee3645ac96
Fix possible dereferencing of nullptr in llglsandbox.cpp (#2597) 2024-09-19 01:22:48 +03:00
Nat Goodspeed f037cde7f4 Make Develop->Render Tests->Frame Profile dump JSON to a file too.
Make `LLGLSLShader::finishProfile()` accept a string pathname instead of a
bool and, in addition to logging statistics to the viewer log, output
statistics to that file as JSON. The calls that used to pass
`emit_report=false` now pass `report_name=std::string()`.

Make llviewerdisplay.cpp's `display()` function synthesize a profile filename
in the viewer's logs directory, and pass that filename to
`LLGLSLShader::finishProfile()`.

(cherry picked from commit d5712689d36a1ee1af32242706901fde7229b08d)
2024-09-18 14:05:27 -04:00
Ansariel Hiller d9da5bbb33
Remove quads rendering mode entirely (#2593) 2024-09-18 17:09:51 +03:00
Dave Parks 94453aecc3
#2434 Intel HD4000 compatibility pass (#2541)
* #2434 Intel HD4000 compatibility pass
* Fixes crash on old drivers when loading shaders
* Fixes 30 second hang on startup
* Fixes occasional dev build crash in LLWearableList
---------

Co-authored-by: Brad Linden <brad@lindenlab.com>
2024-09-10 15:54:01 -05:00
Dave Parks cb9f3dcfe9
#2482 Low end NVIDIA compatibility pass (#2486)
- Use GL_NVX_gpu_memory_info when available
- Disable transparent water on Mid+ and lower
- Adjust GPU benchmark to better tell the truth
- Texture bias tune up
- viewer-private/#277 - Report foreground_time in viewer stats
2024-09-04 11:34:44 -05:00
Ansariel 9fdca96f8b Re-enable compiler warnings C4244 and C4396 except for lltracerecording.h and llunittype.h for now 2024-07-08 20:27:14 +02:00
Brad Linden 7c42711ca3 Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into project/gltf_development 2024-06-10 16:22:12 -07:00
Dave Parks 227e9be068
#1654 generate normals and tangents according to gltf specification (#1662)
* Disable unloading of objects in background. 
* Add unlit GLTF shader variant
2024-06-10 10:43:38 -05:00
Ansariel b42f9d836b Re-enable a lot of compiler warnings for MSVC and address the C4267 "possible loss of precision" warnings 2024-06-01 15:49:26 +02:00
Ansariel e2e37cced8 Fix line endlings 2024-05-22 22:40:26 +03:00
Ansariel 1b67dd855c Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts:
#	autobuild.xml
#	indra/cmake/CMakeLists.txt
#	indra/cmake/GoogleMock.cmake
#	indra/llaudio/llaudioengine_fmodstudio.cpp
#	indra/llaudio/llaudioengine_fmodstudio.h
#	indra/llaudio/lllistener_fmodstudio.cpp
#	indra/llaudio/lllistener_fmodstudio.h
#	indra/llaudio/llstreamingaudio_fmodstudio.cpp
#	indra/llaudio/llstreamingaudio_fmodstudio.h
#	indra/llcharacter/llmultigesture.cpp
#	indra/llcharacter/llmultigesture.h
#	indra/llimage/llimage.cpp
#	indra/llimage/llimagepng.cpp
#	indra/llimage/llimageworker.cpp
#	indra/llimage/tests/llimageworker_test.cpp
#	indra/llmessage/tests/llmockhttpclient.h
#	indra/llprimitive/llgltfmaterial.h
#	indra/llrender/llfontfreetype.cpp
#	indra/llui/llcombobox.cpp
#	indra/llui/llfolderview.cpp
#	indra/llui/llfolderviewmodel.h
#	indra/llui/lllineeditor.cpp
#	indra/llui/lllineeditor.h
#	indra/llui/lltextbase.cpp
#	indra/llui/lltextbase.h
#	indra/llui/lltexteditor.cpp
#	indra/llui/lltextvalidate.cpp
#	indra/llui/lltextvalidate.h
#	indra/llui/lluictrl.h
#	indra/llui/llview.cpp
#	indra/llwindow/llwindowmacosx.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/llappearancemgr.cpp
#	indra/newview/llappearancemgr.h
#	indra/newview/llavatarpropertiesprocessor.cpp
#	indra/newview/llavatarpropertiesprocessor.h
#	indra/newview/llbreadcrumbview.cpp
#	indra/newview/llbreadcrumbview.h
#	indra/newview/llbreastmotion.cpp
#	indra/newview/llbreastmotion.h
#	indra/newview/llconversationmodel.h
#	indra/newview/lldensityctrl.cpp
#	indra/newview/lldensityctrl.h
#	indra/newview/llface.inl
#	indra/newview/llfloatereditsky.cpp
#	indra/newview/llfloatereditwater.cpp
#	indra/newview/llfloateremojipicker.h
#	indra/newview/llfloaterimsessiontab.cpp
#	indra/newview/llfloaterprofiletexture.cpp
#	indra/newview/llfloaterprofiletexture.h
#	indra/newview/llgesturemgr.cpp
#	indra/newview/llgesturemgr.h
#	indra/newview/llimpanel.cpp
#	indra/newview/llimpanel.h
#	indra/newview/llinventorybridge.cpp
#	indra/newview/llinventorybridge.h
#	indra/newview/llinventoryclipboard.cpp
#	indra/newview/llinventoryclipboard.h
#	indra/newview/llinventoryfunctions.cpp
#	indra/newview/llinventoryfunctions.h
#	indra/newview/llinventorygallery.cpp
#	indra/newview/lllistbrowser.cpp
#	indra/newview/lllistbrowser.h
#	indra/newview/llpanelobjectinventory.cpp
#	indra/newview/llpanelprofile.cpp
#	indra/newview/llpanelprofile.h
#	indra/newview/llpreviewgesture.cpp
#	indra/newview/llsavedsettingsglue.cpp
#	indra/newview/llsavedsettingsglue.h
#	indra/newview/lltooldraganddrop.cpp
#	indra/newview/llurllineeditorctrl.cpp
#	indra/newview/llvectorperfoptions.cpp
#	indra/newview/llvectorperfoptions.h
#	indra/newview/llviewerparceloverlay.cpp
#	indra/newview/llviewertexlayer.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/macmain.h
#	indra/test/test.cpp
2024-05-22 19:04:52 +02:00
Andrey Lihatskiy 1b68f71348 #824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed 2024-04-29 07:56:09 +03:00
Ansariel 60d3dd98a4 Convert remaining BOOL to bool 2024-02-21 23:14:31 +02:00
Brad Linden c6d5f11f63 Merge remote-tracking branch 'origin/main' into DRTVWR-559 2023-08-23 12:26:14 -07:00
Andrey Lihatskiy 1444c4a23c Merge branch 'main' into DRTVWR-582-maint-U 2023-05-02 17:39:13 +03:00
Brad Linden 369945b45d Merge remote-tracking branch 'origin/DRTVWR-539' into DRTVWR-559-merge-539 2023-04-26 15:38:47 -07:00
RunitaiLinden 8c67ef0fe5 SL-19480 Fix for GPU benchmark reporting the GPU has infinite memory bandwidth 2023-04-25 17:27:26 -05:00
Andrey Kleshchev eaccee37f2 SL-19549 Add option to show ban lines on collision 2023-04-17 13:33:49 +03:00
RunitaiLinden 3ef31cb9b2
SL-19203 et al -- Integrate SSR with reflection probes, tweak probe blending. (#63)
* SL-19203 WIP -- Integrate SSR with reflection probes.  Decruft LLRenderTarget.

* SL-19203 WIP -- Re-integrate SSR.  Incidental decruft.

* SL-19203 WIP -- SSR frame delta correction (still broken for Z)

* SL-19203 WIP -- SSR frame delta Z fix

* SL-19203 WIP -- Make SSR toggleable again and disable SSR in cube snapshots.

* SL-19203 WIP -- Soften sphere probe transitions and fix reflections on void water (make fallback probe a simple terrain+water+sky probe).  Remove parallax correction for automatic probes to reduce artifacts.

* SL-19203 Tune probe blending.

* SL-19203 Cleanup.
2023-01-27 17:24:22 -06:00
RunitaiLinden 7bd9d21e19
Optimizations, decruft, and intel compatibility pass (#53)
SL-18869, SL-18772  Overhaul VBO management, restore occlusion culling, intel compatibility pass, etc
2023-01-19 09:13:45 -06:00
Dave Parks 8a19c8e073 SL-18615 Fix for beacons not rendering and beacon highlights flickering. 2022-11-11 15:19:41 -06:00
Dave Parks 8dc59e5ef3 SL-18128 Clear out much OpenGL cruft and switch to core profile on AMD 2022-09-16 16:25:26 -05:00
Howard Stearns 01d03edd85 SL-17967 - _ARB constant removal 2022-09-01 13:38:22 -07:00
Howard Stearns 2082443220 SL-17967 - Git rid of ARB that is in core 2022-09-01 10:58:27 -07:00
Runitai Linden f145d0dbe1 SL-16447 Adjust default graphics preferences based on modern memory bandwidth levels and bias settings based on CPU speed. 2022-01-21 16:18:54 -06:00
Dave Parks 5e5be92d79 SL-16202 Put Multi-threaded GL behind a feature flag and update featuretable (decruftify settings, compatibility pass). 2021-12-06 15:29:34 +00:00
Dave Parks e7830b39f0 SL-16436 and SL-16327 Fix for RenderDebugGL test failures and fix for grey textures 2021-12-03 15:07:31 +00:00
Dave Houlton 68e09edad0 SL-16386 remove references to (const true) LLGLSLShader::sNoFixedFunction 2021-11-30 17:04:35 -07:00
Dave Parks e774bffb28 SL-16202 Fix for textures appearing black or flashing white due to optimization bugs. 2021-10-21 21:19:48 +00:00
Dave Houlton 3e99853b29 SL-16138 remove checks for now-mandatory capabilities 2021-10-06 10:59:00 -06:00
Graham Linden 3609eabe54 Merge viewer-release 6.3.2 2019-09-10 12:07:01 -07:00
andreykproductengine 25dde50cd4 SL-11106 Time-limit benchmark test 2019-05-16 18:50:19 +03:00
maxim_productengine ca336f26db SL-9698 [EEP] Add beacons that point to sun & moon position 2018-12-10 17:35:29 +02:00
AndreyL ProductEngine 546fc96f01 MAINT-8721 Enabled benchmarking for Intel GPUs 2018-06-04 23:18:37 +03:00
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