Commit Graph

93 Commits (bf347d15804c27348c84a55ab763f89b718e8aac)

Author SHA1 Message Date
Andrey Kleshchev 38257221d0 viewer#3018 Expose mouse wrap in UI
And attempt some basic automation
2025-10-13 16:27:36 +03:00
Maxim Nikolenko 5291fc252a
#4374 update icon for title bar 2025-07-26 01:20:22 +03:00
Maxim Nikolenko 0c89d06ec2
#4374 add support for the system theme (light and dark) 2025-07-23 12:11:14 +03:00
Andrey Kleshchev 6e6e105f01 #3317 Fix full screen issue with Windows 11 24H2 2025-05-05 18:30:33 +03:00
Ansariel Hiller 74205607b7
Clean up Windows build (#2562)
* APR_DECLARE_STATIC and APU_DECLARE_STATIC gets already defined in APR.cmake
* Move both _CRT_SECURE_NO_WARNINGS and _WINSOCK_DEPRECATED_NO_WARNINGS definitions to 00-Common.cmake
* Always define WIN32_LEAN_AND_MEAN and include subset of Windows API by default
* Remove llwin32headerslean.h and remove unnecessary WIN32_LEAN_AND_MEAN definition handling in llwin32headers.h
* Clean up includes of Windows API headers
* Get rid of workaround to link against IPHLPAPI.lib in lluuid.cpp - this seems to have been an issue in the past that has been fixed
2024-09-13 17:28:48 +03:00
Ansariel ea83746cda Remove orphaned VRAM handling code 2024-06-17 19:04:41 +03: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 Kleshchev ea268fcd48 viewer#799 getAvailableVRAMMegabytes cleanup 2024-05-07 08:25:13 +03: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
Ansariel c285f59ce2 Replace BOOL with bool in llwindow and dependent classes 2024-02-18 15:51:54 +02:00
Andrey Kleshchev a2971d84d5 Viewer#779 Make RenderMaxVRAMBudget more consistent 2024-02-15 19:31:41 +02:00
Andrey Lihatskiy 27dae1d967 Merge branch 'DRTVWR-591-maint-X' into marchcat/591-x-pbr-merge
# Conflicts:
#	indra/llrender/llgl.cpp
#	indra/llrender/llvertexbuffer.cpp
#	indra/llui/llflatlistview.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/lldrawpoolground.cpp
#	indra/newview/llinventorybridge.cpp
#	indra/newview/llinventorygallery.cpp
#	indra/newview/llspatialpartition.cpp
#	indra/newview/llviewercontrol.cpp
#	indra/newview/llviewertexture.cpp
#	indra/newview/llvosky.cpp
#	indra/newview/skins/default/xui/en/menu_inventory.xml
2023-11-30 13:30:27 +02:00
Andrey Kleshchev 3084f86417 SL-13610 [MAC] Manufacturer based search 2023-10-23 15:26:19 +03:00
Andrey Kleshchev 453a4a13f8 SL-13610 [MAC] WIP enable initing devices by local id 2023-10-23 15:26:19 +03:00
Andrey Kleshchev 9b27b6e509 SL-13610 [MAC] WIP List HID available devices in joystick selection
Doesn't filter the list yet, just shows full list of usb devices
Selecting visible devices doesn't work yet
2023-10-23 15:26:19 +03:00
Dave Parks b5db671f7c SL-18682 WIP -- Add debug settings that aid in emulating low end hardware. 2022-11-29 09:15:02 -06:00
Dave Parks e60024f0af SL-17005 WIP - Use D3D/DXGI to query for available VRAM on Windows 2022-03-29 15:41:00 -05:00
Andrey Kleshchev 97a103255e Merge branch 'master' (DRTVWR-557) into DRTVWR-546
# Conflicts:
#	autobuild.xml
#	doc/contributions.txt
#	indra/cmake/GLOD.cmake
#	indra/llcommon/tests/llprocess_test.cpp
#	indra/newview/VIEWER_VERSION.txt
#	indra/newview/lldrawpoolavatar.cpp
#	indra/newview/llfloatermodelpreview.cpp
#	indra/newview/llmodelpreview.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/llvovolume.cpp
#	indra/newview/viewer_manifest.py
2022-03-01 13:41:42 +02:00
Runitai Linden 9689e606f4 SL-16480 Fix for window not saving its position on exit. 2021-12-09 14:01:41 -06:00
Nat Goodspeed 0b066539fe DRTVWR-546, SL-16220, SL-16094: Undo previous glthread branch revert.
Reverting a merge is sticky: it tells git you never want to see that branch
again. Merging the DRTVWR-546 branch, which contained the revert, into the
glthread branch undid much of the development work on that branch. To restore
it we must revert the revert.

This reverts commit 029b41c041.
2021-11-24 10:47:54 -05:00
Nat Goodspeed d71e0a6d47 SL-16094, SL-16400: Merge branch 'DRTVWR-546' into glthread 2021-11-23 21:23:45 -05:00
Nat Goodspeed a633efdc0b SL-16094: In LLWindowWin32::recreateWindow(), kick window thread
before blocking on the pending future. Otherwise the window thread can remain
blocked in a GetMessage() call and deadlock the app.
2021-11-15 14:34:30 -05:00
Dave Houlton 029b41c041 Revert "SL-16220: Merge branch 'origin/DRTVWR-546' into glthread"
This reverts commit 5188a26a85, reversing
changes made to 819088563e.
2021-11-15 09:25:35 -07:00
Nat Goodspeed 1a39a8f7d9 Merge branch 'DRTVWR-546' into glthread 2021-11-10 10:28:58 -05:00
Mnikolenko Productengine 768b7a4d33 SL-16330 Clean up vertical sync handling, add to UI 2021-11-09 17:17:49 +02:00
Nat Goodspeed 08336bb469 SL-16094: Zap thread safety land mine; thin PostMessage() calls.
LLWindowWin32::mWndProc was a public WNDPROC member. If set non-NULL,
mainWindowProc() would call that before falling into its own handler code. But
now, mWndProc would be called on the window thread instead of on the main
thread. Running arbitrary callback code on the window thread could cause all
sorts of problems.

It could be made safe by posting the callback call to the "mainloop" WorkQueue
for execution on the main thread. But as no code actually references it,
delete it instead.

Per DaveP, the recent change to LLWindowsWin32Thread::post() could end up
calling PostMessage() many times per frame, with nontrivial overhead.
Reinstate the more selective code that calls PostMessage() with the dummy
message (to bust us out of GetMessage() to check pending window-thread work
requests) at most once per frame.
2021-11-08 15:15:56 -05:00
Nat Goodspeed c7af4921db SL-16094: Use ThreadPool for LLWindowWin32Thread.
Move the whole LLWindowWin32Thread class inside LLWindowWin32, and make it a
struct. Migrate the struct declaration to llwindowwin32.cpp.

Derive it from ThreadPool, which provides the WorkQueue. Use runPending()
instead of manually popping and running individual queue items.

Make its post() operation always PostMessage(bogus) whenever we put an entry
in the WorkQueue, so we won't remain blocked in GetMessage().

Instead of storing a back pointer to the LLWindowWin32 instance, store the
relevant HWND and HDC in LLWindowWin32Thread itself to avoid cross-thread
timing problems.

Extract both instances of a large duplicated block of LLWindowWin32 code to a
new recreateWindow() method, and call it in those places. Per the TODO, use a
std::future to pass the new HWND and HDC back to LLWindowWin32 -- but also
store them locally on the LLWindowWin32Thread instance.
2021-11-05 17:20:11 -04:00
Vir Linden ba3459f77f Merged DRTVWR-546 into SL-15999 2021-10-25 15:55:06 +00:00
Brad Payne (Vir Linden) e5cd9cb90f merge 2021-10-22 18:11:48 +01:00
Dave Parks 5553d61421 SL-16203 Fix for wonky handling of mouse deltas. 2021-10-22 17:01:33 +00:00
Dave Parks d00272e0cc SL-16099 Multi-threaded OpenGL usage on Windows, enable Core Profile and VAOs by default. 2021-10-11 16:03:40 +00:00
Dave Parks 2148e4c731 SL-16094 Move LLWindowWin32::mainWindowProc and Windows message handling to a background thread to prevent frame stalls in LLWindowWin32::gatherInput 2021-10-01 15:51:12 +00:00
Callum Linden 851fef6801 SL-16102 Set window title to agent name (child of SL-15999 Support for low overhead, non interactive viewer sessions) 2021-09-28 15:24:42 -07:00
Andrey Lihatskiy 58b4afa0ba Merge branch 'master' into DRTVWR-530-maint 2021-04-30 03:05:06 +03:00
Andrey Kleshchev b391e7f93f SL-14977 Extended AltGr to cover oem symbols
Typing '}' via 'altgr+=' into a script makes the viewer to derender particles
2021-04-22 00:30:26 +03:00
Andrey Kleshchev 609a26b59a Merge branch 'master' of https://bitbucket.org/lindenlab/viewer/src/master into DRTVWR-515-maint
# Conflicts:
#	autobuild.xml (llca)
#	indra/llwindow/llwindow.h (SL-13507 vs SL-5894)
#	indra/newview/llscenemonitor.cpp (SL-14422)
#	indra/newview/llvovolume.cpp (SL-12069)
2021-02-01 22:28:15 +02:00
Mnikolenko Productengine 44906ac0d4 SL-13507 Viewer should log resolution of all associated displays 2020-07-17 20:28:02 +03:00
Andrey Kleshchev 54383cac8f SL-5894 #3 WIP enumerate devices to flaoter, let floater set device
temp
2020-07-15 13:55:32 +03:00
Andrey Kleshchev df986a402a SL-5894 Changed joystick init to select device with apropriate manufacturer and type 2020-07-10 14:12:07 +03:00
Drake Arconis 6308743fd2 Fix issue where gamma was being corrupted on windows with night light enabled 2019-02-08 19:26:28 -08:00
AndreyL ProductEngine 57a99273ed Merged in lindenlab/viewer-release 2018-01-17 03:20:12 +02:00
Ansariel f1c76a376c STORM-2151: Respect "Hide cursor while typing" user setting on Windows 2017-10-16 10:41:45 +02:00
Callum Prentice 6d4c737b78 Additional work on : Fix for MAINT-7054 Viewer Crashed when I used Japanese IM. (Drake and Appurist convinced me my initial solution was non-optimal) 2017-03-27 16:20:51 -07:00
Callum Prentice 09003cf405 Fix for MAINT-7054 Viewer Crashed when I used Japanese IM. 2017-03-27 10:59:19 -07:00
pavelkproductengine cf93c1c81d MAINT-5992 Second Life unusable on Windows 10 with 4k monitor SL forcibly overrides DPI compatibility option 2016-08-18 19:43:48 +03:00
pavelkproductengine 070116f212 MAINT-6493 SL Viewer does not respect the Windows 10 display setting size slider 2016-07-13 20:28:29 +03:00
Oz Linden bc22e58743 merge changes for 4.0.1-release 2016-01-15 16:55:04 -05:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00