Commit Graph

205 Commits (d4e9604700a1dbae3dbce58a3be0fda1465fd39c)

Author SHA1 Message Date
Dave Parks 60cc58fbfc SL-17967 Fix for confounding program and shader objects when fetching logs and fix for gl errors on AMD windows 2022-09-02 21:05:53 -05:00
Dave Parks 00b1fec960 SL-17967 Purge OpenGL extensions (use core API only) 2022-09-02 19:53:56 -05:00
Howard Stearns 88e1740d20 SL-17967 - block layout binding acceptable to apple 2022-09-01 16:18:14 -07:00
Howard Stearns 2082443220 SL-17967 - Git rid of ARB that is in core 2022-09-01 10:58:27 -07:00
Brad Kittenbrink 6b85705951 fixing DRTVWR-559 glext usage on mac by upgrading to use khronos distributed glext.h 2022-06-23 22:53:36 -07:00
Nicky 95d5938eef Merge remote-tracking branch 'origin/DRTVWR-543-maint_cmake' into DRTVWR-543-maint_cmake 2022-06-05 14:27:28 +02:00
Dave Houlton 02c71b0ac2 Merge branch 'master' v 6.6.1 into DRTVWR-528 2022-05-26 11:18:44 -06:00
Dave Parks 3400e5fd30 SL-17284 Reflection probe tuning and optimization take 1 2022-05-16 17:21:08 +00:00
Dave Parks 93260cfeff SL-17283 LLReflectionMapManager prototype. Remove snapshot code related overhead from reflection map renders. Add parallax correction and support for multiple reflection maps. 2022-05-04 16:07:50 +00:00
Dave Parks 93a0259666 SL-17282 prototype mixing of reflection map into legacy materials 2022-04-29 13:51:11 +00:00
Nicky 7038e3e358 Use correct type 2022-04-18 16:46:59 +02:00
Ptolemy 97552d2e75 SL-16606: Add profiler category SHADER 2022-01-14 11:50:20 -08:00
Dave Houlton 68e09edad0 SL-16386 remove references to (const true) LLGLSLShader::sNoFixedFunction 2021-11-30 17:04:35 -07:00
Dave Parks 28f9fb06a9 SL-16289 Rigged mesh rendering overhaul 2021-11-20 18:49:19 +00:00
Andrey Kleshchev 7ce17542d4 DRTVWR-528 Reverting multiple commits due to moving them into D546 branch
This reverts commits
9b5b2eac82  SL-15933
53c0144dd2  SL-11687
492ea7c3a0 SL-16056
b854eceee3 SL-15391
921c3f5f69 SL-13561
639acb6ff7 SL-15333
2021-11-12 17:44:40 +02:00
Andrey Kleshchev c1c2830f9b SL-15391 Crash at getUniformLocation 2021-11-12 17:31:36 +02:00
Dave Parks d2dce17803 SL-16197 Optimize LLEnvironment handling of shader uniforms. Instrument LLSD. Enable Fast Timers when Tracy is enabled to catch Fast Timer overhead. 2021-10-19 02:26:41 +00:00
Runitai Linden e7227afe02 SL-16166 Apply optimizations from pushBatch to other render call sites. Optimize out a map lookup in rigged face rendering. 2021-10-14 13:02:40 -05:00
Dave Parks d00272e0cc SL-16099 Multi-threaded OpenGL usage on Windows, enable Core Profile and VAOs by default. 2021-10-11 16:03:40 +00:00
Dave Houlton 4c07eaa560 SL-16138 Add timing mark-up to shader fxns 2021-10-06 10:59:00 -06:00
Dave Houlton f0e31b6c82 SL-16138 Avoid re-binding a shader which is already bound 2021-10-05 13:29:46 -06:00
Dave Parks 675514bdb3 SL-16093 Don't force the console window to be open on developer builds because it causes frame stalls while logging. 2021-09-27 23:56:06 +00:00
Dave Parks f79890669d SL-16006 and SL-16009 Rigged mesh rendering optimization pass 2021-09-20 18:58:09 +00:00
Andrey Kleshchev b854eceee3 SL-15391 Crash at getUniformLocation 2021-06-11 21:17:22 +03:00
Dave Houlton 9dc6a6a1b7 Merge branch 'master' into DV528-merge-6.4.20 2021-06-07 15:35:17 -06:00
Ptolemy d3c439b374 SL-14113: Remove useless last digit in constant to help readability based on Euclid's feedback 2021-04-29 14:17:01 -07:00
Ptolemy 3f4b8423a4 SL-14113: Merge duplicate shader constant for clarity. 2021-04-29 14:17:01 -07:00
Ptolemy e371fdbf31 SL-14113: Remove magic numbers. Take advantage of existing shader #defines injection by extending shader loading to make use of addConstant() instead of hard-coding magic number constants in each GLSL file. 2021-04-29 14:07:57 -07:00
Andrey Kleshchev d357bf7ae5 SL-14990 Turn on shader init logging after crash 2021-04-01 19:44:56 +03:00
Ptolemy d43b8d8551 SL-13019: Add debug logging of shaders used to track down macOSX / OSX GLSL linker errors 2020-04-15 15:54:38 -07:00
Ptolemy a387b38d20 Cleanup to coding standard 2020-04-15 15:54:38 -07:00
Graham Linden 230c9b68d8 Remove binding and use of glIsShader for now (only useful for avoiding warnings about deleting shader objects re-used across programs). 2019-07-22 16:24:49 -07:00
Graham Linden b346624307 SL-10761
Make vograss objects set their face vert/index counts to 0 when setting
the number of blades to 0 to disable rendering so we don't allocate space
and then skip setting it up with actual index data in getGeometry.
2019-07-22 15:44:35 -07:00
Graham Linden c4032528af Roll back sRGB decode changes from contrib for now.
Fix direct light matching across alpha/blended-material/deferred.

