summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llappearance/lltexlayer.cpp13
-rw-r--r--indra/llappearance/lltexlayerparams.cpp2
-rw-r--r--indra/llrender/CMakeLists.txt2
-rw-r--r--indra/llrender/llgl.cpp26
-rw-r--r--indra/llrender/llgl.h8
-rw-r--r--indra/llrender/llgldbg.cpp223
-rw-r--r--indra/llrender/llgldbg.h34
-rw-r--r--indra/llrender/llglstates.h65
-rw-r--r--indra/llrender/llrender2dutils.cpp5
-rw-r--r--indra/llrender/llrender2dutils.h2
-rw-r--r--indra/newview/lldrawpoolsimple.cpp2
-rw-r--r--indra/newview/lldrawpooltree.cpp1
-rw-r--r--indra/newview/llfloaterimagepreview.cpp1
-rw-r--r--indra/newview/llhudnametag.cpp1
-rw-r--r--indra/newview/llhudtext.cpp2
-rw-r--r--indra/newview/llmaniprotate.cpp1
-rw-r--r--indra/newview/llmanipscale.cpp5
-rw-r--r--indra/newview/llmaniptranslate.cpp3
-rw-r--r--indra/newview/llmodelpreview.cpp4
-rw-r--r--indra/newview/llselectmgr.cpp3
-rw-r--r--indra/newview/lltracker.cpp2
-rw-r--r--indra/newview/llviewerjointmesh.cpp1
-rw-r--r--indra/newview/llvoavatar.cpp10
-rw-r--r--indra/newview/pipeline.cpp14
24 files changed, 21 insertions, 409 deletions
diff --git a/indra/llappearance/lltexlayer.cpp b/indra/llappearance/lltexlayer.cpp
index e1a3a83841..473fd078cd 100644
--- a/indra/llappearance/lltexlayer.cpp
+++ b/indra/llappearance/lltexlayer.cpp
@@ -385,7 +385,6 @@ BOOL LLTexLayerSet::render( S32 x, S32 y, S32 width, S32 height, LLRenderTarget*
// clear buffer area to ensure we don't pick up UI elements
{
gGL.flush();
- LLGLDisable no_alpha(GL_ALPHA_TEST);
gAlphaMaskProgram.setMinimumAlpha(0.0f);
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
gGL.color4f( 0.f, 0.f, 0.f, 1.f );
@@ -419,7 +418,6 @@ BOOL LLTexLayerSet::render( S32 x, S32 y, S32 width, S32 height, LLRenderTarget*
gGL.flush();
gGL.setSceneBlendType(LLRender::BT_REPLACE);
- LLGLDisable no_alpha(GL_ALPHA_TEST);
gAlphaMaskProgram.setMinimumAlpha(0.f);
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
@@ -510,7 +508,6 @@ void LLTexLayerSet::renderAlphaMaskTextures(S32 x, S32 y, S32 width, S32 height,
{
// Set the alpha channel to one (clean up after previous blending)
gGL.flush();
- LLGLDisable no_alpha(GL_ALPHA_TEST);
gAlphaMaskProgram.setMinimumAlpha(0.f);
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
gGL.color4f( 0.f, 0.f, 0.f, 1.f );
@@ -1059,7 +1056,6 @@ void LLTexLayer::calculateTexLayerColor(const param_color_list_t &param_list, LL
BOOL LLTexLayer::render(S32 x, S32 y, S32 width, S32 height, LLRenderTarget* bound_target)
{
- LLGLEnable color_mat(GL_COLOR_MATERIAL);
// *TODO: Is this correct?
//gPipeline.disableLights();
stop_glerror();
@@ -1146,7 +1142,6 @@ BOOL LLTexLayer::render(S32 x, S32 y, S32 width, S32 height, LLRenderTarget* bou
if( tex )
{
bool no_alpha_test = getInfo()->mWriteAllChannels;
- LLGLDisable alpha_test(no_alpha_test ? GL_ALPHA_TEST : 0);
if (no_alpha_test)
{
gAlphaMaskProgram.setMinimumAlpha(0.f);
@@ -1196,7 +1191,6 @@ BOOL LLTexLayer::render(S32 x, S32 y, S32 width, S32 height, LLRenderTarget* bou
getInfo()->mStaticImageFileName.empty() &&
color_specified )
{
- LLGLDisable no_alpha(GL_ALPHA_TEST);
gAlphaMaskProgram.setMinimumAlpha(0.000f);
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
@@ -1295,7 +1289,6 @@ BOOL LLTexLayer::blendAlphaTexture(S32 x, S32 y, S32 width, S32 height)
LLGLTexture* tex = LLTexLayerStaticImageList::getInstance()->getTexture( getInfo()->mStaticImageFileName, getInfo()->mStaticImageIsMask );
if( tex )
{
- LLGLSNoAlphaTest gls_no_alpha_test;
gAlphaMaskProgram.setMinimumAlpha(0.f);
gGL.getTexUnit(0)->bind(tex, TRUE);
gl_rect_2d_simple_tex( width, height );
@@ -1314,7 +1307,6 @@ BOOL LLTexLayer::blendAlphaTexture(S32 x, S32 y, S32 width, S32 height)
LLGLTexture* tex = mLocalTextureObject->getImage();
if (tex)
{
- LLGLSNoAlphaTest gls_no_alpha_test;
gAlphaMaskProgram.setMinimumAlpha(0.f);
gGL.getTexUnit(0)->bind(tex);
gl_rect_2d_simple_tex( width, height );
@@ -1351,7 +1343,6 @@ void LLTexLayer::renderMorphMasks(S32 x, S32 y, S32 width, S32 height, const LLC
// Note: if the first param is a mulitply, multiply against the current buffer's alpha
if( !first_param || !first_param->getMultiplyBlend() )
{
- LLGLDisable no_alpha(GL_ALPHA_TEST);
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
// Clear the alpha
@@ -1363,7 +1354,6 @@ void LLTexLayer::renderMorphMasks(S32 x, S32 y, S32 width, S32 height, const LLC
}
// Accumulate alphas
- LLGLSNoAlphaTest gls_no_alpha_test;
gGL.color4f( 1.f, 1.f, 1.f, 1.f );
for (param_alpha_list_t::iterator iter = mParamAlphaList.begin(); iter != mParamAlphaList.end(); iter++)
{
@@ -1386,7 +1376,6 @@ void LLTexLayer::renderMorphMasks(S32 x, S32 y, S32 width, S32 height, const LLC
LLGLTexture* tex = mLocalTextureObject->getImage();
if( tex && (tex->getComponents() == 4) )
{
- LLGLSNoAlphaTest gls_no_alpha_test;
LLTexUnit::eTextureAddressMode old_mode = tex->getAddressMode();
gGL.getTexUnit(0)->bind(tex, TRUE);
@@ -1406,7 +1395,6 @@ void LLTexLayer::renderMorphMasks(S32 x, S32 y, S32 width, S32 height, const LLC
{
if( (tex->getComponents() == 4) || (tex->getComponents() == 1) )
{
- LLGLSNoAlphaTest gls_no_alpha_test;
gGL.getTexUnit(0)->bind(tex, TRUE);
gl_rect_2d_simple_tex( width, height );
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
@@ -1423,7 +1411,6 @@ void LLTexLayer::renderMorphMasks(S32 x, S32 y, S32 width, S32 height, const LLC
// Note: we're still using gGL.blendFunc( GL_DST_ALPHA, GL_ZERO );
if ( !is_approx_equal(layer_color.mV[VW], 1.f) )
{
- LLGLDisable no_alpha(GL_ALPHA_TEST);
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
gGL.color4fv(layer_color.mV);
gl_rect_2d_simple( width, height );
diff --git a/indra/llappearance/lltexlayerparams.cpp b/indra/llappearance/lltexlayerparams.cpp
index 06b4f6c75a..4b537a114f 100644
--- a/indra/llappearance/lltexlayerparams.cpp
+++ b/indra/llappearance/lltexlayerparams.cpp
@@ -346,7 +346,6 @@ BOOL LLTexLayerParamAlpha::render(S32 x, S32 y, S32 width, S32 height)
mCachedProcessedTexture->setAddressMode(LLTexUnit::TAM_CLAMP);
}
- LLGLSNoAlphaTest gls_no_alpha_test;
gGL.getTexUnit(0)->bind(mCachedProcessedTexture);
gl_rect_2d_simple_tex(width, height);
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
@@ -363,7 +362,6 @@ BOOL LLTexLayerParamAlpha::render(S32 x, S32 y, S32 width, S32 height)
}
else
{
- LLGLDisable no_alpha(GL_ALPHA_TEST);
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
gGL.color4f(0.f, 0.f, 0.f, effective_weight);
gl_rect_2d_simple(width, height);
diff --git a/indra/llrender/CMakeLists.txt b/indra/llrender/CMakeLists.txt
index 92ebdb9490..9454943dc5 100644
--- a/indra/llrender/CMakeLists.txt
+++ b/indra/llrender/CMakeLists.txt
@@ -18,7 +18,6 @@ set(llrender_SOURCE_FILES
llfontgl.cpp
llfontregistry.cpp
llgl.cpp
- llgldbg.cpp
llglslshader.cpp
llgltexture.cpp
llimagegl.cpp
@@ -46,7 +45,6 @@ set(llrender_HEADER_FILES
llfontbitmapcache.h
llfontregistry.h
llgl.h
- llgldbg.h
llglheaders.h
llglslshader.h
llglstates.h
diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp
index 303edddfaf..ae408dae4f 100644
--- a/indra/llrender/llgl.cpp
+++ b/indra/llrender/llgl.cpp
@@ -2454,32 +2454,11 @@ LLGLState::LLGLState(LLGLenum state, S32 enabled) :
mState(state), mWasEnabled(FALSE), mIsEnabled(FALSE)
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
- switch (state)
- {
- case GL_ALPHA_TEST:
- case GL_NORMALIZE:
- case GL_TEXTURE_GEN_R:
- case GL_TEXTURE_GEN_S:
- case GL_TEXTURE_GEN_T:
- case GL_TEXTURE_GEN_Q:
- case GL_LIGHTING:
- case GL_COLOR_MATERIAL:
- case GL_FOG:
- case GL_LINE_STIPPLE:
- case GL_POLYGON_STIPPLE:
- mState = 0;
- break;
- }
-
- stop_glerror();
if (mState)
{
mWasEnabled = sStateMap[state];
- // we can't actually assert on this as queued changes to state are not reflected by glIsEnabled
- //llassert(mWasEnabled == glIsEnabled(state));
setEnabled(enabled);
- stop_glerror();
}
}
@@ -2511,7 +2490,6 @@ void LLGLState::setEnabled(S32 enabled)
LLGLState::~LLGLState()
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
- stop_glerror();
if (mState)
{
if (gDebugGL)
@@ -2544,7 +2522,6 @@ LLGLState::~LLGLState()
}
}
}
- stop_glerror();
}
////////////////////////////////////////////////////////////////////////////////
@@ -2921,8 +2898,7 @@ void LLGLSyncFence::wait()
}
LLGLSPipelineSkyBox::LLGLSPipelineSkyBox()
-: mAlphaTest(GL_ALPHA_TEST)
-, mCullFace(GL_CULL_FACE)
+: mCullFace(GL_CULL_FACE)
, mSquashClip()
{
}
diff --git a/indra/llrender/llgl.h b/indra/llrender/llgl.h
index eb0650d998..4b0fbc0466 100644
--- a/indra/llrender/llgl.h
+++ b/indra/llrender/llgl.h
@@ -192,13 +192,13 @@ void clear_glerror();
//disable lighting for rendering hud objects
//INCORRECT USAGE
- LLGLEnable lighting(GL_LIGHTING);
+ LLGLEnable blend(GL_BLEND);
renderHUD();
- LLGLDisable lighting(GL_LIGHTING);
+ LLGLDisable blend(GL_BLEND);
//CORRECT USAGE
{
- LLGLEnable lighting(GL_LIGHTING);
+ LLGLEnable blend(GL_BLEND);
renderHUD();
}
@@ -206,7 +206,7 @@ void clear_glerror();
is useful:
{
- LLGLEnable lighting(light_hud ? GL_LIGHTING : 0);
+ LLGLEnable blend(blend_hud ? GL_GL_BLEND: 0);
renderHUD();
}
diff --git a/indra/llrender/llgldbg.cpp b/indra/llrender/llgldbg.cpp
deleted file mode 100644
index 0f1d4ae742..0000000000
--- a/indra/llrender/llgldbg.cpp
+++ /dev/null
@@ -1,223 +0,0 @@
-/**
- * @file llgldbg.cpp
- * @brief Definitions for OpenGL debugging support
- *
- * $LicenseInfo:firstyear=2001&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-// This file sets some global GL parameters, and implements some
-// useful functions for GL operations.
-
-#include "linden_common.h"
-
-#include "llgldbg.h"
-
-#include "llgl.h"
-#include "llglheaders.h"
-
-
-//------------------------------------------------------------------------
-// cmstr()
-//------------------------------------------------------------------------
-const char *cmstr(int i)
-{
- switch( i )
- {
- case GL_EMISSION: return "GL_EMISSION";
- case GL_AMBIENT: return "GL_AMBIENT";
- case GL_DIFFUSE: return "GL_DIFFUSE";
- case GL_SPECULAR: return "GL_SPECULAR";
- case GL_AMBIENT_AND_DIFFUSE: return "GL_AMBIENT_AND_DIFFUSE";
- }
- return "UNKNOWN";
-}
-
-//------------------------------------------------------------------------
-// facestr()
-//------------------------------------------------------------------------
-const char *facestr(int i)
-{
- switch( i )
- {
- case GL_FRONT: return "GL_FRONT";
- case GL_BACK: return "GL_BACK";
- case GL_FRONT_AND_BACK: return "GL_FRONT_AND_BACK";
- }
- return "UNKNOWN";
-}
-
-//------------------------------------------------------------------------
-// boolstr()
-//------------------------------------------------------------------------
-const char *boolstr(int b)
-{
- return b ? "GL_TRUE" : "GL_FALSE";
-}
-
-//------------------------------------------------------------------------
-// fv4()
-//------------------------------------------------------------------------
-const char *fv4(F32 *f)
-{
- static char str[128];
- sprintf(str, "%8.3f %8.3f %8.3f %8.3f", f[0], f[1], f[2], f[3]);
- return str;
-}
-
-//------------------------------------------------------------------------
-// fv3()
-//------------------------------------------------------------------------
-const char *fv3(F32 *f)
-{
- static char str[128]; /* Flawfinder: ignore */
- snprintf(str, sizeof(str), "%8.3f, %8.3f, %8.3f", f[0], f[1], f[2]); /* Flawfinder: ignore */
- return str;
-}
-
-//------------------------------------------------------------------------
-// fv1()
-//------------------------------------------------------------------------
-const char *fv1(F32 *f)
-{
- static char str[128]; /* Flawfinder: ignore */
- snprintf(str, sizeof(str), "%8.3f", f[0]); /* Flawfinder: ignore */
- return str;
-}
-
-//------------------------------------------------------------------------
-// llgl_dump()
-//------------------------------------------------------------------------
-void llgl_dump()
-{
- int i;
- F32 fv[16];
- GLboolean b;
-
- LL_INFOS() << "==========================" << LL_ENDL;
- LL_INFOS() << "OpenGL State" << LL_ENDL;
- LL_INFOS() << "==========================" << LL_ENDL;
-
- LL_INFOS() << "-----------------------------------" << LL_ENDL;
- LL_INFOS() << "Current Values" << LL_ENDL;
- LL_INFOS() << "-----------------------------------" << LL_ENDL;
-
- glGetFloatv(GL_CURRENT_COLOR, fv);
- LL_INFOS() << "GL_CURRENT_COLOR : " << fv4(fv) << LL_ENDL;
-
- glGetFloatv(GL_CURRENT_NORMAL, fv);
- LL_INFOS() << "GL_CURRENT_NORMAL : " << fv3(fv) << LL_ENDL;
-
- LL_INFOS() << "-----------------------------------" << LL_ENDL;
- LL_INFOS() << "Lighting" << LL_ENDL;
- LL_INFOS() << "-----------------------------------" << LL_ENDL;
-
- LL_INFOS() << "GL_LIGHTING : " << boolstr(glIsEnabled(GL_LIGHTING)) << LL_ENDL;
-
- LL_INFOS() << "GL_COLOR_MATERIAL : " << boolstr(glIsEnabled(GL_COLOR_MATERIAL)) << LL_ENDL;
-
- glGetIntegerv(GL_COLOR_MATERIAL_PARAMETER, (GLint*)&i);
- LL_INFOS() << "GL_COLOR_MATERIAL_PARAMETER: " << cmstr(i) << LL_ENDL;
-
- glGetIntegerv(GL_COLOR_MATERIAL_FACE, (GLint*)&i);
- LL_INFOS() << "GL_COLOR_MATERIAL_FACE : " << facestr(i) << LL_ENDL;
-
- fv[0] = fv[1] = fv[2] = fv[3] = 12345.6789f;
- glGetMaterialfv(GL_FRONT, GL_AMBIENT, fv);
- LL_INFOS() << "GL_AMBIENT material : " << fv4(fv) << LL_ENDL;
-
- fv[0] = fv[1] = fv[2] = fv[3] = 12345.6789f;
- glGetMaterialfv(GL_FRONT, GL_DIFFUSE, fv);
- LL_INFOS() << "GL_DIFFUSE material : " << fv4(fv) << LL_ENDL;
-
- fv[0] = fv[1] = fv[2] = fv[3] = 12345.6789f;
- glGetMaterialfv(GL_FRONT, GL_SPECULAR, fv);
- LL_INFOS() << "GL_SPECULAR material : " << fv4(fv) << LL_ENDL;
-
- fv[0] = fv[1] = fv[2] = fv[3] = 12345.6789f;
- glGetMaterialfv(GL_FRONT, GL_EMISSION, fv);
- LL_INFOS() << "GL_EMISSION material : " << fv4(fv) << LL_ENDL;
-
- fv[0] = fv[1] = fv[2] = fv[3] = 12345.6789f;
- glGetMaterialfv(GL_FRONT, GL_SHININESS, fv);
- LL_INFOS() << "GL_SHININESS material : " << fv1(fv) << LL_ENDL;
-
- fv[0] = fv[1] = fv[2] = fv[3] = 12345.6789f;
- glGetFloatv(GL_LIGHT_MODEL_AMBIENT, fv);
- LL_INFOS() << "GL_LIGHT_MODEL_AMBIENT : " << fv4(fv) << LL_ENDL;
-
- glGetBooleanv(GL_LIGHT_MODEL_LOCAL_VIEWER, &b);
- LL_INFOS() << "GL_LIGHT_MODEL_LOCAL_VIEWER: " << boolstr(b) << LL_ENDL;
-
- glGetBooleanv(GL_LIGHT_MODEL_TWO_SIDE, &b);
- LL_INFOS() << "GL_LIGHT_MODEL_TWO_SIDE : " << boolstr(b) << LL_ENDL;
-
- for (int l=0; l<8; l++)
- {
- b = glIsEnabled(GL_LIGHT0+l);
- LL_INFOS() << "GL_LIGHT" << l << " : " << boolstr(b) << LL_ENDL;
-
- if (!b)
- continue;
-
- glGetLightfv(GL_LIGHT0+l, GL_AMBIENT, fv);
- LL_INFOS() << " GL_AMBIENT light : " << fv4(fv) << LL_ENDL;
-
- glGetLightfv(GL_LIGHT0+l, GL_DIFFUSE, fv);
- LL_INFOS() << " GL_DIFFUSE light : " << fv4(fv) << LL_ENDL;
-
- glGetLightfv(GL_LIGHT0+l, GL_SPECULAR, fv);
- LL_INFOS() << " GL_SPECULAR light : " << fv4(fv) << LL_ENDL;
-
- glGetLightfv(GL_LIGHT0+l, GL_POSITION, fv);
- LL_INFOS() << " GL_POSITION light : " << fv4(fv) << LL_ENDL;
-
- glGetLightfv(GL_LIGHT0+l, GL_CONSTANT_ATTENUATION, fv);
- LL_INFOS() << " GL_CONSTANT_ATTENUATION : " << fv1(fv) << LL_ENDL;
-
- glGetLightfv(GL_LIGHT0+l, GL_QUADRATIC_ATTENUATION, fv);
- LL_INFOS() << " GL_QUADRATIC_ATTENUATION : " << fv1(fv) << LL_ENDL;
-
- glGetLightfv(GL_LIGHT0+l, GL_SPOT_DIRECTION, fv);
- LL_INFOS() << " GL_SPOT_DIRECTION : " << fv4(fv) << LL_ENDL;
-
- glGetLightfv(GL_LIGHT0+l, GL_SPOT_EXPONENT, fv);
- LL_INFOS() << " GL_SPOT_EXPONENT : " << fv1(fv) << LL_ENDL;
-
- glGetLightfv(GL_LIGHT0+l, GL_SPOT_CUTOFF, fv);
- LL_INFOS() << " GL_SPOT_CUTOFF : " << fv1(fv) << LL_ENDL;
- }
-
- LL_INFOS() << "-----------------------------------" << LL_ENDL;
- LL_INFOS() << "Pixel Operations" << LL_ENDL;
- LL_INFOS() << "-----------------------------------" << LL_ENDL;
-
- LL_INFOS() << "GL_ALPHA_TEST : " << boolstr(glIsEnabled(GL_ALPHA_TEST)) << LL_ENDL;
- LL_INFOS() << "GL_DEPTH_TEST : " << boolstr(glIsEnabled(GL_DEPTH_TEST)) << LL_ENDL;
-
- glGetBooleanv(GL_DEPTH_WRITEMASK, &b);
- LL_INFOS() << "GL_DEPTH_WRITEMASK : " << boolstr(b) << LL_ENDL;
-
- LL_INFOS() << "GL_BLEND : " << boolstr(glIsEnabled(GL_BLEND)) << LL_ENDL;
- LL_INFOS() << "GL_DITHER : " << boolstr(glIsEnabled(GL_DITHER)) << LL_ENDL;
-}
-
-// End
diff --git a/indra/llrender/llgldbg.h b/indra/llrender/llgldbg.h
deleted file mode 100644
index 963579cb82..0000000000
--- a/indra/llrender/llgldbg.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * @file llgldbg.h
- * @brief Definitions for OpenGL debugging support
- *
- * $LicenseInfo:firstyear=2001&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_LLGLDBG_H
-#define LL_LLGLDBG_H
-
-// Dumps the current OpenGL state to the console.
-void llgl_dump();
-
-
-#endif // LL_LLGLDBG_H
diff --git a/indra/llrender/llglstates.h b/indra/llrender/llglstates.h
index c46585eab4..930c5e3ed7 100644
--- a/indra/llrender/llglstates.h
+++ b/indra/llrender/llglstates.h
@@ -56,77 +56,44 @@ private:
class LLGLSDefault
{
protected:
- LLGLEnable mColorMaterial;
- LLGLDisable mAlphaTest, mBlend, mCullFace, mDither,
- mLineSmooth, mLineStipple, mNormalize, mPolygonSmooth,
- mGLMultisample;
+ LLGLDisable mBlend, mCullFace;
public:
LLGLSDefault()
:
- // Enable
- mColorMaterial(GL_COLOR_MATERIAL),
// Disable
- mAlphaTest(GL_ALPHA_TEST),
mBlend(GL_BLEND),
- mCullFace(GL_CULL_FACE),
- mDither(GL_DITHER),
- mLineSmooth(GL_LINE_SMOOTH),
- mLineStipple(GL_LINE_STIPPLE),
- mNormalize(GL_NORMALIZE),
- mPolygonSmooth(GL_POLYGON_SMOOTH),
- mGLMultisample(GL_MULTISAMPLE)
+ mCullFace(GL_CULL_FACE)
{ }
};
class LLGLSObjectSelect
{
protected:
- LLGLDisable mBlend, mAlphaTest;
+ LLGLDisable mBlend;
LLGLEnable mCullFace;
public:
LLGLSObjectSelect()
: mBlend(GL_BLEND),
- mAlphaTest(GL_ALPHA_TEST),
mCullFace(GL_CULL_FACE)
{ }
};
-class LLGLSObjectSelectAlpha
-{
-protected:
- LLGLEnable mAlphaTest;
-public:
- LLGLSObjectSelectAlpha()
- : mAlphaTest(GL_ALPHA_TEST)
- {}
-};
-
//----------------------------------------------------------------------------
class LLGLSUIDefault
{
protected:
- LLGLEnable mBlend, mAlphaTest;
+ LLGLEnable mBlend;
LLGLDisable mCullFace;
LLGLDepthTest mDepthTest;
public:
LLGLSUIDefault()
- : mBlend(GL_BLEND), mAlphaTest(GL_ALPHA_TEST),
+ : mBlend(GL_BLEND),
mCullFace(GL_CULL_FACE),
mDepthTest(GL_FALSE, GL_TRUE, GL_LEQUAL)
{}
};
-class LLGLSNoAlphaTest // : public LLGLSUIDefault
-{
-protected:
- LLGLDisable mAlphaTest;
-public:
- LLGLSNoAlphaTest()
- : mAlphaTest(GL_ALPHA_TEST)
- {}
-};
-
//----------------------------------------------------------------------------
class LLGLSPipeline
@@ -144,11 +111,10 @@ public:
class LLGLSPipelineAlpha // : public LLGLSPipeline
{
protected:
- LLGLEnable mBlend, mAlphaTest;
+ LLGLEnable mBlend;
public:
LLGLSPipelineAlpha()
- : mBlend(GL_BLEND),
- mAlphaTest(GL_ALPHA_TEST)
+ : mBlend(GL_BLEND)
{ }
};
@@ -162,20 +128,9 @@ public:
{}
};
-class LLGLSPipelineAvatar
-{
-protected:
- LLGLEnable mNormalize;
-public:
- LLGLSPipelineAvatar()
- : mNormalize(GL_NORMALIZE)
- {}
-};
-
class LLGLSPipelineSkyBox
{
protected:
- LLGLDisable mAlphaTest;
LLGLDisable mCullFace;
LLGLSquashToFarClip mSquashClip;
public:
@@ -201,13 +156,11 @@ public:
class LLGLSTracker
{
protected:
- LLGLEnable mCullFace, mBlend, mAlphaTest;
+ LLGLEnable mCullFace, mBlend;
public:
LLGLSTracker() :
mCullFace(GL_CULL_FACE),
- mBlend(GL_BLEND),
- mAlphaTest(GL_ALPHA_TEST)
-
+ mBlend(GL_BLEND)
{ }
};
diff --git a/indra/llrender/llrender2dutils.cpp b/indra/llrender/llrender2dutils.cpp
index 2d6f3c9469..52869406d2 100644
--- a/indra/llrender/llrender2dutils.cpp
+++ b/indra/llrender/llrender2dutils.cpp
@@ -712,11 +712,8 @@ void gl_draw_scaled_rotated_image(S32 x, S32 y, S32 width, S32 height, F32 degre
}
}
-void gl_stippled_line_3d( const LLVector3& start, const LLVector3& end, const LLColor4& color, F32 phase )
+void gl_line_3d( const LLVector3& start, const LLVector3& end, const LLColor4& color)
{
- // Stippled line
- LLGLEnable stipple(GL_LINE_STIPPLE);
-
gGL.color4f(color.mV[VRED], color.mV[VGREEN], color.mV[VBLUE], color.mV[VALPHA]);
gGL.flush();
diff --git a/indra/llrender/llrender2dutils.h b/indra/llrender/llrender2dutils.h
index 206e68f084..135738c3ba 100644
--- a/indra/llrender/llrender2dutils.h
+++ b/indra/llrender/llrender2dutils.h
@@ -79,7 +79,7 @@ void gl_draw_scaled_rotated_image(S32 x, S32 y, S32 width, S32 height, F32 degre
void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 border_width, S32 border_height, S32 width, S32 height, LLTexture* image, const LLColor4 &color, BOOL solid_color = FALSE, const LLRectf& uv_rect = LLRectf(0.f, 1.f, 1.f, 0.f), bool scale_inner = true);
void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 width, S32 height, LLTexture* image, const LLColor4 &color, BOOL solid_color = FALSE, const LLRectf& uv_rect = LLRectf(0.f, 1.f, 1.f, 0.f), const LLRectf& scale_rect = LLRectf(0.f, 1.f, 1.f, 0.f), bool scale_inner = true);
-void gl_stippled_line_3d( const LLVector3& start, const LLVector3& end, const LLColor4& color, F32 phase = 0.f );
+void gl_line_3d( const LLVector3& start, const LLVector3& end, const LLColor4& color);
void gl_rect_2d_simple_tex( S32 width, S32 height );
diff --git a/indra/newview/lldrawpoolsimple.cpp b/indra/newview/lldrawpoolsimple.cpp
index 3cc101b325..a89c9d4561 100644
--- a/indra/newview/lldrawpoolsimple.cpp
+++ b/indra/newview/lldrawpoolsimple.cpp
@@ -79,7 +79,6 @@ void LLDrawPoolGlow::renderPostDeferred(S32 pass)
LLGLSLShader* shader = &gDeferredEmissiveProgram;
LLGLEnable blend(GL_BLEND);
- LLGLDisable test(GL_ALPHA_TEST);
gGL.flush();
/// Get rid of z-fighting with non-glow pass.
LLGLEnable polyOffset(GL_POLYGON_OFFSET_FILL);
@@ -132,7 +131,6 @@ void LLDrawPoolSimple::renderDeferred(S32 pass)
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_DRAWPOOL; //LL_RECORD_BLOCK_TIME(FTM_RENDER_SIMPLE_DEFERRED);
LLGLDisable blend(GL_BLEND);
- LLGLDisable alpha_test(GL_ALPHA_TEST);
//render static
setup_simple_shader(&gDeferredDiffuseProgram);
diff --git a/indra/newview/lldrawpooltree.cpp b/indra/newview/lldrawpooltree.cpp
index 57146c432a..9dcbc48697 100644
--- a/indra/newview/lldrawpooltree.cpp
+++ b/indra/newview/lldrawpooltree.cpp
@@ -71,7 +71,6 @@ void LLDrawPoolTree::renderDeferred(S32 pass)
return;
}
- LLGLState test(GL_ALPHA_TEST, 0);
gGL.getTexUnit(sDiffTex)->bindFast(mTexturep);
mTexturep->addTextureStats(1024.f * 1024.f); // <=== keep Linden tree textures at full res
diff --git a/indra/newview/llfloaterimagepreview.cpp b/indra/newview/llfloaterimagepreview.cpp
index 6b0ba44624..ba0f97e2e1 100644
--- a/indra/newview/llfloaterimagepreview.cpp
+++ b/indra/newview/llfloaterimagepreview.cpp
@@ -251,7 +251,6 @@ void LLFloaterImagePreview::draw()
if (selected <= 0)
{
gl_rect_2d_checkerboard(mPreviewRect);
- LLGLDisable gls_alpha(GL_ALPHA_TEST);
if(mImagep.notNull())
{
diff --git a/indra/newview/llhudnametag.cpp b/indra/newview/llhudnametag.cpp
index 0408cfc659..26fc899eb5 100644
--- a/indra/newview/llhudnametag.cpp
+++ b/indra/newview/llhudnametag.cpp
@@ -258,7 +258,6 @@ void LLHUDNameTag::renderText(BOOL for_select)
}
LLGLState gls_blend(GL_BLEND, for_select ? FALSE : TRUE);
- LLGLState gls_alpha(GL_ALPHA_TEST, for_select ? FALSE : TRUE);
LLColor4 shadow_color(0.f, 0.f, 0.f, 1.f);
F32 alpha_factor = 1.f;
diff --git a/indra/newview/llhudtext.cpp b/indra/newview/llhudtext.cpp
index 22dca07096..0b0de18534 100644
--- a/indra/newview/llhudtext.cpp
+++ b/indra/newview/llhudtext.cpp
@@ -117,7 +117,6 @@ void LLHUDText::renderText()
gGL.getTexUnit(0)->enable(LLTexUnit::TT_TEXTURE);
LLGLState gls_blend(GL_BLEND, TRUE);
- LLGLState gls_alpha(GL_ALPHA_TEST, TRUE);
LLColor4 shadow_color(0.f, 0.f, 0.f, 1.f);
F32 alpha_factor = 1.f;
@@ -575,7 +574,6 @@ void LLHUDText::renderAllHUD()
LLGLState::checkStates();
{
- LLGLEnable color_mat(GL_COLOR_MATERIAL);
LLGLDepthTest depth(GL_FALSE, GL_FALSE);
VisibleTextObjectIterator text_it;
diff --git a/indra/newview/llmaniprotate.cpp b/indra/newview/llmaniprotate.cpp
index 6b9543d433..886abfb132 100644
--- a/indra/newview/llmaniprotate.cpp
+++ b/indra/newview/llmaniprotate.cpp
@@ -118,7 +118,6 @@ void LLManipRotate::render()
gGL.getTexUnit(0)->bind(LLViewerFetchedTexture::sWhiteImagep);
LLGLDepthTest gls_depth(GL_TRUE);
LLGLEnable gl_blend(GL_BLEND);
- LLGLEnable gls_alpha_test(GL_ALPHA_TEST);
// You can rotate if you can move
LLViewerObject* first_object = mObjectSelection->getFirstMoveableObject(TRUE);
diff --git a/indra/newview/llmanipscale.cpp b/indra/newview/llmanipscale.cpp
index c15f1da26b..6f685d4e62 100644
--- a/indra/newview/llmanipscale.cpp
+++ b/indra/newview/llmanipscale.cpp
@@ -212,7 +212,6 @@ void LLManipScale::render()
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
LLGLDepthTest gls_depth(GL_TRUE);
LLGLEnable gl_blend(GL_BLEND);
- LLGLEnable gls_alpha_test(GL_ALPHA_TEST);
LLBBox bbox = LLSelectMgr::getInstance()->getBBoxOfSelection();
if( canAffectSelection() )
@@ -1317,11 +1316,11 @@ void LLManipScale::renderGuidelinesPart( const LLBBox& bbox )
{
LLGLDepthTest gls_depth(GL_TRUE);
- gl_stippled_line_3d( guideline_start, guideline_end, LLColor4(1.f, 1.f, 1.f, 0.5f) );
+ gl_line_3d( guideline_start, guideline_end, LLColor4(1.f, 1.f, 1.f, 0.5f) );
}
{
LLGLDepthTest gls_depth(GL_FALSE);
- gl_stippled_line_3d( guideline_start, guideline_end, LLColor4(1.f, 1.f, 1.f, 0.25f) );
+ gl_line_3d( guideline_start, guideline_end, LLColor4(1.f, 1.f, 1.f, 0.25f) );
}
}
diff --git a/indra/newview/llmaniptranslate.cpp b/indra/newview/llmaniptranslate.cpp
index 91f1af8f28..cafb3fef67 100644
--- a/indra/newview/llmaniptranslate.cpp
+++ b/indra/newview/llmaniptranslate.cpp
@@ -1537,7 +1537,6 @@ void LLManipTranslate::renderSnapGuides()
}
{
- LLGLDisable alpha_test(GL_ALPHA_TEST);
//draw black overlay
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
renderGrid(u,v,tiles,0.0f, 0.0f, 0.0f,a*0.16f);
@@ -1558,7 +1557,6 @@ void LLManipTranslate::renderSnapGuides()
{
LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE, GL_GREATER);
- LLGLEnable stipple(GL_LINE_STIPPLE);
gGL.flush();
switch (mManipPart)
@@ -2182,7 +2180,6 @@ void LLManipTranslate::renderArrow(S32 which_arrow, S32 selected_arrow, F32 box_
{
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
LLGLEnable gls_blend(GL_BLEND);
- LLGLEnable gls_color_material(GL_COLOR_MATERIAL);
for (S32 pass = 1; pass <= 2; pass++)
{
diff --git a/indra/newview/llmodelpreview.cpp b/indra/newview/llmodelpreview.cpp
index 7ae48eef8c..5f910d95c2 100644
--- a/indra/newview/llmodelpreview.cpp
+++ b/indra/newview/llmodelpreview.cpp
@@ -3096,7 +3096,7 @@ BOOL LLModelPreview::render()
S32 width = getWidth();
S32 height = getHeight();
- LLGLSUIDefault def; // GL_BLEND, GL_ALPHA_TEST, GL_CULL_FACE, depth test
+ LLGLSUIDefault def;
LLGLDisable no_blend(GL_BLEND);
LLGLEnable cull(GL_CULL_FACE);
LLGLDepthTest depth(GL_FALSE); // SL-12781 disable z-buffer to render background color
@@ -3301,8 +3301,6 @@ BOOL LLModelPreview::render()
gGL.pushMatrix();
gGL.color4fv(PREVIEW_EDGE_COL.mV);
- LLGLEnable normalize(GL_NORMALIZE);
-
if (!mBaseModel.empty() && mVertexBuffer[5].empty())
{
genBuffers(-1, skin_weight);
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index 71dcc56197..dca341e5a2 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -6288,9 +6288,6 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)
auto renderMeshSelection_f = [fogCfx, wireframe_selection](LLSelectNode* node, LLViewerObject* objectp, LLColor4 hlColor)
{
- //Need to because crash on ATI 3800 (and similar cards) MAINT-5018
- LLGLDisable multisample(LLPipeline::RenderFSAASamples > 0 ? GL_MULTISAMPLE : 0);
-
LLGLSLShader* shader = LLGLSLShader::sCurBoundShaderPtr;
if (shader)
diff --git a/indra/newview/lltracker.cpp b/indra/newview/lltracker.cpp
index ab4ad5817b..4c55ea1fc6 100644
--- a/indra/newview/lltracker.cpp
+++ b/indra/newview/lltracker.cpp
@@ -588,7 +588,7 @@ void LLTracker::renderBeacon(LLVector3d pos_global,
LLVector3 pos_agent = gAgent.getPosAgentFromGlobal(pos_global);
- LLGLSTracker gls_tracker; // default+ CULL_FACE + LIGHTING + GL_BLEND + GL_ALPHA_TEST
+ LLGLSTracker gls_tracker;
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
LLGLDisable cull_face(GL_CULL_FACE);
LLGLDepthTest gls_depth(GL_TRUE, GL_FALSE);
diff --git a/indra/newview/llviewerjointmesh.cpp b/indra/newview/llviewerjointmesh.cpp
index 5ce8f4023d..5d46c695b7 100644
--- a/indra/newview/llviewerjointmesh.cpp
+++ b/indra/newview/llviewerjointmesh.cpp
@@ -39,7 +39,6 @@
#include "lldrawpoolbump.h"
#include "lldynamictexture.h"
#include "llface.h"
-#include "llgldbg.h"
#include "llglheaders.h"
#include "llviewertexlayer.h"
#include "llviewercamera.h"
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index af65588709..341ef57d8c 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -5112,9 +5112,6 @@ U32 LLVOAvatar::renderSkinned()
// render all geometry attached to the skeleton
//--------------------------------------------------------------------
- bool should_alpha_mask = shouldAlphaMask();
- LLGLState test(GL_ALPHA_TEST, should_alpha_mask);
-
BOOL first_pass = TRUE;
if (!LLDrawPoolAvatar::sSkipOpaque)
{
@@ -5164,7 +5161,6 @@ U32 LLVOAvatar::renderSkinned()
if (!LLDrawPoolAvatar::sSkipTransparent || LLPipeline::sImpostorRender)
{
LLGLState blend(GL_BLEND, !mIsDummy);
- LLGLState test(GL_ALPHA_TEST, !mIsDummy);
num_indices += renderTransparent(first_pass);
}
@@ -5242,9 +5238,6 @@ U32 LLVOAvatar::renderRigid()
return 0;
}
- bool should_alpha_mask = shouldAlphaMask();
- LLGLState test(GL_ALPHA_TEST, should_alpha_mask);
-
if (isTextureVisible(TEX_EYES_BAKED) || (getOverallAppearance() == AOA_JELLYDOLL && !isControlAvatar()) || isUIAvatar())
{
LLViewerJoint* eyeball_left = getViewerJoint(MESH_ID_EYEBALL_LEFT);
@@ -5308,8 +5301,7 @@ U32 LLVOAvatar::renderImpostor(LLColor4U color, S32 diffuse_channel)
gGL.flush();
}
{
- LLGLEnable test(GL_ALPHA_TEST);
- gGL.flush();
+ gGL.flush();
gGL.color4ubv(color.mV);
gGL.getTexUnit(diffuse_channel)->bind(&mImpostor);
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 99deae309d..7f1db9b61e 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -63,7 +63,6 @@
#include "llfeaturemanager.h"
#include "llfloatertelehub.h"
#include "llfloaterreg.h"
-#include "llgldbg.h"
#include "llhudmanager.h"
#include "llhudnametag.h"
#include "llhudtext.h"
@@ -2428,7 +2427,6 @@ void LLPipeline::doOcclusion(LLCamera& camera)
gGL.setColorMask(false, false);
LLGLDisable blend(GL_BLEND);
- LLGLDisable test(GL_ALPHA_TEST);
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
@@ -3742,7 +3740,6 @@ void render_hud_elements()
if (!LLPipeline::sReflectionRender && gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI))
{
- LLGLEnable multisample(LLPipeline::RenderFSAASamples > 0 ? GL_MULTISAMPLE : 0);
gViewerWindow->renderSelections(FALSE, FALSE, FALSE); // For HUD version in render_ui_3d()
// Draw the tracking overlays
@@ -3777,7 +3774,6 @@ void LLPipeline::renderHighlights()
// Render highlighted faces.
LLGLSPipelineAlpha gls_pipeline_alpha;
LLColor4 color(1.f, 1.f, 1.f, 0.5f);
- LLGLEnable color_mat(GL_COLOR_MATERIAL);
disableLights();
if ((LLViewerShaderMgr::instance()->getShaderLevel(LLViewerShaderMgr::SHADER_INTERFACE) > 0))
@@ -3947,8 +3943,6 @@ void LLPipeline::renderGeomDeferred(LLCamera& camera, bool do_occlusion)
}
}
- LLGLEnable multisample(RenderFSAASamples > 0 ? GL_MULTISAMPLE : 0);
-
LLVertexBuffer::unbind();
LLGLState::checkStates();
@@ -4055,8 +4049,6 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera)
LLGLEnable cull(GL_CULL_FACE);
- LLGLEnable multisample(RenderFSAASamples > 0 ? GL_MULTISAMPLE : 0);
-
calcNearbyLights(camera);
setupHWLights();
@@ -7140,7 +7132,6 @@ void LLPipeline::generateGlow(LLRenderTarget* src)
{
LLGLEnable blend_on(GL_BLEND);
- LLGLEnable test(GL_ALPHA_TEST);
gGL.setSceneBlendType(LLRender::BT_ADD_WITH_ALPHA);
@@ -7559,8 +7550,6 @@ void LLPipeline::renderFinalize()
enableLightsFullbright();
- LLGLDisable test(GL_ALPHA_TEST);
-
gGL.setColorMask(true, true);
glClearColor(0, 0, 0, 0);
@@ -7971,8 +7960,6 @@ void LLPipeline::renderDeferredLighting()
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("deferred");
LLViewerCamera *camera = LLViewerCamera::getInstance();
- LLGLEnable multisample(RenderFSAASamples > 0 ? GL_MULTISAMPLE : 0);
-
if (gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_HUD))
{
gPipeline.toggleRenderType(LLPipeline::RENDER_TYPE_HUD);
@@ -8133,7 +8120,6 @@ void LLPipeline::renderDeferredLighting()
{
LLGLDepthTest depth(GL_FALSE);
LLGLDisable blend(GL_BLEND);
- LLGLDisable test(GL_ALPHA_TEST);
// full screen blit
mScreenTriangleVB->setBuffer();