Added blendfunc checks when RenderDebugGL is TRUE.
This commit is contained in:
@@ -1023,6 +1023,7 @@ void LLLightState::setSpotDirection(const LLVector3& direction)
|
||||
}
|
||||
}
|
||||
|
||||
LLRender::eBlendFactor blendfunc_debug[4]={LLRender::BF_UNDEF};
|
||||
LLRender::LLRender()
|
||||
: mDirty(false),
|
||||
mCount(0),
|
||||
@@ -1683,6 +1684,14 @@ void LLRender::setAlphaRejectSettings(eCompareFunc func, F32 value)
|
||||
}
|
||||
}
|
||||
|
||||
void check_blend_funcs()
|
||||
{
|
||||
llassert_always(blendfunc_debug[0] == LLRender::BF_SOURCE_ALPHA );
|
||||
llassert_always(blendfunc_debug[1] == LLRender::BF_SOURCE_ALPHA );
|
||||
llassert_always(blendfunc_debug[2] == LLRender::BF_ONE_MINUS_SOURCE_ALPHA );
|
||||
llassert_always(blendfunc_debug[3] == LLRender::BF_ONE_MINUS_SOURCE_ALPHA );
|
||||
}
|
||||
|
||||
void LLRender::blendFunc(eBlendFactor sfactor, eBlendFactor dfactor)
|
||||
{
|
||||
llassert(sfactor < BF_UNDEF);
|
||||
@@ -1694,6 +1703,8 @@ void LLRender::blendFunc(eBlendFactor sfactor, eBlendFactor dfactor)
|
||||
mCurrBlendAlphaSFactor = sfactor;
|
||||
mCurrBlendColorDFactor = dfactor;
|
||||
mCurrBlendAlphaDFactor = dfactor;
|
||||
blendfunc_debug[0]=blendfunc_debug[1]=sfactor;
|
||||
blendfunc_debug[2]=blendfunc_debug[3]=dfactor;
|
||||
flush();
|
||||
glBlendFunc(sGLBlendFactor[sfactor], sGLBlendFactor[dfactor]);
|
||||
}
|
||||
@@ -1719,6 +1730,8 @@ void LLRender::blendFunc(eBlendFactor color_sfactor, eBlendFactor color_dfactor,
|
||||
mCurrBlendAlphaSFactor = alpha_sfactor;
|
||||
mCurrBlendColorDFactor = color_dfactor;
|
||||
mCurrBlendAlphaDFactor = alpha_dfactor;
|
||||
blendfunc_debug[0]=blendfunc_debug[2]=color_sfactor;
|
||||
blendfunc_debug[1]=blendfunc_debug[3]=alpha_sfactor;
|
||||
flush();
|
||||
glBlendFuncSeparateEXT(sGLBlendFactor[color_sfactor], sGLBlendFactor[color_dfactor],
|
||||
sGLBlendFactor[alpha_sfactor], sGLBlendFactor[alpha_dfactor]);
|
||||
|
||||
@@ -1152,6 +1152,7 @@ void LLView::draw()
|
||||
drawChildren();
|
||||
}
|
||||
|
||||
extern void check_blend_funcs();
|
||||
void LLView::drawChildren()
|
||||
{
|
||||
|
||||
@@ -1186,7 +1187,9 @@ void LLView::drawChildren()
|
||||
LLUI::translate((F32)viewp->getRect().mLeft, (F32)viewp->getRect().mBottom, 0.f);
|
||||
// flag the fact we are in draw here, in case overridden draw() method attempts to remove this widget
|
||||
viewp->mInDraw = true;
|
||||
if(gDebugGL)check_blend_funcs();
|
||||
viewp->draw();
|
||||
if(gDebugGL)check_blend_funcs();
|
||||
viewp->mInDraw = false;
|
||||
|
||||
if (sDebugRects)
|
||||
@@ -1293,7 +1296,9 @@ void LLView::drawChild(LLView* childp, S32 x_offset, S32 y_offset, BOOL force_dr
|
||||
LLUI::pushMatrix();
|
||||
{
|
||||
LLUI::translate((F32)childp->getRect().mLeft + x_offset, (F32)childp->getRect().mBottom + y_offset, 0.f);
|
||||
if(gDebugGL)check_blend_funcs();
|
||||
childp->draw();
|
||||
if(gDebugGL)check_blend_funcs();
|
||||
}
|
||||
LLUI::popMatrix();
|
||||
}
|
||||
|
||||
@@ -1516,6 +1516,7 @@ void render_ui_3d()
|
||||
stop_glerror();
|
||||
}
|
||||
|
||||
extern void check_blend_funcs();
|
||||
void render_ui_2d()
|
||||
{
|
||||
LLGLSUIDefault gls_ui;
|
||||
@@ -1561,7 +1562,9 @@ void render_ui_2d()
|
||||
gGL.popMatrix();
|
||||
stop_glerror();
|
||||
}
|
||||
if(gDebugGL)check_blend_funcs();
|
||||
gViewerWindow->draw();
|
||||
if(gDebugGL)check_blend_funcs();
|
||||
|
||||
// reset current origin for font rendering, in case of tiling render
|
||||
LLFontGL::sCurOrigin.set(0, 0);
|
||||
|
||||
@@ -2334,6 +2334,7 @@ void LLViewerWindow::drawDebugText()
|
||||
}
|
||||
}
|
||||
|
||||
extern void check_blend_funcs();
|
||||
void LLViewerWindow::draw()
|
||||
{
|
||||
|
||||
@@ -2411,7 +2412,9 @@ void LLViewerWindow::draw()
|
||||
|
||||
// Draw all nested UI views.
|
||||
// No translation needed, this view is glued to 0,0
|
||||
if(gDebugGL)check_blend_funcs();
|
||||
mRootView->draw();
|
||||
if(gDebugGL)check_blend_funcs();
|
||||
|
||||
// Draw optional on-top-of-everyone view
|
||||
LLUICtrl* top_ctrl = gFocusMgr.getTopCtrl();
|
||||
@@ -2423,7 +2426,9 @@ void LLViewerWindow::draw()
|
||||
gGL.matrixMode(LLRender::MM_MODELVIEW);
|
||||
LLUI::pushMatrix();
|
||||
LLUI::translate( (F32) screen_x, (F32) screen_y, 0.f);
|
||||
if(gDebugGL)check_blend_funcs();
|
||||
top_ctrl->draw();
|
||||
if(gDebugGL)check_blend_funcs();
|
||||
LLUI::popMatrix();
|
||||
}
|
||||
|
||||
|
||||
@@ -3743,6 +3743,7 @@ void LLPipeline::renderHighlights()
|
||||
//debug use
|
||||
U32 LLPipeline::sCurRenderPoolType = 0 ;
|
||||
|
||||
extern void check_blend_funcs();
|
||||
void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
|
||||
{
|
||||
LLFastTimer t(FTM_RENDER_GEOMETRY);
|
||||
@@ -3879,6 +3880,7 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
|
||||
for( S32 i = 0; i < poolp->getNumPasses(); i++ )
|
||||
{
|
||||
LLVertexBuffer::unbind();
|
||||
if(gDebugGL)check_blend_funcs();
|
||||
poolp->beginRenderPass(i);
|
||||
for (iter2 = iter1; iter2 != mPools.end(); iter2++)
|
||||
{
|
||||
@@ -3887,10 +3889,10 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
p->render(i);
|
||||
}
|
||||
poolp->endRenderPass(i);
|
||||
if(gDebugGL)check_blend_funcs();
|
||||
LLVertexBuffer::unbind();
|
||||
if (gDebugGL)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user