Fix a nullptr usage.
Have LLRender::color4ub fall back to uniform if bound vbo lacks color attribute. Fixed fixed-function call in LLFacePool::LLOverrideFaceColor::setColor.
Disable some diagnostic gunk eating memory.
sunlight_color_copy need only be vec3.
Try some swizzling instead of forcing everything to rgba8 with core profile. Avoids manual conversions with scratch buffers. Works for all pixel datatypes. Cleaner. Uses less vram.
Also, fixed textures when running core pofile.
Toyed with gl init ordering. Fixes adaptive vsync. May explode on linux, not that adaptive vsync works there, but it should in theory work there if we ever port to sdl2. If it does explode, I'll know shortly... probably.
Try mask-based object shader configuration, instead of a bazillion hard-coded shader globals. Should be a bit more consistent. (non-deferred only, for now)
Also abuse discard in alpha shaders, instead of processing invisible fragments.
Determine if to stuff shiny data into alpha component a bit differently. Cuts out a lot of crazy logic and lets us choose based off of target renderpass.
Kill stray #endif that snuck into commit.
Use the right diffuse shader for skinned deferred diffuse simple object shader.
Removed unused preprocessor definition in objectSkinV.glsl
Decouple vbo validation from LLDrawInfo. Such required vbo's to be initialized before drawinfo creation/modification, which is no longer the case with llvovolume. ('RenderDelayVBUpdate'[although removed in Singu] also fails the same assumption.)
Decouple vbo validation from LLDrawInfo. Such required vbo's to be initialized before drawinfo creation/modification, which is no longer the case with llvovolume. ('RenderDelayVBUpdate'[although removed in Singu] also fails the same assumption.)
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.
Removed some diagnostic spam pertaining to shaders.
Fix a LLVertexBuffer::validateRange call that I hosed up pretty badly.
Remove deprecated gl call in renderComplexityDisplay.
Merge branch 'master' of git@github.com:Shyotl/SingularityViewer.git

Conflicts:
	indra/newview/llvopartgroup.cpp
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.
Merge branch 'master' of git@github.com:singularity-viewer/SingularityViewer.git