Merge git://github.com/Shyotl/SingularityViewer

This commit is contained in:
Siana Gearz
2011-05-03 19:34:16 +02:00
6 changed files with 43 additions and 20 deletions

View File

@@ -54,6 +54,7 @@ public:
// common messaging components
FTM_PUMP,
FTM_CURL,
FTM_PUMPIO,
// common simulation components
FTM_UPDATE_ANIMATION,

View File

@@ -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.

View File

@@ -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();

View File

@@ -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 },

View File

@@ -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)
{

View File

@@ -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();