summaryrefslogtreecommitdiff
path: root/indra/llwindow/llwindowwin32.h
AgeCommit message (Collapse)Author
2024-09-13Clean up Windows build (#2562)Ansariel Hiller
* 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-06-17Remove orphaned VRAM handling codeAnsariel
2024-05-22Fix line endlingsAnsariel
2024-05-22Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-AAnsariel
# 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-07viewer#799 getAvailableVRAMMegabytes cleanupAndrey Kleshchev
2024-05-01Merge branch 'marchcat/w-whitespace' into marchcat/x-ws-mergeAndrey Lihatskiy
2024-04-29#824 Process source files in bulk: replace tabs with spaces, convert CRLF to ↵Andrey Lihatskiy
LF, and trim trailing whitespaces as needed
2024-02-18Replace BOOL with bool in llwindow and dependent classesAnsariel
2024-02-15Viewer#779 Make RenderMaxVRAMBudget more consistentAndrey Kleshchev
2023-11-30Merge branch 'DRTVWR-591-maint-X' into marchcat/591-x-pbr-mergeAndrey Lihatskiy
# 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-10-23SL-13610 [MAC] Manufacturer based searchAndrey Kleshchev
2023-10-23SL-13610 [MAC] WIP enable initing devices by local idAndrey Kleshchev
2023-10-23SL-13610 [MAC] WIP List HID available devices in joystick selectionAndrey Kleshchev
Doesn't filter the list yet, just shows full list of usb devices Selecting visible devices doesn't work yet
2022-11-29SL-18682 WIP -- Add debug settings that aid in emulating low end hardware.Dave Parks
2022-03-29SL-17005 WIP - Use D3D/DXGI to query for available VRAM on WindowsDave Parks
2022-03-01Merge branch 'master' (DRTVWR-557) into DRTVWR-546Andrey Kleshchev
# 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
2021-12-09SL-16480 Fix for window not saving its position on exit.Runitai Linden
2021-11-24DRTVWR-546, SL-16220, SL-16094: Undo previous glthread branch revert.Nat Goodspeed
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 029b41c0419e975bbb28454538b46dc69ce5d2ba.
2021-11-23SL-16094, SL-16400: Merge branch 'DRTVWR-546' into glthreadNat Goodspeed
2021-11-15SL-16094: In LLWindowWin32::recreateWindow(), kick window threadNat Goodspeed
before blocking on the pending future. Otherwise the window thread can remain blocked in a GetMessage() call and deadlock the app.
2021-11-15Revert "SL-16220: Merge branch 'origin/DRTVWR-546' into glthread"Dave Houlton
This reverts commit 5188a26a8521251dda07ac0140bb129f28417e49, reversing changes made to 819088563e13f1d75e048311fbaf0df4a79b7e19.
2021-11-10Merge branch 'DRTVWR-546' into glthreadNat Goodspeed
2021-11-09SL-16330 Clean up vertical sync handling, add to UIMnikolenko Productengine
2021-11-08SL-16094: Zap thread safety land mine; thin PostMessage() calls.Nat Goodspeed
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-05SL-16094: Use ThreadPool for LLWindowWin32Thread.Nat Goodspeed
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-10-25Merged DRTVWR-546 into SL-15999Vir Linden
2021-10-22mergeBrad Payne (Vir Linden)
2021-10-22SL-16203 Fix for wonky handling of mouse deltas.Dave Parks
2021-10-11SL-16099 Multi-threaded OpenGL usage on Windows, enable Core Profile and ↵Dave Parks
VAOs by default.
2021-10-01SL-16094 Move LLWindowWin32::mainWindowProc and Windows message handling to ↵Dave Parks
a background thread to prevent frame stalls in LLWindowWin32::gatherInput
2021-09-28SL-16102 Set window title to agent name (child of SL-15999 Support for low ↵Callum Linden
overhead, non interactive viewer sessions)
2021-04-30Merge branch 'master' into DRTVWR-530-maintAndrey Lihatskiy
2021-04-22SL-14977 Extended AltGr to cover oem symbolsAndrey Kleshchev
Typing '}' via 'altgr+=' into a script makes the viewer to derender particles
2021-02-01Merge branch 'master' of https://bitbucket.org/lindenlab/viewer/src/master ↵Andrey Kleshchev
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)
2020-07-17SL-13507 Viewer should log resolution of all associated displaysMnikolenko Productengine
2020-07-15SL-5894 #3 WIP enumerate devices to flaoter, let floater set deviceAndrey Kleshchev
temp
2020-07-10SL-5894 Changed joystick init to select device with apropriate manufacturer ↵Andrey Kleshchev
and type
2019-02-08Fix issue where gamma was being corrupted on windows with night light enabledDrake Arconis
2018-01-17Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2017-10-16STORM-2151: Respect "Hide cursor while typing" user setting on WindowsAnsariel
2017-03-27Additional work on : Fix for MAINT-7054 Viewer Crashed when I used Japanese ↵Callum Prentice
IM. (Drake and Appurist convinced me my initial solution was non-optimal)
2017-03-27Fix for MAINT-7054 Viewer Crashed when I used Japanese IM.Callum Prentice
2016-08-18MAINT-5992 Second Life unusable on Windows 10 with 4k monitor SL forcibly ↵pavelkproductengine
overrides DPI compatibility option
2016-07-13MAINT-6493 SL Viewer does not respect the Windows 10 display setting size sliderpavelkproductengine
2016-01-15merge changes for 4.0.1-releaseOz Linden
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-10-27MAINT-5754: For MoaP and MediaCtrls forward all events including KEYUP and ↵Rider Linden
KEYDOWN to the CEF plugin.
2015-07-15New keyboard code for windows that uses system messages directly and works ↵callum_linden
ok. Points to new LLCEFLib
2014-11-03MAINT-3585 FIXED Viewer Crashes when attempting to upload image.ruslantproductengine
The bug was fixed, the reasone of crash is following. The Core Flow view contain another GL context and will not care about restoring a previous. I restore context manually. This path also contain a minor changes in another files. All changes described here. Сhange's for fix current bug. indra/llwindow/llwindow.h indra/llwindow/llwindowheadless.h indra/llwindow/llwindowmacosx.h indra/llwindow/llwindowsdl.h indra/llwindow/llwindowwin32.h indra/newview/lllocalbitmaps.cpp indra/newview/llviewerdisplay.cpp indra/newview/llviewerdisplay.h Twice mUsage initialization (replace to forward initialization). indra/llcharacter/lljointstate.h Looks like condition should be befor memcopy call, otherwise - possible CRASH. indra/llcommon/llmd5.cpp Unused condition and variables. indra/llmath/llsphere.cpp Looks like should be under if otherwise - possible CRASH indra\llprimitive\llmodel.cpp Useless assert's. indra/llrender/llrender.cpp indra/newview/lldaycyclemanager.cpp
2013-06-05merge with viewer-releaseRichard Linden