Dave Parks
2b255535ef
2590 mac intel and radeon pro 5300m horrible fps 2 ( #3030 )
...
* OpenGL 3.3 compatibility pass. Fix for FBO driven downscaling corrupting textures.
* Increase maximum texture bias, immediately scale down when textures are loaded higher resolution than desired
* #2590 Fix for some frame stalls on Intel Macs
2024-11-12 15:26:38 -08:00
Jonathan "Geenz" Goodman
ef11af28d4
#2637 Revert to the previous alpha analysis to maintain legacy content parity. ( #3061 )
2024-11-08 14:51:19 -05:00
Andrey Kleshchev
1924c44caf
viewer#2741 Don't reallocate image conversion buffer all the time
2024-10-20 16:48:27 +03:00
Andrey Kleshchev
85b7210fb9
viewer#2741 Sligtly better logging for a crash
2024-10-05 10:08:27 +03:00
RunitaiLinden
cde5d29faf
Profile guided optimizations
2024-09-10 18:27:45 -05:00
Brad Linden
ecf3002a46
Merge remote-tracking branch 'origin/release/2024.08-DeltaFPS' into develop
2024-08-29 13:32:34 -07:00
Dave Parks
8406d1052c
#2428 Fix for crash when applying PBR material ( #2430 )
...
Also attempt to fix some occasional bad texture memory tracking.
2024-08-27 09:53:54 -07:00
Rye Cogtail
436e986893
Fix mac crash on startup due to missing types from enum
2024-08-24 00:55:34 -04:00
Rye Mutt
28331b2385
Do deprecated texture swizzle on GPU using GL texture swizzling functions ( #2389 )
...
* Use GL texture swizzling instead of scratch buffer for deprecated formats when GL 3.3 is available
Fix crash when GL texture compression is enabled
* Fix UI font atlas being eligible for texture compression
2024-08-22 10:25:25 -05:00
Dave Parks
0e59ed204f
Fix crash on Intel GPUs (or anywhere OpenGL compatibility profile is used). ( #2387 )
2024-08-21 14:36:18 -05:00
Rye Mutt
db84bf9567
Improve accuracy of texture memory tracking ( #2371 )
...
* Fix alloc_tex_image to account for more missing texture memory
Change alloc_tex_image calls to pass internal format to properly account for used image type
* Fix scaleDown passing primary format in place of internal format to glTexImage2D
* Make texture debug view and texture bias calculation consistent and remove double accounting for render target textures
2024-08-21 09:47:31 -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
Dave Parks
08b933a0c6
#1870 Tune up for better experience on integrated intel with low memory ( #1872 )
...
* More deterministic vsize calculation. Add control for choosing downscale method.
* Quick hack to make GLTF preview work again
2024-07-03 17:42:24 -05:00
Dave Parks
ab87978cbc
1836 dont store texture in system memory unless absolutely necessary ( #1843 )
...
* #1836 Texture memory usage overhaul. Much decrufting
- don't keep a copy of textures in system memory
- use GPU to downrez textures instead of reloading from cache
- use GPU to generate brightness/darkness bumpmaps
2024-06-27 13:12:43 -05:00
Ansariel
c0fad3028f
Re-enable compiler warnings C4018, C4100, C4231 and C4506
2024-06-10 16:42:43 +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
Alexander Gavriliuk
f9473e8afc
secondlife/viewer#1333 BOOL to bool conversion leftovers: ternaries
2024-05-07 10:18:51 +02:00
Andrey Kleshchev
a156998fa6
viewer#799 Account for reflection probes' memory
2024-05-07 08:25:13 +03: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
Andrey Lihatskiy
71ed19839e
Merge branch 'main' into DRTVWR-600-maint-A
...
# Conflicts:
# indra/newview/llappviewer.cpp
# indra/newview/llfloaterchangeitemthumbnail.cpp
# indra/newview/llpanelprofile.cpp
# indra/newview/llselectmgr.cpp
# indra/newview/lltexturectrl.cpp
# indra/newview/lltexturectrl.h
# indra/newview/lltooldraganddrop.cpp
# indra/newview/llviewerdisplay.cpp
# indra/newview/llvovolume.cpp
2024-03-27 00:45:06 +02:00
Andrey Kleshchev
78ce375dda
SL-17896 Don't crash silently if files are missing or out of memory
...
Under debug LL_ERRS will show a message as well, but release won't show
anything and will quit silently so show a notification when applicable.
2024-03-05 00:29:35 +02:00
Ansariel
b2c2713672
Convert BOOL to bool in llrender
2024-02-20 02:14:01 +02:00
Lars Næsbye Christensen
f1c97f4057
misc: BOOL to bool
2024-02-18 22:04:44 +02:00
Lars Næsbye Christensen
da967da9c7
Rename OS X to macOS, mostly in comments
...
We only support 10.13+ now, and it's been called macOS since 10.12. References in code to older versions are unchanged.
2024-01-11 19:11:33 +02:00
Alexander Gavriliuk
74c8b028d4
SL-20743 Use LLMutex in LLImageBase for internal data thread-safety
2023-12-21 19:12:52 +01:00
Rye Mutt
a4c2eab969
Fix integer overflow when framebuffers are extremely high resolution resulting in INT_MAX texture bias ( #393 )
2023-09-28 15:05:37 -05:00
Brad Linden
f975cfd736
Merge remote-tracking branch 'origin/main' into DRTVWR-559
2023-07-17 13:37:03 -07:00
cosmic-linden
d6d634d29f
SL-19331: Move media updates off-thread on select hardware ( #153 )
...
* SL-19331: Have media updates on the LLImageGL thread even when texture updates are on the main thread. Add config.
Off-thread media updates seem work best performance-wise when using glTexImage2D, not sub_image_lines. Otherwise, there are lots of main thread stalls.
* SL-19331: Bump featuretable
* SL-19331: Cleanup, annotate comment
2023-04-05 11:55:33 -05:00
Cosmic Linden
a218eed9a6
SL-19434: Fix texture issues with minimap, but keep performance from SL-19331
2023-03-21 14:28:56 -07:00
Cosmic Linden
7d97008eba
Revert "SL-19434 Temporary fix for minimap breakage."
...
This reverts commit 084ef5173f .
2023-03-21 14:27:37 -07:00
Alexander Gavriliuk
275ad3fdab
SL-19266 Potential Use-After-Free in LLImageGL::setImage
2023-03-21 17:04:48 +01:00
Dave Parks
084ef5173f
SL-19434 Temporary fix for minimap breakage.
2023-03-21 09:29:44 -05:00
Cosmic Linden
4319ba5edc
SL-19331: Improve performance of setSubImage (ex: media updates)
2023-03-13 16:47:11 -07:00
Cosmic Linden
c734602592
SL-19389: Fix textures not being optimally queued after the fix in SL-19338
...
In the future, some uses of glTexSubImage2D should be better vetted, ex: media prims
2023-03-10 17:32:35 -08:00
Cosmic Linden
f3eaf390fe
SL-19338: Don't use glTexSubImage2D on compressed textures
2023-03-08 16:57:38 -08:00
Cosmic Linden
3773bac6b4
Revert "SL-19338: (WIP) Test disabling new use of glTexSubImage2D and see if the bug still repros"
...
This reverts commit 6c486e4853 .
2023-03-08 14:21:44 -08:00
Cosmic Linden
6c486e4853
SL-19338: (WIP) Test disabling new use of glTexSubImage2D and see if the bug still repros
2023-03-08 12:40:45 -08:00
Jonathan "Geenz" Goodman
46b2c0660a
Hammering on more mac optimizations.
...
SL-18563
2023-02-25 22:24:46 -08:00
Brad Linden
d8cdfaa645
Fix for SL-19010 mac crash in LLManipTranslartge::restoreGL().
...
Attempt to simplify and avoid use of GL_UNSIGNED_INT_8_8_8_8_REV where not needed
2023-01-19 14:25:14 -08:00
Dave Parks
8b39e0e1a6
SL-18869 Followup -- leverage "small commands" and time slicing to get rid of frame stalls on main thread without the need for multithreaded GL
2023-01-19 11:33:11 -06:00
Nat Goodspeed
fc424a0db9
SL-18809: Add WorkSchedule; remove timestamps from WorkQueue.
...
For work queues that don't need timestamped tasks, eliminate the overhead of a
priority queue ordered by timestamp. Timestamped task support moves to
WorkSchedule. WorkQueue is a simpler queue that just waits for work.
Both WorkQueue and WorkSchedule can be accessed via new WorkQueueBase API. Of
course the WorkQueueBase API doesn't deal with timestamps, but a WorkSchedule
can be accessed directly to post timestamped tasks and then handled normally
(e.g. by ThreadPool) to run them.
Most ThreadPool functionality migrates to new ThreadPoolBase class, with
template subclass ThreadPoolUsing<WorkQueue> or ThreadPoolUsing<WorkSchedule>
depending on need. ThreadPool is now an alias for ThreadPoolUsing<WorkQueue>.
Importantly, ThreadPoolUsing::getQueue() delivers a reference to the specific
queue subclass type, so you can post timestamped tasks on a queue retrieved
from ThreadPoolUsing<WorkSchedule>::getQueue().
Since ThreadPool is no longer a simple class but an alias for a particular
template specialization, introduce threadpool_fwd.h to forward-declare it.
Recast workqueue_test.cpp to exercise WorkSchedule, since some of the tests
are time-based. A future todo would be to exercise each applicable test with
both WorkQueue and WorkSchedule.
2022-12-09 13:21:45 -05:00
Andrey Kleshchev
24fb2f8336
Merge branch 'master' (DRTVWR-548) into DRTVWR-559
...
# Conflicts:
# indra/llrender/llgl.cpp
# indra/llrender/llrendertarget.cpp
# indra/newview/VIEWER_VERSION.txt
# indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
# indra/newview/llfloaterpreference.cpp
# indra/newview/llviewercontrol.cpp
# indra/newview/llviewermenu.cpp
# indra/newview/llviewertexturelist.cpp
# indra/newview/llvovolume.cpp
2022-10-21 18:19:27 +03:00
Dave Parks
09f3d6eaee
Merge branch 'DRTVWR-559' of ssh://bitbucket.org/lindenlab/viewer into DRTVWR-559
2022-09-16 16:25:38 -05: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
Andrey Kleshchev
7649114588
Merge branch master (DRTVWR-571) into DRTVWR-559
...
# Conflicts:
# indra/newview/llpanelface.cpp
# indra/newview/llpanelface.h
2022-09-16 21:07:39 +03:00
Andrey Lihatskiy
329268c5f7
Merge branch 'master' into DRTVWR-548-maint-N
...
# Conflicts:
# indra/newview/llmodelpreview.h
2022-09-15 20:44:04 +03:00
Howard Stearns
2082443220
SL-17967 - Git rid of ARB that is in core
2022-09-01 10:58:27 -07:00
Dave Parks
197ac7cc20
Merge remote-tracking branch 'remotes/origin/DRTVWR-563' into DRTVWR-559
2022-08-30 10:46:36 -05:00
Dave Parks
9bee2a92d2
SL-17997 Follow up from beta breakers results.
2022-08-26 10:51:42 -05:00