Commit Graph

171 Commits (94e45ca2e60b4013a4e38d8f2c1fe8dad4207c3a)

Author SHA1 Message Date
Andrey Kleshchev 5b968b7209 #3332 Remake glyph count into cache generation
1. Cover reset with 'generation'
2. Fix lapse of judgement with mLastFontGlyphCount, it should have been
saved before render(), not after
2025-02-24 19:31:16 +02:00
Andrey Kleshchev e708d69fb0 #3332 Fix buffers not accounting for dynamic cache values
And fix previous lapse of judgement with GLYPH_BATCH_SIZE
2025-02-11 23:59:42 +02:00
Andrey Kleshchev 6a78b5b43c #3332 Font issues with multy-byte and multy-glyps characters 2025-02-10 23:18:33 +02:00
Andrey Kleshchev 3a251b1b9e #3332 Switching screens can break text rendering 2025-02-07 23:27:30 +02:00
Andrey Kleshchev 200a196d31 viewer#2883 Regenerate font's matrix and depth instead of loading
to fix issues with nametags and window resizes
2024-10-28 16:47:19 +02:00
Andrey Kleshchev 6d842ac0af Expose LLVector4a in LLRender
Avoid using a bunch of allocators.
Make sure we use LLVector4a's SSE logic instead of LLVector3's.
Some minor optimizations.
2024-09-19 09:58:17 +03:00
Ansariel Hiller d9da5bbb33
Remove quads rendering mode entirely (#2593) 2024-09-18 17:09:51 +03:00
Andrey Kleshchev 57ab1a410f viewer#2411 A bit more coverage for font buffer 2024-09-04 10:16:46 +03:00
Andrey Kleshchev 5c64e5e13d viewer#2411 LLFontGL::render optimizations #3 2024-09-04 10:16:46 +03:00
Andrey Kleshchev a638d9610d viewer#2411 LLFontGL::render optimizations #2 2024-09-04 10:16:46 +03:00
Andrey Kleshchev 4ae1de1f8a viewer#2411 LLFontGL::render optimizations 2024-09-04 10:16:46 +03:00
Rye Mutt 604cb4cb4d
Reduce utf8 to wstring conversion and llwstring temporaries during text draw (#2115) 2024-07-26 13:19:34 +03:00
Rye Mutt 2a7030992f
Update tracy profiler to 0.10 (#1946) 2024-07-09 16:53:43 -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
Ansariel 4b52dd754b Fix incorrect use of VX/VY/VZ/VW indices when color components are accessed 2024-06-10 19:30:17 +03: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 38c2a5bde9 Merge branch 'marchcat/w-whitespace' into marchcat/x-ws-merge 2024-05-01 08:16:58 +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
Henri Beauchamp b40ff113c5 Allow fading emojis characters in fading text.
In the recent emojis implementation, the text color alpha is ignored
(emojis are always rendered with an opaque white color), causing them
to fail and fade properly with the rest of the text they are printed
with.

This trivial patch fixes this issue.
2024-03-15 21:45:55 +02:00
Ansariel eb1ed3896f Merge branch 'main' of https://github.com/secondlife/viewer into DRTVWR-600-maint-A
# Conflicts:
#	autobuild.xml
#	indra/llrender/llfontbitmapcache.cpp
#	indra/llrender/llfontbitmapcache.h
#	indra/llrender/llfontfreetype.cpp
#	indra/llrender/llfontfreetype.h
#	indra/llrender/llfontgl.cpp
#	indra/llrender/llfontgl.h
#	indra/llui/llbutton.h
#	indra/llui/llfloater.cpp
#	indra/llui/llfloater.h
#	indra/llui/llfolderviewitem.cpp
#	indra/llui/lllineeditor.cpp
#	indra/llui/lllineeditor.h
#	indra/llui/llscrollcontainer.cpp
#	indra/llui/llscrollingpanellist.cpp
#	indra/llui/llscrollingpanellist.h
#	indra/llui/llscrolllistctrl.h
#	indra/llui/lltextbase.cpp
#	indra/llui/lltextbase.h
#	indra/llui/lltexteditor.cpp
#	indra/llui/lltexteditor.h
#	indra/llui/lluictrl.cpp
#	indra/llui/llview.cpp
#	indra/llui/llview.h
#	indra/newview/llchicletbar.h
#	indra/newview/llconversationlog.h
#	indra/newview/llfloaterimsessiontab.cpp
#	indra/newview/llfloaterimsessiontab.h
#	indra/newview/llfloateruipreview.cpp
#	indra/newview/llnavigationbar.h
#	indra/newview/llpaneltopinfobar.h
#	indra/newview/llpathfindingpathtool.h
#	indra/newview/lltextureview.cpp
#	indra/newview/lltoolbrush.h
#	indra/newview/lltoolcomp.h
#	indra/newview/lltooldraganddrop.h
#	indra/newview/lltoolface.h
#	indra/newview/lltoolfocus.h
#	indra/newview/lltoolindividual.h
#	indra/newview/lltoolobjpicker.h
#	indra/newview/lltoolpie.h
#	indra/newview/lltoolpipette.h
#	indra/newview/lltoolselectland.h
#	indra/newview/llviewermediafocus.h
#	indra/newview/llviewerparcelmediaautoplay.h
#	indra/newview/llviewerwindow.cpp
#	indra/newview/llvoicechannel.h
#	indra/newview/llvoicevivox.h
#	indra/newview/llworldmapview.cpp
2024-03-12 16:52:30 +01:00
Alexander Gavriliuk 27dd9ee482 triage#86 Use Emoji font in LineEditor by default 2024-03-05 15:37:49 +01:00
Ansariel b2c2713672 Convert BOOL to bool in llrender 2024-02-20 02:14:01 +02:00
Alexander Gavriliuk ae91ae43a5 SL-20795 Part of previously typed emojis disappear in the 'Save settings as a preset...' option of the 'Preferences' floater 2024-01-17 04:34:21 +01: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 e7f1466a7b Merge branch main into DRTVWR-489 2023-10-08 14:01:05 +02:00
Alexander Gavriliuk be655fef7f :x 2023-10-03 14:23:38 +02:00
Callum Prentice c5d7f3c4c1 DRTVWR-489: trivial merge conflict fix 2023-07-18 10:51:51 -07:00
Andrey Kleshchev acf82867b6 Merge branch 'main' (DRTVWR-580) into DRTVWR-567
# Conflicts:
#	indra/llui/llfolderviewitem.cpp
#	indra/newview/llinventorymodel.cpp
#	indra/newview/llinventorymodelbackgroundfetch.cpp
2023-07-17 23:34:59 +03:00
Alexander Gavriliuk 1fe007abef SL-20001 EmojiPicker - make the preview to be a panel instead of a button 2023-07-13 22:13:31 +02:00
Maxim Nikolenko 81d69cf84d SL-19379 WIP add worn suffix, use bold font style for worn items and italic for links 2023-03-31 13:40:59 +03:00
Alexander Gavriliuk d1b414e48b SL-17045 LSL editor cursor position desynchronization 2023-03-24 22:17:36 +01:00
Kitty Barnett 7ebaa2d2e5 Merge branch contribution/emoji into DRTVWR-489-emoji 2022-11-09 23:25:02 +01:00
Kitty Barnett cf2afdc541 Add emoji as its own font to promote character reuse 2022-10-23 16:26:36 +02:00
Ptolemy b70614bd87 SL-16606: Add profiler category UI 2022-01-14 11:50:21 -08:00
Dave Parks 8d20480c5f SL-16148 SL-16244 SL-16270 SL-16253 Remove most BlockTimers, remove LLMemTracked, introduce alignas, hook most/all reamining allocs, disable synchronous occlusion, and convert frequently accessed LLSingletons to LLSimpleton 2021-10-28 18:06:21 +00:00
Mnikolenko Productengine 2238f89db7 SL-16141 Load fonts and generate glyphs on startup 2021-10-11 18:05:27 +03:00
Kitty Barnett 5a6ddb2ea6 Fallback fonts can have first crack at adding an unknown character + set Twemoji as the viewer's fallback for all emoji blocks 2019-11-07 17:15:21 +01:00
Kitty Barnett 418308bc7c Characters can have more than one representation in LLFontFreetype
* By default all viewer text will use B/W glyphs
  * Added temporary use_color attribute to LLTextBase for testing
2019-11-06 12:34:26 +01:00
Kitty Barnett 9cfdb278de Support for COLR/CPAL fonts 2019-10-28 23:40:41 +02:00
Kitty Barnett 05566ce7a7 Font debugging aid to dump descriptors + individual textures 2019-10-27 16:41:38 +02:00
maxim_productengine f46969fec7 SL-11139 FIXED LLFontGL::getStringFromStyle() never return "NORMAL" 2019-05-13 18:17:16 +03:00
maxim_productengine fd7b0e19da SL-10610 FIXED Floaters fails to display certain symbols. Added ability to load font collections. 2019-03-19 11:16:24 +02:00
Nat Goodspeed 4b99e6a1f1 SL-10252: On Windows, use $SystemRoot again, not FOLDERID_Fonts. 2018-12-17 15:23:57 -05:00
Nat Goodspeed 4a13657285 SL-10153: auto name{expression} declares an initializer_list
instead of a variable of type decltype(expression).

Using SHGetKnownFolderPath(FOLDERID_Fonts) in LLFontGL::getFontPathSystem()
requires new Windows #include files.

A variable with a constructor can't be declared within the braces of a switch
statement, even outside any of its case clauses.
2018-12-15 09:13:24 -05:00
Nat Goodspeed c4096f670c SL-10153: Review and rationalize fetching paths from environment.
Use LLStringUtil::getenv() or getoptenv() whenever we fetch a string that will
be used as a pathname.

Use LLFile::tmpdir() instead of getenv("TEMP").

As an added extra-special bonus, finally clean up $TMP/llcontrol-test-zzzzzz
directories that have been accumulating every time we run a local build!
2018-12-14 15:38:13 -05:00
andreykproductengine a00165aad4 MAINT-6683 fixed wrapping issues of notecard embedded items 2016-08-30 20:13:45 +03:00
Oz Linden 31f3db0291 merge changes for DRTVWR-417 2016-03-16 13:08:06 -04:00
andreykproductengine c73d9e5c44 MAINT-5984 FIXED Incorrect cursor position with UI scale >1.0 2015-12-29 20:20:40 +02:00