Commit Graph

46774 Commits (4e0d8f15644d607d4f9db4452cf4f34140eb2ca7)

Author SHA1 Message Date
Nat Goodspeed 4e0d8f1564 SL-18809: Merge 'DRTVWR-559' of secondlife/viewer into sl-18809 2022-12-12 14:34:47 -05:00
cosmic-linden 8b74614471
Merge pull request #34 from secondlife/SL-18740
SL-18740: Fix texture animations not working for GLTF materials
2022-12-12 09:45:52 -08:00
Cosmic Linden ec9557e4b3 SL-18740: Fix texture animations not working for GLTF materials 2022-12-09 18:35:37 -08:00
Nat Goodspeed f41278082f SL-18809: Merge 'DRTVWR-559' of secondlife/viewer into sl-18809 2022-12-09 16:34:28 -05: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
Nat Goodspeed 00478b1e76 DRTVWR-559: Introduce LLInstanceTrackerSubclass mediator class.
Deriving your tracked class T from LLInstanceTracker<T> gives you
T::getInstance() et al. But what about a subclass S derived from T?
S::getInstance() still delivers a pointer to T, requiring explicit downcast.
And so on for other LLInstanceTracker methods.

Instead, derive S from LLInstanceTrackerSubclass<S, T>. This implies that S is
a grandchild class of T, but it also recasts the LLInstanceTracker methods to
deliver results for S rather than for T.
2022-12-09 13:16:39 -05:00
Brad Kittenbrink e3b34fec69 Fix for non-windows build of DRTVWR-559 use usleep() for sleepy_robin scheduler 2022-12-08 12:53:51 -08:00
Andrey Kleshchev 76c6f3f002 SL-18741 Don't allow bulk upload without caps 2022-12-07 21:21:03 +02:00
RunitaiLinden e98091e298
DRTVWR-559: Try using custom fiber scheduler for ThreadPool threads. (#30)
Co-authored-by: Nat Goodspeed <nat@lindenlab.com>
2022-12-07 12:53:59 -06:00
Andrey Kleshchev 9262c9aead SL-18197 Materials folder doesn't appear on login
Fix some folders not being requested unless already cached.
Fix materials folder not being requested by materials picker.
2022-12-07 05:33:36 +02:00
akleshchev c69c8aa347
SL-18777 PBR upload was stuck waiting for texture
Handle obscure upload failure case - floater was waiting for a texture upload indefinetely.
Unblock floater if upload fails.
2022-12-07 02:16:12 +02:00
Maxim Nikolenko c033278ec2 SL-18795 Overrides are not applied to one face 2022-12-07 01:32:01 +02:00
Dave Parks e9e37aa2ad SL-18784 Refactor physics shape display to not require its own render target. Remove "Hover Glow Objects" to free up a superfluous render target. 2022-12-06 16:15:27 -06:00
Dave Parks 03da83f235 SL-18788 Fix for legacy shiny not working until after restart when reflections probes are disabled. 2022-12-06 10:18:46 -06:00
Dave Parks c489481ec5 SL-18785 Fix for corrupt reflection probes on various preference changes. Add UI for Screen Space Reflections. 2022-12-06 09:59:30 -06:00
Dave Parks 3ec5110129 Merge branch 'DRTVWR-559' of github.com:secondlife/viewer into DRTVWR-559 2022-12-05 11:49:07 -06:00
Dave Parks 3c20f0b1d4 SL-18692 Fix for fullbright alpha not clipping against water plane (also fixes ultraspace particles). 2022-12-05 11:48:50 -06:00
Andrey Kleshchev 7ceb266604 SL-18565 Built-in bump maps and some environment textures fail to load
Due to udp texture fetching no longer being present
2022-12-03 00:24:04 +02:00
Dave Parks 598e33e2e8 Merge branch 'DRTVWR-559' of github.com:secondlife/viewer into DRTVWR-559 2022-12-02 11:46:55 -06:00
Dave Parks 188cdc50d3 SL-18739 Fix for some textures not loading. Remove some tabs. 2022-12-02 11:46:42 -06:00
cosmic-linden ba4f4aed70
Merge pull request #23 from secondlife/SL-18741
SL-18448 When initing views and object has pbr, open pbr in texture tab
2022-12-02 09:23:39 -08:00
Dave Parks 1a8a40c944 Merge branch 'DRTVWR-559' of github.com:secondlife/viewer into DRTVWR-559 2022-12-02 09:56:56 -06:00
Dave Parks ed2b768da2 SL-18745 Fix for assert on teleport. 2022-12-02 09:56:42 -06:00
Andrey Kleshchev 1d5332b232 SL-18448 When initing views and object has pbr, open pbr in texture tab 2022-12-02 14:24:25 +02:00
Andrey Kleshchev 3812fb0f41 SL-18768 Disabled PBR texture transform when no PBR is set 2022-12-02 12:19:18 +02:00
Andrey Kleshchev 321c7895d0 SL-18741 Basic bulk upload for gltf materials #1 2022-12-02 10:24:23 +02:00
Andrey Kleshchev c0f598c103 SL-18725 Texture picker should explain why dropping texture isn't allowed
Show a tooltip on drag&drop
2022-12-01 21:43:20 +02:00
cosmic-linden 9e8f15bc4b
Merge pull request #19 from secondlife/SL-18746
SL-18746: Fix misplaced control in build menu
2022-12-01 09:06:47 -08:00
Andrey Kleshchev b095194267 SL-18742 Upload materials option is missing from inventory's menu 2022-12-01 05:33:48 +02:00
Andrey Kleshchev 7c489e0480 SL-18648 Clean up unused mNonImmediateFilterPermMask 2022-12-01 05:33:48 +02:00
Cosmic Linden 51d5748d64 SL-18746: Disable transparency control in build floater when the prim has a GLTF material 2022-11-30 16:05:50 -08:00
Cosmic Linden b7e9f3ba4d SL-18746: Fix Align button ("Align current texture layers") being offset in build menu texture tab 2022-11-30 15:16:41 -08:00
Dave Parks dc4f65a2ec SL-18745 Fix for LLVertexBuffer assertion on shutdown. 2022-11-30 14:22:10 -06:00
Dave Parks 0186707937 Merge branch 'DRTVWR-559' of github.com:secondlife/viewer into DRTVWR-559 2022-11-30 13:25:25 -06:00
Dave Parks 87bb72a47a SL-18154 WIP -- CPU sampling (AMD uProf) profile guided optimizations to reduce CPU usage of background threads. 2022-11-30 13:25:00 -06:00
Brad Kittenbrink 0d58d3ee7a Merge remote-tracking branch 'origin/DRTVWR-559' into DRTVWR-559 2022-11-30 09:29:48 -08:00
cosmic-linden c99c24939a
Merge pull request #16 from secondlife/SL-18732
Sl 18732: Fix responsiveness of GLTF texture transform controls in build floater
2022-11-30 09:27:22 -08:00
Cosmic Linden fd19fb2f91 SL-18732: Fix clang build error 2022-11-29 16:01:27 -08:00
Cosmic Linden bfcb07270e SL-18732: Review feedback 2022-11-29 15:20:44 -08:00
Cosmic Linden cf86c23dfe SL-18732: Pass material list callbacks by reference 2022-11-29 14:23:18 -08:00
Cosmic Linden 361571cdb3 SL-18732: Use override update callback for LLMaterialEditor::updateLive as well 2022-11-29 13:51:23 -08:00
Andrey Kleshchev 9f7967fcdc SL-18727 Save material to Inventoryshould prioritize picked face 2022-11-29 23:36:37 +02:00
Cosmic Linden f313a762fc SL-18732: Fix texture transform controls not updating when switching which texture to edit 2022-11-29 13:26:04 -08:00
Cosmic Linden a989eba080 SL-18732: Fix flickering of control values when changing GLTF texture transforms in build floater 2022-11-29 13:26:04 -08:00
akleshchev 78feca373e
SL-12069 Backed out changeset: 544a91982eba (#13)
Originally a fix for MAINT-4773/SL-5842 (transparent alpha being white). Reverting due to a critical flaw of the fix replacing material (sometimes server side included). And ignoring user and script input in some cases that makes scripts misbehave.

Viewer should Not modify existing content of own volition.
2022-11-29 21:42:43 +02:00
Brad Kittenbrink e9db970b67 Fix environment/moonV.glsl attribute usage after DRTVWR-528 merge 2022-11-29 10:28:25 -08:00
Dave Parks adbd264d35 Merge branch 'DRTVWR-559' of github.com:secondlife/viewer into DRTVWR-559 2022-11-29 10:50:58 -06:00
Dave Parks e46323b0b9 SL-18682 WIP -- Clear BOOST_SELECTED as needed. GL 3.2 compatibility pass. Fix for stack underflow when reflection probes disabled. 2022-11-29 10:50:25 -06: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
Brad Kittenbrink a887c486b4 Merge remote-tracking branch 'origin/DRTVWR-528' into DRTVWR-559 2022-11-28 16:24:53 -08:00