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
Lirusaito
5c786e40ed
Update mIsHD3K patch to Drake's impl
...
Hopefully that'll squish the bug once and for all.
2016-06-14 04:11:26 -04:00
Shyotl
be5d2f20bc
llrender and lldir merge. Removed duplicate assets from skins. cleaned up skin textures.xml files to only include changes from default.
2016-04-11 02:51:08 -05:00
Lirusaito
6a95f3b692
Fix Issue 1654 based on Shyotl's notes and work in Alchemy.
...
That's the Intel HD 3000 on Windows can't do ALM bug, by the way.
#close SV-1654
2016-02-22 20:51:22 -05:00
Shyotl
09f3376259
Apparently there's some poor branch prediction behavior with various gcc versions. Apply tweak from v3 in assert_glerror().
2015-07-23 01:39:50 -05:00
Shyotl
1c627317ec
No longer include llerrorlegacy.h. Updated llstl to include deletion utilites.
2015-06-19 03:54:20 -05:00
Inusaito Sayori
844444c33b
Optimize loops calling endInstances()
...
Thankies to Drake Arconis/Alchemy~
2015-01-12 18:06:49 -05:00
Shyotl
9cbcf8fe34
Removed glh_linear and glu dependencies from viewer.
2014-07-03 02:11:45 -05:00
Shyotl
5cb5d284c3
Initialize LLRender::mHasTextureSwizzle to false.
2014-06-22 03:44:48 -05:00
Shyotl
061178ad82
Migrated gl matrix stack to LLMatrix4a
2014-06-22 03:34:51 -05:00
Shyotl
8f6a578ec0
Migration to LLMatrix4a instead of glh::matrix4f
2014-06-15 22:42:32 -05:00
Shyotl
a1eb30ae87
Keep old non-swizzle method around since GL_ARB_texture_swizzle has poor support prior to 3.3 (on osx especially)
2014-05-17 18:25:21 -05:00
Shyotl
0a89503edd
Renamed glUniformMatrix3x4fvARB to glUniformMatrix3x4fv, since I don't think it ever had the ARB postfix. Also use its the properly named (although identical to the current) function pointer signature.
2014-05-17 04:04:33 -05:00
Shyotl
67c8ac2b04
Skinned shaders were exceeding maximum amount of vertex uniforms on amd hardware.
...
-Changed the transform matrix uniform to a 3x4 matrix and packed translation into it to free up uniforms. (3x3 is converted to 3x4 internally, so we were needlessly eating 3*52 extra uniform slots. translationPalette might also have been treated as a vec4 internally too, wasting 52 more slots.)
-matrix3x4 requires opengl2.1 and newer, so added a new featuretable mask.
-Also added a featuretable mask to disable hardware skinning and deferred shading on hardware with less than 1024 vertex uniforms.
NOTE: On old old old amd hardware, evidently a 3x4 matrix might be upgraded to 4x4. I'm unsure, but I doubt such hardware has 1024+ uniform components available to begin with. 4x3 supposedly doesn't do this, but opengl is column-major, so this makes little sense.
2014-05-17 03:31:45 -05:00
Shyotl
d6fdaa93a4
Added adaptive vsync support (selectable in preferences->graphics->hardware, provided the driver supports it). Also hide 16x fsaa on amd hardware, as it is not supported on said hardware (unsure about intel).
2014-03-28 02:34:03 -05:00
Siana Gearz
a5103a1fc1
Sprinkle some Intel GPU support on Linux
2013-11-18 04:22:21 +01:00
Shyotl
77eb928380
Add LLGLManager::mIsMobileGF
2013-11-02 03:33:21 -05:00
Shyotl
8e55d5499e
Occlusion FBOs in deferred.
2013-10-26 18:07:56 -05:00
Drake Arconis
3fac86158c
General cleanup of unused variable warnings
2013-03-04 16:04:05 -05:00
Drake Arconis
b800320a49
Remove LLMemType and related files
2013-03-04 12:02:01 -05:00
Shyotl
d71210e942
Trivial changes, mostly to clean up diff noise. Majority of changes are comment corrections or licenseinfo updates. (does not include newview directory)
2013-01-07 14:44:54 -06:00
Shyotl
794dbacea3
Merge branch 'master' of https://github.com/AlericInglewood/SingularityViewer.git into testpit
...
Conflicts:
indra/newview/lldrawpoolavatar.cpp
indra/newview/llviewertexturelist.cpp
indra/newview/llworldmap.cpp
indra/newview/pipeline.cpp
2012-11-29 11:54:41 -06:00
Shyotl
d54daa19a0
Allow trial of trasform feedback (for testing/benchmark) on hardware that declares support for GL_EXT_transform_feedback. Performance is far less than satisfactory on my hd4870(ogl3.3 gpu), however. Also messes up texcoords. Don't add RenderUseTransformFeedback to settings.xml.
2012-11-09 18:10:39 -06:00
Aleric Inglewood
f3780998ed
Always reset stream state after using std::hex
2012-09-20 16:50:03 +02:00
Drake Arconis
7a7da24df5
Merge remote-tracking branch 'shyotl/V2MultiWear' into AltCompilers
2012-07-15 22:22:01 -04:00
Shyotl
46f7250f08
Fixup multisample rbos. Samplecount validation all done in LLMultisampleBuffer::allocate, and falls back to non-multisample safely if multisampled rbos cannot/shouldn't be used.
2012-07-15 21:12:31 -05:00
Drake Arconis
ccb914ea83
General cleanup of OSX support - not done
...
Updated with new cursors from LL
Corrected mispackaged OSX Libs
Corrected mouse flicker on menus
Signed-off-by: Drake Arconis <lightdrake@gmail.com >
2012-07-15 17:45:50 -04:00
Shyotl
67e1a3b004
Lindie viewer-dev catchup regarding rendering pipeline.
2012-06-30 20:05:31 -05:00
Shyotl
51a4e4960f
V3 merge. Added LLMainLoopRepeater repeater. Disabled FBOs for baking. Fixed typo in strings.xml. Setting ThrottleBandwidthKBPS was used in a few places that MainloopTimeoutDefault should have been. Better outdated driver detection for ATI hardware.
2012-05-28 03:59:19 -05:00
Shyotl
e1d243272f
V3 merge part 1 / 2.
2012-04-13 22:39:39 -05:00
Shyotl
1d402bfe39
Verify vert attrib disable state if only running in non-fixed-function.
2012-04-12 10:37:37 -05:00
Shyotl
06068a0361
Disable FBOs on intel gpus running with pre-GL3.x drivers.
2012-04-12 10:36:28 -05:00
Siana Gearz
be9f3178c0
Fixies, missed files
2012-03-28 01:45:10 +02:00
Siana Gearz
70438fa06f
Catching up with Lindies part 3
2012-03-26 15:01:53 +02:00
Siana Gearz
3f0f955a76
Catching up with Lindies part 2
2012-03-25 10:47:20 +02:00
Shyotl
9453c2c2e9
Memory tracking system updated.
2012-01-29 01:33:14 -06:00
Shyotl
ffb285c6ff
Huge renderer update (WIP). Still plenty to do, especially pertaining to UI.
...
-Nametag bubble visbility is oddly inconsistent. May vanish with future planned UI merges...
-VBOs are PAINFULLY slow on ATI hardware. This repos self-compiled davep/shining-fixes branch, so I'll leave the ball in LL's court for now regarding that.
2011-12-09 14:02:29 -06:00
Shyotl
9f9daba33d
Missed some glRotatef -> gGL.rotatef conversions.
2011-11-23 23:39:42 -06:00
Shyotl
83e8a9076b
Several gl calls now wrapped via LLRender (gGL) as prep for future changes:
...
glMatrixMode -> gGL.matrixMode
..GL_MODELVIEW -> LLRender::MM_MODELVIEW
..GL_POJECTION -> LLRender::MM_PROJECTION
..GL_TEXTURE -> LLRender::MM_TEXTURE
glMultMatrix -> gGL.multMatrix
glLoadMatrixf -> gGL.loadMatrix
glPushMatrix -> gGL.pushMatrix
glPopMatrix -> gGL.popMatrix
glLoadIdentity -> gGL.loadIdentity
glRotatef -> gGL.rotatef
glTransformf -> gGL.transformf
glOrtho -> gGL.ortho
glColor3f -> gGL.diffuseColor3f
glColor3fv -> gGL.diffuseColor3fv
glColor4f -> gGL.diffuseColor4f
glColor4fv -> gGL.diffuseColor4fv
glColor4ubv -> gGL.diffuseColor4ubv
glLightModelfv(GL_LIGHT_MODEL_AMBIENT -> gGL.
2011-11-21 15:55:44 -06:00
Siana Gearz
cc45a24aff
Darwin doesn't use extension function pointer mechanism
2011-10-28 02:05:09 +02:00
Shyotl
5d6aadb268
Prevent estimated vram value from being clobbered if glGetIntegerv memory query returns something too small.
2011-10-19 09:53:44 -05:00
Shyotl
58ea5f88dc
Spew llinfos for opengl procs that aren't found.
2011-10-17 19:06:22 -05:00
Shyotl
3b435fe056
Skip checkClientArrays if not using fixed-function
2011-09-09 14:39:44 -05:00
Shyotl
174c1800cc
llgl/llglext updated. TODO: repackage glext from ll's viewer-development branch so this will compile. (I manually extracted glext-68-windows-20110406.tar.bz2 in my build environment just for now.)
2011-08-27 04:49:51 -05:00
Shyotl
ecce8ad23a
Instancetracker update. LLInstanceTrackerScopedGuard was deprecated, now removed.
2011-08-18 00:23:59 -05:00
Shyotl
f551294e66
Alphamasking migrated to shaders instead of using fixed-function. Very early code. Hasn't even made it into viewer-development yet.
2011-08-12 19:20:11 -05:00
Shyotl
9bda97786f
Batch indexing/no-fixed-function WIP.
2011-08-09 01:11:05 -05:00
Shyotl
9e061d5e35
Apparently MacGL crashes on for loops of variable length. Also, cleaned up a few minor things.
2011-07-18 03:30:58 -05:00
Shyotl
71eec1caed
Improved error handling (introduced debugsession commandline argument). Startup/shutdown now more verbose. SSE checks if project was compiled with SSE(2)... not sure if windows would reach it if hardware lacked support, but linux/mac may (from V2). Fixed Mac crashes in deferred.
2011-05-28 01:46:11 -05:00
Shyotl
62e3aa10c1
Reasonably safe changes.
...
Using accessor for vertexbuffer in LLFace
Extra occlusion query lookup in llgl (unused)
Const changes.
2011-05-18 14:35:27 -05:00