summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-03-22Add Tracy categories for WebRTC VoiceRoxie Linden
Also: * Fix a few crashes. * Only send position data when it changes.
2024-03-22Add Develop menu option 'Debug Camera Controls'Alexander Gavriliuk
2024-03-22viewer#888 Washed out letters in a running stringAndrey Kleshchev
2024-03-22Merge pull request #967 from secondlife/lua-floaterMaxim Nikolenko
Initial implementation of LLLuaFloater
2024-03-22viewer-issues#85: update advanced graphics preferences UI layoutMaxim Nikolenko
2024-03-22Fix a couple bugs in fiber.lua machinery.Nat Goodspeed
This fixes a hang if the Lua script explicitly calls fiber.run() before LuaState::expr()'s implicit fiber.run() call. Make fiber.run() remove the calling fiber from the ready list to avoid an infinite loop when all other fibers have terminated: "You're ready!" "Okay, yield()." "You're ready again!" ... But don't claim it's waiting, either, because then when all other fibers have terminated, we'd call idle() in the vain hope that something would make that one last fiber ready. WaitQueue:_wake_waiters() needs to wake waiting fibers if the queue's not empty OR it's been closed. Introduce leap.WaitFor:close() to close the queue gracefully so that a looping waiter can terminate, instead of using WaitFor:exception(), which stops the whole script once it propagates. Make leap's cleanup() function call close(). Streamline fiber.get_name() by using 'or' instead of if ... then. Streamline fiber.status() and fiber.set_waiting() by using table.find() instead of a loop.
2024-03-21mac build fixMnikolenko Productengine
2024-03-21Merge pull request #1028 from secondlife/v-1027cosmic-linden
secondlife/viewer#1027: Fix noise on transparent PBR materials on minimap
2024-03-21Accept an array for "add_list_item" and change EVENT_LIST typeMnikolenko Productengine
2024-03-21Switch to LLDispatchListenerMnikolenko Productengine
2024-03-21WIP: Add fiber.lua module and use in leap.lua and WaitQueue.lua.Nat Goodspeed
fiber.lua goes beyond coro.lua in that it distinguishes ready suspended coroutines from waiting suspended coroutines, and presents a rudimentary scheduler in fiber.yield(). yield() can determine that when all coroutines are waiting, it's time to retrieve the next incoming event from the viewer. Moreover, it can detect when all coroutines have completed and exit without being explicitly told. fiber.launch() associates a name with each fiber for debugging purposes. fiber.get_name() retrieves the name of the specified fiber, or the running fiber. fiber.status() is like coroutine.status(), but can return 'ready' or 'waiting' instead of 'suspended'. fiber.yield() leaves the calling fiber ready, but lets other ready fibers run. fiber.wait() suspends the calling fiber and lets other ready fibers run. fiber.wake(), called from some other coroutine, returns the passed fiber to ready status for a future call to fiber.yield(). fiber.run() drives the scheduler to run all fibers to completion. If, on completion of the subject Lua script, LuaState::expr() detects that the script loaded fiber.lua, it calls fiber.run() to finish running any dangling fibers. This lets a script make calls to fiber.launch() and then just fall off the end, leaving the implicit fiber.run() call to run them all. fiber.lua is designed to allow the main thread, as well as explicitly launched coroutines, to make leap.request() calls. This part still needs debugging. The leap.lua module now configures a fiber.set_idle() function that honors leap.done(), but calls get_event_next() and dispatches the next incoming event. leap.request() and generate() now leave the reqid stamp in the response. This lets a caller handle subsequent events with the same reqid, e.g. for LLLuaFloater. Remove leap.process(): it has been superseded by fiber.run(). Remove leap.WaitFor:iterate(): unfortunately that would run afoul of the Luau bug that prevents suspending the calling coroutine within a generic 'for' iterator function. Make leap.lua use weak tables to track WaitFor objects. Make WaitQueue:Dequeue() call fiber.wait() to suspend its caller when the queue is empty, and Enqueue() call fiber.wake() to set it ready again when a new item is pushed. Make llluamanager_test.cpp's leap test script use the fiber module to launch coroutines, instead of the coro module. Fix a bug in which its drain() function was inadvertently setting and testing the global 'item' variable instead of one local to the function. Since some other modules had the same bug, it was getting confused. Also add printf.lua, providing a printf() function. printf() is short for print(string.format()), but it can also print tables: anything not a number or string is formatted using the inspect() function. Clean up some LL_DEBUGS() output left over from debugging lua_tollsd().
2024-03-20secondlife/viewer#1027: Update test planCosmic Linden
2024-03-20secondlife/viewer#1027: Fix noise on transparent PBR materials on minimapCosmic Linden
2024-03-20viewer#1018 Crash at insertStringNoUndoAndrey Kleshchev
getEditableIndex retuns pos as is if only one segment is present
2024-03-20LLLuaFloater code clean upMnikolenko Productengine
2024-03-20Merge pull request #1024 from secondlife/vi-83cosmic-linden
secondlife/viewer-issues#83: Disallow alpha blend/double sided from PBR terrain
2024-03-20secondlife/viewer-issues#83: Add TODO/assert for deciding when to allow ↵Cosmic Linden
candidate future extensions on PBR terrain
2024-03-20secondlife/viewer-issues#83, secondlife/viewer-issues#82: Combine terrain ↵Cosmic Linden
save error notifications
2024-03-20secondlife/viewer-issues#83, secondlife/viewer-issues#82: Mark ↵Cosmic Linden
texture/material terrain save notifications as unique, to prevent duplicates
2024-03-20Turn procesIceUpdates into a coroutine to chop up the work a bit.Roxie Linden
2024-03-20secondlife/viewer-issues#83: Disallow alpha blend/double sided from PBR terrainCosmic Linden
2024-03-20Merge pull request #1019 from secondlife/vi-82cosmic-linden
secondlife/viewer-issues#82: Don't allow transparent texture terrain
2024-03-20viewer#971 Fixed iCCP: known incorrect sRGB profile warningsAndrey Kleshchev
libpng version 1.6 got more agressive with logging issues, resaved offending images
2024-03-19Merge pull request #1021 from secondlife/roxie/webrtc-voice-workqueueRoxanne Skelly
WebRTC: Make callbacks from webrtc-proper launch workqueue jobs to run code on the main thread, instead of relying on mutexes and such.
2024-03-19Clear out observers when terminating a connectionRoxie Linden
2024-03-19secondlife/viewer-issues#82: Update test planCosmic Linden
2024-03-19secondlife/viewer-issues#82: Don't allow transparent texture terrainCosmic Linden
2024-03-19Simplify workqueue calls. Fix issue with webrtc blocking on destruction.Roxie Linden
2024-03-19viewer#1000 Textures on large prims lose resolutionAndrey Kleshchev
Value was selected experimentally. I suspect it needs to be even smaller or needs to take face's size (extents) into account, but lack test cases. Will ask QA to experiment around with scaling.
2024-03-19Merge pull request #1014 from secondlife/v-1006cosmic-linden
secondlife/viewer#1006: Review feedback: Move blank material constant to indra_constants.h
2024-03-19search xml file in the lib, if path is not full; add test lua floater scriptsMnikolenko Productengine
2024-03-18Merge pull request #119 from secondlife/roxie/webrtc-voiceRoxanne Skelly
Update webrtc path; fix crash; fix region voice not always working issue.
2024-03-18Use LL::WorkQueue to handle transitions from llwebrtc threads to the main threadRoxie Linden
2024-03-18use the github release asset path for autobuild webrtcRoxie Linden
2024-03-18update to use public github-based release of autobuild webrtcRoxie Linden
2024-03-18secondlife/viewer#1006: Move blank material constant to indra_constants.hCosmic Linden
2024-03-18Merge pull request #1013 from secondlife/v-1006cosmic-linden
secondlife/viewer#1006: Prevent setting PBR terrain material swatches to null
2024-03-18secondlife/viewer#1006: Update test planCosmic Linden
2024-03-18Merge branch 'main' into DRTVWR-591-maint-XAndrey Lihatskiy
2024-03-18viewer#961 Add a notification appearing when user tries to insert a ↵Alexander Gavriliuk
disallowed character
2024-03-18update to use new lua leap; initial support for scroll listMnikolenko Productengine
2024-03-16Merge branch 'roxie/webrtc-voice' of github.com:secondlife/viewer-private ↵Roxie Linden
into roxie/webrtc-voice
2024-03-16Fix crash in setting peer volume/muteRoxie Linden
Also fix issue where moving to a 'voice disabled' parcel and back to the region (with voice) resulted in the voice dot not showing up.
2024-03-16Merge pull request #980 from secondlife/brad/fix-dependency-deprecationsnat-goodspeed
Fix github actions dependency deprecations
2024-03-15secondlife/viewer#1006: Prevent PBR terrain material swatches from being ↵Cosmic Linden
null. Default to blank material for now.
2024-03-15secondlife/viewer#1006: Don't send terrain update if validation failsCosmic Linden
2024-03-15secondlife/viewer#906: Fix broken test plan linkCosmic Linden
2024-03-15Merge pull request #1009 from secondlife/v-760cosmic-linden
secondlife/viewer#760: Update test plan for terrain texture max resolution validation
2024-03-15secondlife/viewer#760: Update test plan for terrain texture max resolution ↵Cosmic Linden
validation
2024-03-15Allow fading emojis characters in fading text.Henri Beauchamp
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.