Get diffuse lighting to match from Low to Ultra.
2019-05-02 13:49:35 -07:00
Geenz 08812cbe06 Separate out vertex program objects from fragment program objects and use it.
Given that mShaderObjects only ever expects one copy of a given shader object (leading to lots of "shaderV" and "shaderF"), it made having utility shaders a bit more difficult to incorporate.
This change makes sure the two are separated.  Using this over a multimap largely for readibility.

Also, actually, you know, use this functionality.

--HG--
branch : OPEN-340
2019-04-10 02:11:07 -07:00
Geenz 2513aa0ed1 Additional gamma correction work: start moving over to EXT_texture_sRGB_decode. 2019-03-30 03:18:02 -07:00
Graham Linden 898c9f4421 Mods to make merge with viewer-release have less whitespace-only change and fix diffs between EEP and VR. 2019-03-13 13:21:48 -07:00
Graham Linden 868cd32e5e More tab restoration.
Also fix ref to removed extra GLSL link module.

'warn-on-failure:no-tabs'
2019-03-12 11:07:23 -07:00
Graham Linden 15270f697a Tab restoration project.
'warn-on-failure:no-tabs'
2019-03-12 10:52:00 -07:00
Graham Linden 53f3755a46 Fix tabs. 2019-03-07 15:09:34 -08:00
Graham Linden 423fa1ac29 SL-10618, SL-10698
Fix reflection/distortion map culling planes again.

Fix broken handling of shadow disables in ALM forward shaders.
2019-03-07 10:56:26 -08:00
Graham Linden acbc7f4cdd SL-10415, SL-10434
Further tweaking of directional shadow sampling to balance between peter-panning and shadow acne.

Move stars to just this side of the sky some to reduce parallax.

Remove decodeNormF and uses of decode_normal in favor of unified use of getNorm
(try to help the Intel HD x000 compiler learn to link correctly).
2019-01-30 08:37:07 -08:00
Graham Linden 7e9033821a De-duplicate deferred gbuffer access for getPosition/getNorm.
De-duplicate ambient occlusion shader code and move to new aoUtil.glsl

Split shared shadow tap funcs into shadowUtil.glsl
2018-12-06 10:59:11 -08:00
Graham Linden a49e2b604e SL-10044 SL-10045
Fix class 1 and 2 transport/gamma funcs and made usage consistent across all shaders.

Fix class1\environment\waterV reverting to old d1/d2 names for wave directions.
2018-11-12 15:54:53 -08:00
Graham Linden 2929998982 Move to using a shared deferredUtil object for getting pos/norm from gbuffer.
Eliminate 20+ callsites with copy-paste of getPosition and/or getNorm code.

Make pipeline use getShadowTarget/releaseShadowTarget consistently.
2018-11-06 19:33:04 +00:00
Graham Linden fb335cc243 SL-10000 fix storing of ambient value when converting legacy settings 2018-11-01 18:26:24 +01:00
Graham Linden 536799d07e SL-9977
SL-9973
2018-10-29 23:02:20 +01:00
Graham Linden 2e55eae9cc Merge and fix MAINT-9087 and MAINT-9084 2018-09-04 23:08:20 +01:00
Graham Linden 6dd9dd3ab6 MAINT-9064
Fix binding of current/next sun/moon textures.

Remove redundant code in GLSLShader determination of tex uniform bindings.

