Age | Commit message (Collapse) | Author |
|
|
|
|
|
(#2507)
|
|
|
|
|
|
Merge updated 'main' branch into release/luau-scripting
|
|
|
|
Collection of vertex buffers happens to often with segmented text.
|
|
|
|
|
|
|
|
In a few locations, there were cases where connection shutdown
would stall, leaving the connection in place. This was due to
bad handling of the outstanding operations counter.
|
|
|
|
|
|
|
|
|
|
|
|
cherry pick fix for #2490 into DeltaFPS
|
|
handled by viewer in unpredictable manner
|
|
|
|
|
|
|
|
Changes on new main and changes on Lua project branch combined into a header
circularity. Resolved by hoisting coroutine-aware synchronization primitives
out to a new llcoromutex.h file in the `llcoro` namespace, rather than being
literally members of the `LLCoros` class. But retained `using` declarations in
`LLCoros` for backwards compatibility.
|
|
unsupported (#2491)
fixes secondlife/viewer#1856
|
|
|
|
- Use GL_NVX_gpu_memory_info when available
- Disable transparent water on Mid+ and lower
- Adjust GPU benchmark to better tell the truth
- Texture bias tune up
- viewer-private/#277 - Report foreground_time in viewer stats
|
|
secondlife/viewer#2490: Fix PBR terrain texture transform feature flag handled by viewer in unpredictable manner
|
|
|
|
|
|
|
|
`LL.setdtor(desc, table, func)` eventually calls `func(table)`. So the
`close()` method on the table returned by `result_view()` can be directly
passed to `setdtor()`, instead of wrapped in a new anonymous function whose
only job is to pass the table to it.
Moreover, there's no need for the table returned by LLInventory.lua's
`result()` function to lazily instantiate the `result_view()` for `categories`
or `items`: neither `result_view` will fetch a slice unless asked. Just return
`{categories=result_view(...), items=result_view(...), close=...}`. This
dramatically simplifies the `result()` function.
Since that table also defines a `close()` function, that too can be passed
directly to `setdtor()` without being wrapped in a new anonymous function.
|
|
Make test_LLInventory.lua directly select from the calling_cards result set,
instead of first copying all names to a separate array.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
handled by viewer in unpredictable manner
|
|
This is the query that produced so many results that, before we lifted the
infinite-loop interrupt limit, inspect(result) hit the limit and terminated.
|
|
functions (#2488)
|
|
Change `result_view()` from a simple function to a callable table so we can
add conventional/default functions to it: `result_view.fetch()` is a generic
`fetch()` function suitable for use with `result_view()`, and `result_view.close()`
is a variadic function that closes result sets for whichever keys are passed.
This arises from the fact that any `LL::ResultSet` subclass is accessed
generically through its base class, therefore we don't need distinct
"getSlice" and "closeResult" operations for different `LLEventAPI` listeners.
(It might make sense to relocate those operations to a new generic listener,
but for now "LLInventory" works.)
That lets `result_view()`'s caller omit the `fetch` parameter unless it
requires special behavior. Omitting it uses the generic `result_view.fetch()`
function.
Moreover, every view returned by `result_view()` now contains a close()
function that closes that view's result set.
The table returned by LLInventory.lua's `result()` function has a `close()`
method; that method can now call `result_view.close()` with the two keys of
interest. That table's `__index()` metamethod can now leverage `result_view()`'s
default `fetch` function.
|
|
Fix visualizing luminance buffer and small cleanup
|
|
|
|
When asked to retrieve a slice starting at an `index > 0`, `getSliceStart()` was
returning an LLSD array whose first `index` entries were `isUndefined()`,
followed by the desired data. Fix to omit those undefined entries.
|
|
secondlife/viewer#2483: Fix label typo in PBR terrain texture transforms tab
|
|
That includes scripts run by LLLUAmanager::runScriptFile(), runScriptLine()
et al.
|
|
At this point, inspect(landmarks) just returns "<userdata 1>".
|
|
|