SL-16606: Add profiler category PIPELINE
parent
e613e30499
commit
7cd173cd13
|
|
@ -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;
|
||||
|
|
@ -1971,7 +1971,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)
|
||||
{
|
||||
|
|
@ -2073,7 +2073,7 @@ void LLPipeline::grabReferences(LLCullResult& result)
|
|||
|
||||
void LLPipeline::clearReferences()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
sCull = NULL;
|
||||
mGroupSaveQ1.clear();
|
||||
}
|
||||
|
|
@ -2327,7 +2327,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)
|
||||
{
|
||||
|
|
@ -2613,7 +2613,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))
|
||||
{
|
||||
|
|
@ -2700,7 +2700,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())
|
||||
{
|
||||
|
|
@ -2718,7 +2718,7 @@ void LLPipeline::updateGL()
|
|||
|
||||
void LLPipeline::clearRebuildGroups()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
LLSpatialGroup::sg_vector_t hudGroups;
|
||||
|
||||
mGroupQ1Locked = true;
|
||||
|
|
@ -2823,7 +2823,7 @@ void LLPipeline::clearRebuildDrawables()
|
|||
|
||||
void LLPipeline::rebuildPriorityGroups()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
LLTimer update_timer;
|
||||
assertInitialized();
|
||||
|
||||
|
|
@ -2852,7 +2852,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();
|
||||
|
|
@ -3100,7 +3100,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);
|
||||
|
|
@ -3171,7 +3171,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;
|
||||
|
|
@ -3273,6 +3273,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,
|
||||
|
|
@ -3287,8 +3289,6 @@ void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)
|
|||
gPipeline.resetDrawOrders();
|
||||
}
|
||||
|
||||
LL_RECORD_BLOCK_TIME(FTM_STATESORT);
|
||||
|
||||
//LLVertexBuffer::unbind();
|
||||
|
||||
grabReferences(result);
|
||||
|
|
@ -3407,7 +3407,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;
|
||||
|
|
@ -3417,7 +3417,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()))
|
||||
|
|
@ -3727,7 +3727,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]);
|
||||
|
|
@ -3740,7 +3740,7 @@ void LLPipeline::touchTextures(LLDrawInfo* info)
|
|||
|
||||
void LLPipeline::postSort(LLCamera& camera)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
|
||||
assertInitialized();
|
||||
|
||||
|
|
@ -4249,7 +4249,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();
|
||||
|
||||
|
|
@ -4693,7 +4693,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);
|
||||
|
|
@ -4759,7 +4759,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)
|
||||
|
|
@ -5471,7 +5471,7 @@ void LLPipeline::renderDebug()
|
|||
|
||||
void LLPipeline::rebuildPools()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
|
||||
assertInitialized();
|
||||
|
||||
|
|
@ -5815,7 +5815,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)
|
||||
|
|
@ -7221,7 +7221,7 @@ void LLPipeline::doResetVertexBuffers(bool forced)
|
|||
}
|
||||
}
|
||||
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
mResetVertexBuffers = false;
|
||||
|
||||
mCubeVB = NULL;
|
||||
|
|
@ -7310,7 +7310,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;
|
||||
|
|
@ -8039,7 +8039,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;
|
||||
|
|
@ -8301,7 +8301,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;
|
||||
|
|
@ -8312,7 +8312,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);
|
||||
|
|
@ -8378,7 +8378,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);
|
||||
|
|
@ -8424,7 +8424,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);
|
||||
|
|
@ -8502,7 +8502,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();
|
||||
|
|
@ -8568,7 +8568,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())
|
||||
|
|
@ -8674,7 +8674,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);
|
||||
|
||||
|
|
@ -8719,7 +8719,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
|
||||
|
|
@ -9113,7 +9113,7 @@ inline float sgn(float a)
|
|||
|
||||
void LLPipeline::generateWaterReflection(LLCamera& camera_in)
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED;
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_PIPELINE;
|
||||
|
||||
if (!assertInitialized())
|
||||
{
|
||||
|
|
@ -9520,7 +9520,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;
|
||||
|
|
@ -9607,7 +9607,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)
|
||||
|
|
@ -9625,7 +9625,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);
|
||||
|
|
@ -9634,13 +9634,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)
|
||||
{
|
||||
|
|
@ -9656,19 +9656,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);
|
||||
|
|
@ -9677,7 +9677,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)
|
||||
{
|
||||
|
|
@ -9723,7 +9723,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))
|
||||
|
|
@ -9986,7 +9986,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