Unhack mix calls in sun/moon shaders to reverse sense of blending (was working around reversed bindings).
2018-08-30 17:54:59 +01:00
Graham Linden a0598b1265 Fix water fog consolidation in underwater shaders.
Add plumbing facilities to allow current and next moon textures to be passed to moon shader.

Modify moon shader to blend between current and next moon textures by blend factor.
2018-06-11 17:46:16 +01:00
Graham Linden 8cfdc07e79 Code cleanup and move to using typedefs of S64Seconds/F64Seconds for ease in sync w/ sim side which has not llunits types. 2018-06-01 23:32:30 +01:00
Graham Linden 37e8fd20c3 Merge to 5.1.6 2018-06-01 15:34:21 +01:00
Rider Linden bd84cbfa11 Merge 2018-05-31 11:49:27 -07:00
Graham Linden graham@lindenlab.com 190fa8614c Remove MSVC debug pragmas and comment out code to dump example grids.xml file w/ hard-coded grids. 2018-05-18 23:16:56 +01:00
Graham Linden graham@lindenlab.com 3116416fcb Le Merge 2018-05-01 00:10:11 +01:00
Graham Linden graham@lindenlab.com 98b2fed85f De-duplicate shader code for encoding and decoding normals to/from gbuffer format. 2018-03-12 17:52:04 +01:00
Graham Linden graham@lindenlab.com cf460b13be De-duplicate sRGB conversion funcs from many shaders
and unify on using the version that works on OSX.

Add more logging to shader loading about fallbacks and loading succcess.

Add frag shaders for sharing sRGB and normal encode/decode via GL shader linkage.
2018-03-12 16:24:16 +01:00
Graham Linden graham@lindenlab.com 5517eb3f6f Remove MSVC pragmas breaking OSX build. 2018-03-03 01:08:58 +00:00
Graham Linden graham@lindenlab.com 6303ef5763 Redo advanced atmo shader integration with SL. 2018-02-26 16:38:50 +00:00
Graham Linden graham@lindenlab.com 99b82d9449 Atmospherics WIP
libatmosphere integrated in indra/llrender/llatmosphere.cpp

Still working on runtime shaders to use libatmosphere precomputed atmospherics textures
2018-02-18 15:52:23 +00:00
ruslantproductengine 55990724a3 Keep attributes name (useful for debug) 2018-01-30 17:07:00 +02:00
ruslantproductengine df376c0299 MAINT-6437 - Tile-Based Texture Animation Scales Incorrectly for Rigged Mesh when worn (MacOS only)
FIXED.
2017-12-26 18:20:06 +02:00
Rider Linden 0d414c1fb5 Clouds still funky but better. 2017-09-26 09:19:20 -07:00
Rider Linden 5d3599f5d1 Merge 2017-09-22 09:18:34 -07:00
Rider Linden d4d0520f38 Cleanup inside GLSLShader for uniform mapping. 2017-09-20 14:29:36 -07:00
Nat Goodspeed d1ab470542 DRTVWR-418: Fix C++ errors detected by Xcode 9.
You can't legitimately perform an ordered comparison between a pointer and an
int, even 0. Fix a number of 'if (ptr > 0)' to plain 'if (ptr)'.

Fix LLEditWearableDictionary::WearableEntry constructor to avoid varargs
mechanism. It used to accept three different counts, followed by three
different lists of enums, fetched in each case as 'int' -- dubious in itself.
The constructor body performed three different loops to populate those enums
into three different member vectors.

