Commit Graph

21 Commits

Author SHA1 Message Date
Shyotl
736696ac36 Track glEnable states via static refs instead of map lookups.
Sync light state, bound shader, and various gl context states similarly to render matrices.
Texture handles now refcounted, as multiple viewer textures could ref the same handle (cubemaps do this)
Clean up gl extension loading a bit. Not necessary, but only look for ARB variants if not included in current core version. Removed unused extensions.
Use core shader api if supported, else use ARB. (FN signatures are identical. Just doing some pointer substitution to ARB if not core.)
Attempt at improving VBO update batching. Subdata updates better batched to gether per-frame.
There's probably other stuff I forgot that is in this changeset, too.

Todo: Fix lightstate assertion when toggling fullscreen with shaders off.
2018-11-19 00:37:48 -06:00
Shyotl
f4a713a500 Merge. 2017-03-14 04:02:53 -05:00
Shyotl
1c627317ec No longer include llerrorlegacy.h. Updated llstl to include deletion utilites. 2015-06-19 03:54:20 -05:00
Shyotl
8441bc80a4 Use LLStaticHashedString for faster uniform lookup. 2013-10-26 16:26:46 -05:00
Aleric Inglewood
06730d1a7e Fix recursive calls to LLWaterParamManager::initSingleton and LLWLParamManager::initSingleton 2013-03-19 22:44:01 +01:00
Aleric Inglewood
15b6593143 Large snapshot update (part 2) 2012-12-14 02:31:08 +01:00
Aleric Inglewood
caef97ad36 Print all libcurl calls if -DDEBUG_CURLIO. Don't create static lib for cwdebug.
Basically, cmake doesn't support linking static libs into a shared lib.
The correct way is to just specify source files in subdirectories
directly as source files of the shared library. This patch changes that.

Also, after this commit, when DEBUG_CURLIO is defined, every call to
libcurl is printed to llinfos (or to dc::curl when using libcwd).
2012-08-05 18:51:21 +02:00
Shyotl
b49ad1cd34 RLVa impl updated to that used in v3. Hooked RLVa restrictions back into wearables. New RLVa floater: 'Locks...' Also updated 'Restrictions...' floater. 2012-04-12 10:29:45 -05:00
Siana Gearz
459751f206 Catching up with Lindies part 1 2012-03-25 09:31:03 +02:00
Shyotl
f7b2139e81 Renderer update. Incl mac fixes, DoF improvements, windlight floater code cleanup. (shining-fixes merge) 2012-02-09 14:26:21 -06:00
Siana Gearz
55cce46454 Restoring preset loading 2012-02-01 09:59:31 +01:00
Siana Gearz
071745007a Partial port of Phoenix Windlight parts 2012-02-01 06:36:10 +01:00
Shyotl
6374f012de new fasttimers, including ui. 2012-01-23 18:30:54 -06:00
Shyotl
87bada69fa GCC fixup 2011-09-09 14:42:59 -05:00
Shyotl
443d4e9f56 Windlight/water parameter managers now derived from standard LLSingleton instead of using some silly redundant clone. 2011-09-02 06:35:53 -05:00
Shyotl
bff63ac682 Parammanagers are really not done well. Added manager-specific shader lists instead of just having them dig down the global list every update. 2011-08-09 04:30:35 -05:00
Aleric Inglewood
5d87098bd0 Port Viewer 2 indra/llvfs
This introduces some API changes, like the new LLDirIterator,
that causes changes elsewhere.

It also include Log Linden's cache changes that aren't in
viewer-development yet that increase the maximum cache size
to ~10 GB.
2011-06-06 21:38:58 +02:00
Aleric Inglewood
1ced64e0b4 Add LLWeb::curlEscape
Since curl 7.21.2 - (October 13 2010), curl_escape (a deprecated
function that will be removed in the future) changed it's behavior
and no longer escapes the characters '-', '.', '_' and '~'.

The only reasonable solution for us is to stop using it and
use our own version that mimics the old behavior. The only
other alternative would be to rename every .xml file with
escaped characters in their name upon installation, depending
on the behavior of the installed libcurl (on standalone anyway).
However, if you add to that in the future curl_escape has to
be replaced with curl_easy_escape, which is far from easy to
call as it requires a CURL to be passed for which LL invented
a wrapper in libllmessage, but did hide that (Curl::Easy is
only defined in a .cpp file), then we're better of just using
our own function, which I named LLWeb::curlEscape.
2011-05-02 20:15:50 +02:00
Shyotl
1b039a1be6 Deferred has sky and water textures now. Underwater is still borked.
Deferred fastalpha behaves a bit better.
Pulled over patch for https://jira.secondlife.com/browse/STORM-336 and https://jira.secondlife.com/browse/STORM-1011 from linden repo
Sky rendered using new LL method. Assuming this fixes issues on AMD cards(works on cat 11.2)
Added a few things missed related to spatial-parition updating.
Added 'SkipReflectOcclusionUpdates' setting that prevents occlusion updates for reflection pass. Less taxing on CPU.
2011-03-10 23:06:46 -06:00
Beeks
015bfe5bd7 Preliminary work for Day Cycle selecting.
Signed-off-by: Beeks <HgDelirium@gmail.com>
2010-10-06 14:44:29 -04:00
Hazim Gazov
7a86d01598 Imported existing code 2010-04-02 02:48:44 -03:00