Merge branch 'DRTVWR-497' of https://bitbucket.org/lindenlab/viewer
commit
fff65c73fd
|
|
@ -1569,15 +1569,15 @@ void LLRender::matrixMode(eMatrixMode mode)
|
|||
{
|
||||
U32 tex_index = gGL.getCurrentTexUnitIndex();
|
||||
// the shaders don't actually reference anything beyond texture_matrix0/1 outside of terrain rendering
|
||||
llassert_always(tex_index <= 3);
|
||||
mode = eMatrixMode(MM_TEXTURE0 + gGL.getCurrentTexUnitIndex());
|
||||
if (mode > MM_TEXTURE3)
|
||||
{
|
||||
// getCurrentTexUnitIndex() can go as high as 32 (LL_NUM_TEXTURE_LAYERS)
|
||||
// Large value will result in a crash at mMatrix
|
||||
LL_WARNS_ONCE() << "Attempted to assign matrix mode out of bounds: " << mode << LL_ENDL;
|
||||
mode = MM_TEXTURE0;
|
||||
}
|
||||
llassert(tex_index <= 3);
|
||||
mode = eMatrixMode(MM_TEXTURE0 + tex_index);
|
||||
if (mode > MM_TEXTURE3)
|
||||
{
|
||||
// getCurrentTexUnitIndex() can go as high as 32 (LL_NUM_TEXTURE_LAYERS)
|
||||
// Large value will result in a crash at mMatrix
|
||||
LL_WARNS_ONCE() << "Attempted to assign matrix mode out of bounds: " << mode << LL_ENDL;
|
||||
mode = MM_TEXTURE0;
|
||||
}
|
||||
}
|
||||
|
||||
mMatrixMode = mode;
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@
|
|||
#include "llviewermedia.h"
|
||||
#include "llviewerparcelaskplay.h"
|
||||
#include "llviewerparcelmedia.h"
|
||||
#include "llviewershadermgr.h"
|
||||
#include "llviewermediafocus.h"
|
||||
#include "llviewermessage.h"
|
||||
#include "llviewerobjectlist.h"
|
||||
|
|
@ -640,8 +641,8 @@ static void settings_to_globals()
|
|||
LLRender::sGLCoreProfile = gSavedSettings.getBOOL("RenderGLCoreProfile");
|
||||
LLRender::sNsightDebugSupport = gSavedSettings.getBOOL("RenderNsightDebugSupport");
|
||||
// <FS:Ansariel> Vertex Array Objects are required in OpenGL core profile
|
||||
//LLVertexBuffer::sUseVAO = gSavedSettings.getBOOL("RenderUseVAO") && LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 0;
|
||||
LLVertexBuffer::sUseVAO = LLRender::sGLCoreProfile ? TRUE : gSavedSettings.getBOOL("RenderUseVAO") && LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 0;
|
||||
//LLVertexBuffer::sUseVAO = gSavedSettings.getBOOL("RenderUseVAO");
|
||||
LLVertexBuffer::sUseVAO = LLRender::sGLCoreProfile ? TRUE : gSavedSettings.getBOOL("RenderUseVAO");
|
||||
// </FS:Ansariel>
|
||||
LLImageGL::sGlobalUseAnisotropic = gSavedSettings.getBOOL("RenderAnisotropic");
|
||||
LLImageGL::sCompressTextures = gSavedSettings.getBOOL("RenderCompressTextures");
|
||||
|
|
|
|||
|
|
@ -465,19 +465,6 @@ void LLFloaterSettingsDebug::updateControl()
|
|||
{
|
||||
mBooleanCombo->setValue(LLSD(""));
|
||||
}
|
||||
|
||||
bool bUseVAO = mCurrentControlVariable->getName() == "RenderUseVAO";
|
||||
if (bUseVAO)
|
||||
{
|
||||
bool use_shaders = LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 0;
|
||||
mBooleanCombo->setEnabled(use_shaders);
|
||||
getChild<LLUICtrl>("TRUE")->setEnabled(use_shaders);
|
||||
getChild<LLUICtrl>("FALSE")->setEnabled(use_shaders);
|
||||
mDefaultButton->setEnabled(use_shaders);
|
||||
if (!use_shaders) {
|
||||
mBooleanCombo->setValue(LLSD(false));
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case TYPE_STRING:
|
||||
|
|
|
|||
|
|
@ -459,9 +459,9 @@ void LLPipeline::init()
|
|||
sRenderBump = gSavedSettings.getBOOL("RenderObjectBump");
|
||||
sUseTriStrips = gSavedSettings.getBOOL("RenderUseTriStrips");
|
||||
LLVertexBuffer::sUseStreamDraw = gSavedSettings.getBOOL("RenderUseStreamVBO");
|
||||
LLVertexBuffer::sUseVAO = gSavedSettings.getBOOL("RenderUseVAO");
|
||||
//LLVertexBuffer::sUseVAO = gSavedSettings.getBOOL("RenderUseVAO") && LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 0;
|
||||
LLVertexBuffer::sUseVAO = LLRender::sGLCoreProfile ? TRUE : gSavedSettings.getBOOL("RenderUseVAO") && LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 0;
|
||||
// <FS:Ansariel> Vertex Array Objects are required in OpenGL core profile
|
||||
//LLVertexBuffer::sUseVAO = gSavedSettings.getBOOL("RenderUseVAO");
|
||||
LLVertexBuffer::sUseVAO = LLRender::sGLCoreProfile ? TRUE : gSavedSettings.getBOOL("RenderUseVAO");
|
||||
// </FS:Ansariel>
|
||||
LLVertexBuffer::sPreferStreamDraw = gSavedSettings.getBOOL("RenderPreferStreamDraw");
|
||||
sRenderAttachedLights = gSavedSettings.getBOOL("RenderAttachedLights");
|
||||
|
|
@ -7586,8 +7586,8 @@ void LLPipeline::doResetVertexBuffers(bool forced)
|
|||
sUseTriStrips = gSavedSettings.getBOOL("RenderUseTriStrips");
|
||||
LLVertexBuffer::sUseStreamDraw = gSavedSettings.getBOOL("RenderUseStreamVBO");
|
||||
// <FS:Ansariel> Vertex Array Objects are required in OpenGL core profile
|
||||
//LLVertexBuffer::sUseVAO = gSavedSettings.getBOOL("RenderUseVAO") && LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 0;
|
||||
LLVertexBuffer::sUseVAO = LLRender::sGLCoreProfile ? TRUE : gSavedSettings.getBOOL("RenderUseVAO") && LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 0;
|
||||
//LLVertexBuffer::sUseVAO = gSavedSettings.getBOOL("RenderUseVAO");
|
||||
LLVertexBuffer::sUseVAO = LLRender::sGLCoreProfile ? TRUE : gSavedSettings.getBOOL("RenderUseVAO");
|
||||
// </FS:Ansariel>
|
||||
LLVertexBuffer::sPreferStreamDraw = gSavedSettings.getBOOL("RenderPreferStreamDraw");
|
||||
LLVertexBuffer::sEnableVBOs = gSavedSettings.getBOOL("RenderVBOEnable");
|
||||
|
|
|
|||
Loading…
Reference in New Issue