Instead, make the constructor accept three vectors and initialize the member
vectors from the passed vectors. Now that C++ has inline vector
initialization, change existing constructor calls to pass temporary vectors
initialized with what used to be the varargs enum values.
2017-09-20 16:58:58 -04:00
Brad Payne (Vir Linden) 5fb30e5ad3 MAINT-6913 - (Via Sovereign Engineer and Shyotl Kuhr) Pack the skinned matrix and translation into a single mat3x4 for optimal data transfer to reduce uniform slot usage. 2016-11-11 09:37:45 -05:00
ruslantproductengine eebbda288d Backed out changeset: 5fe5ad059c05 2016-07-18 20:09:18 +03:00
callum_linden 05fcb7c812 Automated merge with tip of viewer-release 2016-05-23 16:50:56 -07:00
ruslantproductengine 1b5af4be29 Add invert texture coordinates for media textures. 2016-05-13 18:47:23 +03:00
Oz Linden 950c41d184 merge 4.0.4-release and MAINT-5974 2016-05-06 10:28:42 -04:00
ruslantproductengine 48016ff54b MAINT-6286 Viewer 4.0.3.312680 ignores settings for Shaders in Graphics Preferences for ATI Radeon HD 3800 Series graphics card 2016-04-12 19:29:35 +03:00
Oz Linden 31f3db0291 merge changes for DRTVWR-417 2016-03-16 13:08:06 -04:00
ruslantproductengine 173886fec3 MAINT-1109 FIXED Toggling graphics options causes viewer memory to increase, eventually causing the rendering pipeline to fall over and crashing the viewer
Patchset #2
2016-03-10 19:50:12 +02:00
Oz Linden bc22e58743 merge changes for 4.0.1-release 2016-01-15 16:55:04 -05:00
ruslantproductengine cbdf791fb1 MAINT-1109 Toggling graphics options causes viewer memory to increase, eventually causing the rendering pipeline to fall over and crashing the viewer
Te reason of memory leak - unloaded shaders.
Fixed.
2015-12-01 19:57:38 +02:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
ruslantproductengine 4f8f739a98 MAINT-3568 Mac OS X, ALM, Full Bright, Shininess
The reason of this bug the same as was in MAINT-4165, MAINT-4839.
I.e. in short: SL engine is sensitive to the uniform variable location.
2015-10-02 19:25:05 +03:00
ruslantproductengine 29bdf1a234 MAINT-4839 FIXED Animation of Mesh Dress doesn't work.
MAINT-4165 FIXED Crash on skinned, texture animated geometry with deferred rendering enabled.
2015-03-01 14:10:54 +02:00
Graham Linden a882d7a02b Fix for gpu_bench crash without parallels knock-on 2014-11-18 12:54:13 -08:00
Graham Linden 9eeb8344a6 Avoid using GL_ARB_timer_query functionality when not supported and protect against probably-not-NULL current bound shader pointer 2014-11-17 11:40:28 -08:00
Dave Parks d0428575fb Automated merge with http://bitbucket.org/lindenlab/viewer-release 2014-06-19 13:14:42 -05:00
Dave Parks 24f8745914 MAINT-3131 Use benchmark to determine GPU class instead of GPU table. 2014-03-19 17:57:00 -05:00
Richard Linden 5866bb7ef0 merge with release 2014-02-12 10:32:02 -08:00
Dave Parks ff8b002c3b Quite down log spam from loading shaders.
Up bone cap to 64 for rigged meshes.
2013-10-10 13:56:06 -05:00
Richard Linden 80dfbbaacd merge from viewer-release 2013-10-08 11:59:24 -07:00
Richard Linden 59628d6f85 Automated merge with http://bitbucket.org/lindenlab/viewer-release 2013-10-01 14:28:39 -07:00
Graham Linden 95e34d86b9 The unbearable lightness of being norspec 2013-09-18 18:24:16 -07:00
Richard Linden e340009fc5 second phase summer cleaning
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-09 17:11:19 -07:00
Graham Madarasz (Graham Linden) f86a7c04d3 NORSPEC-314 rollback unified srgb shader code to see if we can get past Mac 10.6.8 nV driver issues 2013-07-30 11:33:58 -07:00
Graham Linden f357269c38 NORSPEC-325 WIP restore gamma (uncorrected) attenuation and unify sRGB conversion in one place 2013-07-25 09:36:13 -07:00
Dave Parks d6d2f74fbb NORSPEC-290 Shader optimization WIP -- compatibility pass with OpenGL 3.3, slight cleanup. 2013-07-01 16:27:20 -05:00
Dave Parks d262ca32d3 Automated merge with https://bitbucket.org/lindenlab/viewer-cat 2013-07-01 10:59:46 -05:00
callum_linden bd41392b7e Merge with viewer-bear which was just merged with viewer-release 2013-06-28 13:36:41 -07:00
Dave Parks 380785e613 Automated merge with https://bitbucket.org/lindenlab/viewer-development-materials 2013-06-27 16:16:56 -05:00
Dave Parks 79029149a4 Automated merge with file:///F:%5Cviewer-bear 2013-06-21 12:51:29 -05:00
Dave Parks ccd04cd66c Occlusion culling overhaul. 2013-06-18 17:24:21 -05:00
simon 473474b949 Revert changes for MAINT-2616 due to licensing issues, need a full patch
submitted to be acceptable
2013-05-22 16:51:42 -07:00
simon abdbf45aaa MAINT-2616 : Updated my Intel driver and now have orange in buttons and
Inventory pull down bar causing blinks to screen.  Pulled in FS code,
Reviewed by Kelly
2013-05-20 11:18:12 -07:00
simon ee2fce8790 Merge downstream code and viewer-beta 2013-05-09 14:10:45 -07:00