SL-16606: Add profiler category PIPELINE
parent
04248b0aed
commit
206a8bb30f
|
|
@ -1868,7 +1868,7 @@ void LLGLState::checkTextureChannels(const std::string& msg)
|
|||
LLGLState::LLGLState(LLGLenum state, S32 enabled) :
|
||||
mState(state), mWasEnabled(FALSE), mIsEnabled(FALSE)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
switch (state)
|
||||
{
|
||||
case GL_ALPHA_TEST:
|
||||
|
|
@ -1925,7 +1925,7 @@ void LLGLState::setEnabled(S32 enabled)
|
|||
|
||||
LLGLState::~LLGLState()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
stop_glerror();
|
||||
if (mState)
|
||||
{
|
||||
|
|
@ -2184,7 +2184,7 @@ void LLGLNamePool::cleanup()
|
|||
|
||||
GLuint LLGLNamePool::allocate()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
#if LL_GL_NAME_POOLING
|
||||
for (name_list_t::iterator iter = mNameList.begin(); iter != mNameList.end(); ++iter)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@ void LLTexUnit::bindFast(LLTexture* texture)
|
|||
|
||||
bool LLTexUnit::bind(LLTexture* texture, bool for_rendering, bool forceBind)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
stop_glerror();
|
||||
if (mIndex >= 0)
|
||||
{
|
||||
|
|
@ -1483,7 +1483,7 @@ LLLightState* LLRender::getLight(U32 index)
|
|||
|
||||
void LLRender::setAmbientLightColor(const LLColor4& color)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE
|
||||
if (color != mAmbientLightColor)
|
||||
{
|
||||
++mLightHash;
|
||||
|
|
@ -1558,7 +1558,7 @@ void LLRender::flush()
|
|||
{
|
||||
if (mCount > 0)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
if (!mUIOffset.empty())
|
||||
{
|
||||
sUICalls++;
|
||||
|
|
|
|||
|
|
@ -885,7 +885,7 @@ void LLWorld::waterHeightRegionInfo(std::string const& sim_name, F32 water_heigh
|
|||
|
||||
void LLWorld::precullWaterObjects(LLCamera& camera, LLCullResult* cull, bool include_void_water)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
if (!gAgent.getRegion())
|
||||
{
|
||||
return;
|
||||
|
|
@ -1079,7 +1079,7 @@ void LLWorld::updateWaterObjects()
|
|||
|
||||
void LLWorld::shiftRegions(const LLVector3& offset)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
for (region_list_t::const_iterator i = getRegionList().begin(); i != getRegionList().end(); ++i)
|
||||
{
|
||||
LLViewerRegion* region = *i;
|
||||
|
|
|
|||
|
|
@ -1224,7 +1224,7 @@ void LLPipeline::releaseShadowTargets()
|
|||
|
||||
void LLPipeline::createGLBuffers()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
stop_glerror();
|
||||
assertInitialized();
|
||||
|
||||
|
|
@ -1491,7 +1491,7 @@ public:
|
|||
// Called when a texture changes # of channels (causes faces to move to alpha pool)
|
||||
void LLPipeline::dirtyPoolObjectTextures(const std::set<LLViewerFetchedTexture*>& textures)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
assertInitialized();
|
||||
|
||||
// *TODO: This is inefficient and causes frame spikes; need a better way to do this
|
||||
|
|
@ -1705,7 +1705,7 @@ void LLPipeline::allocDrawable(LLViewerObject *vobj)
|
|||
|
||||
void LLPipeline::unlinkDrawable(LLDrawable *drawable)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
|
||||
assertInitialized();
|
||||
|
||||
|
|
@ -1770,7 +1770,7 @@ void LLPipeline::unlinkDrawable(LLDrawable *drawable)
|
|||
//static
|
||||
void LLPipeline::removeMutedAVsLights(LLVOAvatar* muted_avatar)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
for (light_set_t::iterator iter = gPipeline.mNearbyLights.begin();
|
||||
iter != gPipeline.mNearbyLights.end(); iter++)
|
||||
{
|
||||
|
|
@ -1798,7 +1798,7 @@ U32 LLPipeline::addObject(LLViewerObject *vobj)
|
|||
|
||||
void LLPipeline::createObjects(F32 max_dtime)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
|
||||
LLTimer update_timer;
|
||||
|
||||
|
|
@ -1822,7 +1822,7 @@ void LLPipeline::createObjects(F32 max_dtime)
|
|||
|
||||
void LLPipeline::createObject(LLViewerObject* vobj)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
LLDrawable* drawablep = vobj->mDrawable;
|
||||
|
||||
if (!drawablep)
|
||||
|
|
@ -1860,7 +1860,7 @@ void LLPipeline::createObject(LLViewerObject* vobj)
|
|||
|
||||
void LLPipeline::resetFrameStats()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
assertInitialized();
|
||||
|
||||
sCompiles = 0;
|
||||
|
|
@ -1974,7 +1974,7 @@ void LLPipeline::updateMovedList(LLDrawable::drawable_vector_t& moved_list)
|
|||
|
||||
void LLPipeline::updateMove()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
|
||||
if (FreezeTime)
|
||||
{
|
||||
|
|
@ -2076,7 +2076,7 @@ void LLPipeline::grabReferences(LLCullResult& result)
|
|||
|
||||
void LLPipeline::clearReferences()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
sCull = NULL;
|
||||
mGroupSaveQ1.clear();
|
||||
}
|
||||
|
|
@ -2330,7 +2330,7 @@ void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result, LLPlane* pla
|
|||
static bool can_use_occlusion = LLFeatureManager::getInstance()->isFeatureAvailable("UseOcclusion")
|
||||
&& gGLManager.mHasOcclusionQuery;
|
||||
|
||||
LL_RECORD_BLOCK_TIME(FTM_CULL);
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE; //LL_RECORD_BLOCK_TIME(FTM_CULL);
|
||||
|
||||
if (planep != nullptr)
|
||||
{
|
||||
|
|
@ -2616,7 +2616,7 @@ void LLPipeline::doOcclusion(LLCamera& camera, LLRenderTarget& source, LLRenderT
|
|||
|
||||
void LLPipeline::doOcclusion(LLCamera& camera)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
if (LLPipeline::sUseOcclusion > 1 && !LLSpatialPartition::sTeleportRequested &&
|
||||
(sCull->hasOcclusionGroups() || LLVOCachePartition::sNeedsOcclusionCheck))
|
||||
{
|
||||
|
|
@ -2703,7 +2703,7 @@ bool LLPipeline::updateDrawableGeom(LLDrawable* drawablep, bool priority)
|
|||
|
||||
void LLPipeline::updateGL()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
{
|
||||
while (!LLGLUpdate::sGLQ.empty())
|
||||
{
|
||||
|
|
@ -2721,7 +2721,7 @@ void LLPipeline::updateGL()
|
|||
|
||||
void LLPipeline::clearRebuildGroups()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
LLSpatialGroup::sg_vector_t hudGroups;
|
||||
|
||||
mGroupQ1Locked = true;
|
||||
|
|
@ -2826,7 +2826,7 @@ void LLPipeline::clearRebuildDrawables()
|
|||
|
||||
void LLPipeline::rebuildPriorityGroups()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
LLTimer update_timer;
|
||||
assertInitialized();
|
||||
|
||||
|
|
@ -2855,7 +2855,7 @@ void LLPipeline::rebuildGroups()
|
|||
return;
|
||||
}
|
||||
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
mGroupQ2Locked = true;
|
||||
// Iterate through some drawables on the non-priority build queue
|
||||
S32 size = (S32) mGroupQ2.size();
|
||||
|
|
@ -3103,7 +3103,7 @@ void LLPipeline::markShift(LLDrawable *drawablep)
|
|||
|
||||
void LLPipeline::shiftObjects(const LLVector3 &offset)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
assertInitialized();
|
||||
|
||||
glClear(GL_DEPTH_BUFFER_BIT);
|
||||
|
|
@ -3174,7 +3174,7 @@ void LLPipeline::markPartitionMove(LLDrawable* drawable)
|
|||
|
||||
void LLPipeline::processPartitionQ()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
for (LLDrawable::drawable_list_t::iterator iter = mPartitionQ.begin(); iter != mPartitionQ.end(); ++iter)
|
||||
{
|
||||
LLDrawable* drawable = *iter;
|
||||
|
|
@ -3276,6 +3276,8 @@ void LLPipeline::markRebuild(LLDrawable *drawablep, LLDrawable::EDrawableFlags f
|
|||
|
||||
void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
|
||||
if (hasAnyRenderType(LLPipeline::RENDER_TYPE_AVATAR,
|
||||
LLPipeline::RENDER_TYPE_CONTROL_AV,
|
||||
LLPipeline::RENDER_TYPE_GROUND,
|
||||
|
|
@ -3290,8 +3292,6 @@ void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)
|
|||
gPipeline.resetDrawOrders();
|
||||
}
|
||||
|
||||
LL_RECORD_BLOCK_TIME(FTM_STATESORT);
|
||||
|
||||
//LLVertexBuffer::unbind();
|
||||
|
||||
grabReferences(result);
|
||||
|
|
@ -3410,7 +3410,7 @@ void LLPipeline::stateSort(LLSpatialGroup* group, LLCamera& camera)
|
|||
|
||||
void LLPipeline::stateSort(LLSpatialBridge* bridge, LLCamera& camera, BOOL fov_changed)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
if (bridge->getSpatialGroup()->changeLOD() || fov_changed)
|
||||
{
|
||||
bool force_update = false;
|
||||
|
|
@ -3420,7 +3420,7 @@ void LLPipeline::stateSort(LLSpatialBridge* bridge, LLCamera& camera, BOOL fov_c
|
|||
|
||||
void LLPipeline::stateSort(LLDrawable* drawablep, LLCamera& camera)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
if (!drawablep
|
||||
|| drawablep->isDead()
|
||||
|| !hasRenderType(drawablep->getRenderType()))
|
||||
|
|
@ -3730,7 +3730,7 @@ void LLPipeline::touchTexture(LLViewerTexture* tex, F32 vsize)
|
|||
}
|
||||
void LLPipeline::touchTextures(LLDrawInfo* info)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
for (int i = 0; i < info->mTextureList.size(); ++i)
|
||||
{
|
||||
touchTexture(info->mTextureList[i], info->mTextureListVSize[i]);
|
||||
|
|
@ -3743,7 +3743,7 @@ void LLPipeline::touchTextures(LLDrawInfo* info)
|
|||
|
||||
void LLPipeline::postSort(LLCamera& camera)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
|
||||
assertInitialized();
|
||||
|
||||
|
|
@ -4252,7 +4252,7 @@ U32 LLPipeline::sCurRenderPoolType = 0 ;
|
|||
|
||||
void LLPipeline::renderGeom(LLCamera& camera, bool forceVBOUpdate)
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_RENDER_GEOMETRY);
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE; //LL_RECORD_BLOCK_TIME(FTM_RENDER_GEOMETRY);
|
||||
|
||||
assertInitialized();
|
||||
|
||||
|
|
@ -4696,7 +4696,7 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera, bool do_occlusion)
|
|||
|
||||
void LLPipeline::renderGeomShadow(LLCamera& camera)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
U32 cur_type = 0;
|
||||
|
||||
LLGLEnable cull(GL_CULL_FACE);
|
||||
|
|
@ -4762,7 +4762,7 @@ void LLPipeline::renderGeomShadow(LLCamera& camera)
|
|||
|
||||
void LLPipeline::addTrianglesDrawn(S32 index_count, U32 render_type)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
assertInitialized();
|
||||
S32 count = 0;
|
||||
if (render_type == LLRender::TRIANGLE_STRIP)
|
||||
|
|
@ -5474,7 +5474,7 @@ void LLPipeline::renderDebug()
|
|||
|
||||
void LLPipeline::rebuildPools()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
|
||||
assertInitialized();
|
||||
|
||||
|
|
@ -5818,7 +5818,7 @@ void LLPipeline::removeFromQuickLookup( LLDrawPool* poolp )
|
|||
|
||||
void LLPipeline::resetDrawOrders()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
assertInitialized();
|
||||
// Iterate through all of the draw pools and rebuild them.
|
||||
for (pool_set_t::iterator iter = mPools.begin(); iter != mPools.end(); ++iter)
|
||||
|
|
@ -7224,7 +7224,7 @@ void LLPipeline::doResetVertexBuffers(bool forced)
|
|||
}
|
||||
}
|
||||
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
mResetVertexBuffers = false;
|
||||
|
||||
mCubeVB = NULL;
|
||||
|
|
@ -7313,7 +7313,7 @@ void LLPipeline::renderObjects(U32 type, U32 mask, bool texture, bool batch_text
|
|||
|
||||
void LLPipeline::renderAlphaObjects(U32 mask, bool texture, bool batch_texture, bool rigged)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
assertInitialized();
|
||||
gGL.loadMatrix(gGLModelView);
|
||||
gGLLastMatrix = NULL;
|
||||
|
|
@ -8042,7 +8042,7 @@ void LLPipeline::renderFinalize()
|
|||
|
||||
void LLPipeline::bindDeferredShader(LLGLSLShader& shader, LLRenderTarget* light_target)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
|
||||
LLRenderTarget* deferred_target = &mDeferredScreen;
|
||||
LLRenderTarget* deferred_depth_target = &mDeferredDepth;
|
||||
|
|
@ -8304,7 +8304,7 @@ LLVector4 pow4fsrgb(LLVector4 v, F32 f)
|
|||
|
||||
void LLPipeline::renderDeferredLighting(LLRenderTarget *screen_target)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
if (!sCull)
|
||||
{
|
||||
return;
|
||||
|
|
@ -8315,7 +8315,7 @@ void LLPipeline::renderDeferredLighting(LLRenderTarget *screen_target)
|
|||
LLRenderTarget *deferred_light_target = &mDeferredLight;
|
||||
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_RENDER_DEFERRED);
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("deferred"); //LL_RECORD_BLOCK_TIME(FTM_RENDER_DEFERRED);
|
||||
LLViewerCamera *camera = LLViewerCamera::getInstance();
|
||||
{
|
||||
LLGLDepthTest depth(GL_TRUE);
|
||||
|
|
@ -8381,7 +8381,7 @@ void LLPipeline::renderDeferredLighting(LLRenderTarget *screen_target)
|
|||
{
|
||||
deferred_light_target->bindTarget();
|
||||
{ // paint shadow/SSAO light map (direct lighting lightmap)
|
||||
LL_PROFILE_ZONE_NAMED("renderDeferredLighting - sun shadow");
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("renderDeferredLighting - sun shadow");
|
||||
bindDeferredShader(gDeferredSunProgram, deferred_light_target);
|
||||
mDeferredVB->setBuffer(LLVertexBuffer::MAP_VERTEX);
|
||||
glClearColor(1, 1, 1, 1);
|
||||
|
|
@ -8427,7 +8427,7 @@ void LLPipeline::renderDeferredLighting(LLRenderTarget *screen_target)
|
|||
|
||||
if (RenderDeferredSSAO)
|
||||
{ // soften direct lighting lightmap
|
||||
LL_PROFILE_ZONE_NAMED("renderDeferredLighting - soften shadow");
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("renderDeferredLighting - soften shadow");
|
||||
// blur lightmap
|
||||
screen_target->bindTarget();
|
||||
glClearColor(1, 1, 1, 1);
|
||||
|
|
@ -8505,7 +8505,7 @@ void LLPipeline::renderDeferredLighting(LLRenderTarget *screen_target)
|
|||
{ // apply sunlight contribution
|
||||
LLGLSLShader &soften_shader = LLPipeline::sUnderWaterRender ? gDeferredSoftenWaterProgram : gDeferredSoftenProgram;
|
||||
|
||||
LL_PROFILE_ZONE_NAMED("renderDeferredLighting - atmospherics");
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("renderDeferredLighting - atmospherics");
|
||||
bindDeferredShader(soften_shader);
|
||||
|
||||
LLEnvironment &environment = LLEnvironment::instance();
|
||||
|
|
@ -8571,7 +8571,7 @@ void LLPipeline::renderDeferredLighting(LLRenderTarget *screen_target)
|
|||
LLVertexBuffer::unbind();
|
||||
|
||||
{
|
||||
LL_PROFILE_ZONE_NAMED("renderDeferredLighting - local lights");
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("renderDeferredLighting - local lights");
|
||||
bindDeferredShader(gDeferredLightProgram);
|
||||
|
||||
if (mCubeVB.isNull())
|
||||
|
|
@ -8677,7 +8677,7 @@ void LLPipeline::renderDeferredLighting(LLRenderTarget *screen_target)
|
|||
|
||||
if (!spot_lights.empty())
|
||||
{
|
||||
LL_PROFILE_ZONE_NAMED("renderDeferredLighting - projectors");
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("renderDeferredLighting - projectors");
|
||||
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
|
||||
bindDeferredShader(gDeferredSpotLightProgram);
|
||||
|
||||
|
|
@ -8722,7 +8722,7 @@ void LLPipeline::renderDeferredLighting(LLRenderTarget *screen_target)
|
|||
vert[2].set(3, 1, 0);
|
||||
|
||||
{
|
||||
LL_PROFILE_ZONE_NAMED("renderDeferredLighting - fullscreen lights");
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("renderDeferredLighting - fullscreen lights");
|
||||
LLGLDepthTest depth(GL_FALSE);
|
||||
|
||||
// full screen blit
|
||||
|
|
@ -9116,7 +9116,7 @@ inline float sgn(float a)
|
|||
|
||||
void LLPipeline::generateWaterReflection(LLCamera& camera_in)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
|
||||
if (!assertInitialized())
|
||||
{
|
||||
|
|
@ -9523,7 +9523,7 @@ static LLTrace::BlockTimerStatHandle FTM_SHADOW_FULLBRIGHT_ALPHA_MASKED("Fullbri
|
|||
|
||||
void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera& shadow_cam, LLCullResult& result, bool use_shader, bool use_occlusion, U32 target_width)
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_SHADOW_RENDER);
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE; //LL_RECORD_BLOCK_TIME(FTM_SHADOW_RENDER);
|
||||
|
||||
//disable occlusion culling for shadow passes (save setting to restore later)
|
||||
S32 occlude = LLPipeline::sUseOcclusion;
|
||||
|
|
@ -9610,7 +9610,7 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera
|
|||
gGL.setColorMask(false, false);
|
||||
}
|
||||
|
||||
LL_RECORD_BLOCK_TIME(FTM_SHADOW_SIMPLE);
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow simple"); //LL_RECORD_BLOCK_TIME(FTM_SHADOW_SIMPLE);
|
||||
|
||||
gGL.getTexUnit(0)->disable();
|
||||
for (U32 i = 0; i < sizeof(types) / sizeof(U32); ++i)
|
||||
|
|
@ -9628,7 +9628,7 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera
|
|||
|
||||
if (use_shader)
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_SHADOW_GEOM);
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow geom"); //LL_RECORD_BLOCK_TIME(FTM_SHADOW_GEOM);
|
||||
|
||||
gDeferredShadowProgram.unbind();
|
||||
renderGeomShadow(shadow_cam);
|
||||
|
|
@ -9637,13 +9637,13 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera
|
|||
}
|
||||
else
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_SHADOW_GEOM);
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow geom"); //LL_RECORD_BLOCK_TIME(FTM_SHADOW_GEOM);
|
||||
|
||||
renderGeomShadow(shadow_cam);
|
||||
}
|
||||
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA);
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow alpha"); //LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA);
|
||||
|
||||
for (int i = 0; i < 2; ++i)
|
||||
{
|
||||
|
|
@ -9659,19 +9659,19 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera
|
|||
LLVertexBuffer::MAP_TEXTURE_INDEX;
|
||||
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_MASKED);
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow alpha masked"); //LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_MASKED);
|
||||
renderMaskedObjects(LLRenderPass::PASS_ALPHA_MASK, mask, TRUE, TRUE, rigged);
|
||||
}
|
||||
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_BLEND);
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow alpha blend"); //LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_BLEND);
|
||||
LLGLSLShader::sCurBoundShaderPtr->setMinimumAlpha(0.598f);
|
||||
renderAlphaObjects(mask, TRUE, TRUE, rigged);
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_SHADOW_FULLBRIGHT_ALPHA_MASKED);
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow fullbright alpha masked"); //LL_RECORD_BLOCK_TIME(FTM_SHADOW_FULLBRIGHT_ALPHA_MASKED);
|
||||
gDeferredShadowFullbrightAlphaMaskProgram.bind(rigged);
|
||||
LLGLSLShader::sCurBoundShaderPtr->uniform1f(LLShaderMgr::DEFERRED_SHADOW_TARGET_WIDTH, (float)target_width);
|
||||
LLGLSLShader::sCurBoundShaderPtr->uniform1i(LLShaderMgr::SUN_UP_FACTOR, environment.getIsSunUp() ? 1 : 0);
|
||||
|
|
@ -9680,7 +9680,7 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera
|
|||
|
||||
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_GRASS);
|
||||
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("shadow alpha grass"); //LL_RECORD_BLOCK_TIME(FTM_SHADOW_ALPHA_GRASS);
|
||||
gDeferredTreeShadowProgram.bind(rigged);
|
||||
if (i == 0)
|
||||
{
|
||||
|
|
@ -9726,7 +9726,7 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera
|
|||
|
||||
bool LLPipeline::getVisiblePointCloud(LLCamera& camera, LLVector3& min, LLVector3& max, std::vector<LLVector3>& fp, LLVector3 light_dir)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
//get point cloud of intersection of frust and min, max
|
||||
|
||||
if (getVisibleExtents(camera, min, max))
|
||||
|
|
@ -9989,7 +9989,7 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
|
|||
return;
|
||||
}
|
||||
|
||||
LL_RECORD_BLOCK_TIME(FTM_GEN_SUN_SHADOW);
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE; //LL_RECORD_BLOCK_TIME(FTM_GEN_SUN_SHADOW);
|
||||
|
||||
bool skip_avatar_update = false;
|
||||
if (!isAgentAvatarValid() || gAgentCamera.getCameraAnimating() || gAgentCamera.getCameraMode() != CAMERA_MODE_MOUSELOOK || !LLVOAvatar::sVisibleInFirstPerson)
|
||||
|
|
|
|||
Loading…
Reference in New Issue