Merge git://github.com/Shyotl/SingularityViewer
This commit is contained in:
@@ -54,6 +54,7 @@ public:
|
||||
// common messaging components
|
||||
FTM_PUMP,
|
||||
FTM_CURL,
|
||||
FTM_PUMPIO,
|
||||
|
||||
// common simulation components
|
||||
FTM_UPDATE_ANIMATION,
|
||||
|
||||
@@ -450,7 +450,7 @@ void LLPumpIO::pump()
|
||||
void LLPumpIO::pump(const S32& poll_timeout)
|
||||
{
|
||||
LLMemType m1(LLMemType::MTYPE_IO_PUMP);
|
||||
LLFastTimer t1(LLFastTimer::FTM_PUMP);
|
||||
LLFastTimer t1(LLFastTimer::FTM_PUMPIO);
|
||||
//llinfos << "LLPumpIO::pump()" << llendl;
|
||||
|
||||
// Run any pending runners.
|
||||
|
||||
@@ -399,7 +399,13 @@ void LLRenderTarget::flush(BOOL fetch_depth)
|
||||
check_framebuffer_status();
|
||||
|
||||
stop_glerror();
|
||||
glBlitFramebufferEXT(0, 0, mResX, mResY, 0, 0, mResX, mResY, GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT, GL_NEAREST);
|
||||
if(gGLManager.mIsATI)
|
||||
{
|
||||
glBlitFramebufferEXT(0, 0, mResX, mResY, 0, 0, mResX, mResY, GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT, GL_NEAREST);
|
||||
glBlitFramebufferEXT(0, 0, mResX, mResY, 0, 0, mResX, mResY, GL_STENCIL_BUFFER_BIT, GL_NEAREST);
|
||||
}
|
||||
else
|
||||
glBlitFramebufferEXT(0, 0, mResX, mResY, 0, 0, mResX, mResY, GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT, GL_NEAREST);
|
||||
stop_glerror();
|
||||
|
||||
if (mTex.size() > 1)
|
||||
@@ -465,7 +471,13 @@ void LLRenderTarget::copyContents(LLRenderTarget& source, S32 srcX0, S32 srcY0,
|
||||
stop_glerror();
|
||||
check_framebuffer_status();
|
||||
stop_glerror();
|
||||
glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
|
||||
if(gGLManager.mIsATI && mask & GL_STENCIL_BUFFER_BIT)
|
||||
{
|
||||
mask &= ~GL_STENCIL_BUFFER_BIT;
|
||||
glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, GL_STENCIL_BUFFER_BIT, filter);
|
||||
}
|
||||
if(mask)
|
||||
glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
|
||||
stop_glerror();
|
||||
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
|
||||
stop_glerror();
|
||||
@@ -482,13 +494,19 @@ void LLRenderTarget::copyContentsToFramebuffer(LLRenderTarget& source, S32 srcX0
|
||||
llerrs << "Cannot copy framebuffer contents for non FBO render targets." << llendl;
|
||||
}
|
||||
{
|
||||
glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, source.mFBO);
|
||||
glBindFramebufferEXT(GL_READ_FRAMEBUFFER_EXT, source.mSampleBuffer ? source.mSampleBuffer->mFBO : source.mFBO);
|
||||
stop_glerror();
|
||||
glBindFramebufferEXT(GL_DRAW_FRAMEBUFFER_EXT, 0);
|
||||
stop_glerror();
|
||||
check_framebuffer_status();
|
||||
stop_glerror();
|
||||
glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
|
||||
if(gGLManager.mIsATI && mask & GL_STENCIL_BUFFER_BIT)
|
||||
{
|
||||
mask &= ~GL_STENCIL_BUFFER_BIT;
|
||||
glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, GL_STENCIL_BUFFER_BIT, filter);
|
||||
}
|
||||
if(mask)
|
||||
glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
|
||||
stop_glerror();
|
||||
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
|
||||
stop_glerror();
|
||||
|
||||
@@ -85,6 +85,7 @@ static struct ft_display_info ft_display_table[] =
|
||||
{ LLFastTimer::FTM_IDLE, " Idle", &blue0, 0 },
|
||||
{ LLFastTimer::FTM_PUMP, " Pump", &LLColor4::magenta2, 1 },
|
||||
{ LLFastTimer::FTM_CURL, " Curl", &LLColor4::magenta3, 0 },
|
||||
{ LLFastTimer::FTM_PUMPIO, " PumpIO", &LLColor4::magenta1, 0 },
|
||||
{ LLFastTimer::FTM_INVENTORY, " Inventory Update", &LLColor4::purple6, 1 },
|
||||
{ LLFastTimer::FTM_AUTO_SELECT, " Open and Select", &LLColor4::red, 0 },
|
||||
{ LLFastTimer::FTM_FILTER, " Filter", &LLColor4::red2, 0 },
|
||||
|
||||
@@ -142,13 +142,13 @@ void LLViewerTextureList::doPreloadImages()
|
||||
image->setAddressMode(LLTexUnit::TAM_WRAP);
|
||||
mImagePreloads.insert(image);
|
||||
}
|
||||
image = LLViewerTextureManager::getFetchedTextureFromFile("world/NoEntryLines.png", MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI);
|
||||
image = LLViewerTextureManager::getFetchedTextureFromFile("noentrylines.j2c"/*"world/NoEntryLines.png"*/, MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI);
|
||||
if (image)
|
||||
{
|
||||
image->setAddressMode(LLTexUnit::TAM_WRAP);
|
||||
mImagePreloads.insert(image);
|
||||
}
|
||||
image = LLViewerTextureManager::getFetchedTextureFromFile("world/NoEntryPassLines.png", MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI);
|
||||
image = LLViewerTextureManager::getFetchedTextureFromFile("noentrypasslines.j2c"/*"world/NoEntryPassLines.png"*/, MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI);
|
||||
if (image)
|
||||
{
|
||||
image->setAddressMode(LLTexUnit::TAM_WRAP);
|
||||
@@ -160,7 +160,7 @@ void LLViewerTextureList::doPreloadImages()
|
||||
image->setAddressMode(LLTexUnit::TAM_WRAP);
|
||||
mImagePreloads.insert(image);
|
||||
}
|
||||
image = LLViewerTextureManager::getFetchedTextureFromFile("transparent.j2c", MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI, LLViewerTexture::FETCHED_TEXTURE,
|
||||
image = LLViewerTextureManager::getFetchedTextureFromFile("8dcd4a48-2d37-4909-9f78-f7a9eb4ef903.j2c"/*"transparent.j2c"*/, MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI, LLViewerTexture::FETCHED_TEXTURE,
|
||||
0,0,LLUUID("8dcd4a48-2d37-4909-9f78-f7a9eb4ef903"));
|
||||
if (image)
|
||||
{
|
||||
|
||||
@@ -544,7 +544,7 @@ void LLPipeline::allocateScreenBuffer(U32 resX, U32 resY)
|
||||
|
||||
stop_glerror();
|
||||
}
|
||||
else if (LLPipeline::sRenderDeferred)
|
||||
if (LLPipeline::sRenderDeferred)
|
||||
{ //share depth buffer between deferred targets
|
||||
mDeferredScreen.shareDepthBuffer(mScreen);
|
||||
for (U32 i = 0; i < 2; i++)
|
||||
@@ -2622,7 +2622,7 @@ void render_hud_elements()
|
||||
//TO-DO:
|
||||
//V2 moved this line from LLPipeline::renderGeom
|
||||
//Uncomment once multisample z-buffer issues are figured out on ati cards.
|
||||
// LLHUDObject::renderAll();
|
||||
LLHUDObject::renderAll();
|
||||
|
||||
//gObjectList.resetObjectBeacons();
|
||||
}
|
||||
@@ -2949,7 +2949,7 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
|
||||
//TO-DO:
|
||||
//V2 moved this line to LLPipeline::render_hud_elements
|
||||
//Migrate once multisample z-buffer issues are figured out on ati cards.
|
||||
LLHUDObject::renderAll();
|
||||
//LLHUDObject::renderAll();
|
||||
gObjectList.resetObjectBeacons();
|
||||
}
|
||||
else
|
||||
@@ -3181,7 +3181,7 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera)
|
||||
//TO-DO:
|
||||
//V2 moved block to LLPipeline::renderDeferredLighting
|
||||
//Migrate once multisample z-buffer issues are figured out on ati cards.
|
||||
if(!sImpostorRender)
|
||||
/*if(!sImpostorRender)
|
||||
{
|
||||
renderHighlights();
|
||||
mHighlightFaces.clear();
|
||||
@@ -3202,7 +3202,7 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera)
|
||||
// Make sure particle effects disappear
|
||||
LLHUDObject::renderAllForTimer();
|
||||
}
|
||||
}
|
||||
}*/
|
||||
//END
|
||||
|
||||
if (occlude)
|
||||
@@ -5596,11 +5596,11 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield, b
|
||||
//TO-DO:
|
||||
//V2 requires this for hover text and such since they have been pulled out of geom render.
|
||||
//Do this when multisample z-buffer issues are figured out
|
||||
/*if (LLRenderTarget::sUseFBO)
|
||||
if (LLRenderTarget::sUseFBO)
|
||||
{ //copy depth buffer from mScreen to framebuffer
|
||||
LLRenderTarget::copyContentsToFramebuffer(mScreen, 0, 0, mScreen.getWidth(), mScreen.getHeight(),
|
||||
0, 0, mScreen.getWidth(), mScreen.getHeight(), GL_DEPTH_BUFFER_BIT, GL_NEAREST);
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5869,7 +5869,8 @@ void LLPipeline::renderDeferredLighting()
|
||||
//TO-DO:
|
||||
//V2 changed to LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS);
|
||||
//Do this when multisample z-buffer issues are figured out
|
||||
LLGLDepthTest depth(GL_FALSE);
|
||||
//LLGLDepthTest depth(GL_FALSE);
|
||||
LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS);
|
||||
stop_glerror();
|
||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, 3);
|
||||
stop_glerror();
|
||||
@@ -5929,7 +5930,8 @@ void LLPipeline::renderDeferredLighting()
|
||||
//TO-DO:
|
||||
//V2 changed to LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS);
|
||||
//Do this when multisample z-buffer issues are figured out
|
||||
LLGLDepthTest depth(GL_FALSE);
|
||||
//LLGLDepthTest depth(GL_FALSE);
|
||||
LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS);
|
||||
stop_glerror();
|
||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, 3);
|
||||
stop_glerror();
|
||||
@@ -5948,7 +5950,8 @@ void LLPipeline::renderDeferredLighting()
|
||||
//TO-DO:
|
||||
//V2 changed to LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS);
|
||||
//Do this when multisample z-buffer issues are figured out
|
||||
LLGLDepthTest depth(GL_FALSE);
|
||||
//LLGLDepthTest depth(GL_FALSE);
|
||||
LLGLDepthTest depth(GL_TRUE, GL_FALSE, GL_ALWAYS);
|
||||
stop_glerror();
|
||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||
stop_glerror();
|
||||
@@ -6189,7 +6192,7 @@ void LLPipeline::renderDeferredLighting()
|
||||
//TO-DO:
|
||||
//V2 moved block from LLPipeline::renderGeomPostDeferred
|
||||
//Migrate once multisample z-buffer issues are figured out on ati cards.
|
||||
/*{
|
||||
{
|
||||
//render highlights, etc.
|
||||
renderHighlights();
|
||||
mHighlightFaces.clear();
|
||||
@@ -6204,7 +6207,7 @@ void LLPipeline::renderDeferredLighting()
|
||||
gObjectList.renderObjectBeacons();
|
||||
gObjectList.resetObjectBeacons();
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
mScreen.flush();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user