From b7cfd8c7f09a1a913c5678a5a25a951307593eb3 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Mon, 21 May 2012 23:33:25 -0500 Subject: MAINT-616 Factor out calls to glGenFoo where possible, add setting to control synchronizing strategy WRT occlusion queries, add experimental transform feedback driven LoD update --- indra/newview/pipeline.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'indra/newview/pipeline.h') diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index 252fe1346c..9eebe3831f 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -161,6 +161,7 @@ public: void markRebuild(LLSpatialGroup* group, BOOL priority = FALSE); void markRebuild(LLDrawable *drawablep, LLDrawable::EDrawableFlags flag = LLDrawable::REBUILD_ALL, BOOL priority = FALSE); void markPartitionMove(LLDrawable* drawablep); + void markMeshDirty(LLSpatialGroup* group); //get the object between start and end that's closest to start. LLViewerObject* lineSegmentIntersectInWorld(const LLVector3& start, const LLVector3& end, @@ -592,6 +593,7 @@ public: BOOL mVertexShadersEnabled; S32 mVertexShadersLoaded; // 0 = no, 1 = yes, -1 = failed + U32 mTransformFeedbackPrimitives; //number of primitives expected to be generated by transform feedback protected: BOOL mRenderTypeEnabled[NUM_RENDER_TYPES]; std::stack mRenderTypeEnableStack; @@ -649,6 +651,9 @@ protected: LLSpatialGroup::sg_vector_t mGroupQ1; //priority LLSpatialGroup::sg_vector_t mGroupQ2; // non-priority + LLSpatialGroup::sg_vector_t mMeshDirtyGroup; //groups that need rebuildMesh called + U32 mMeshDirtyQueryObject; + LLDrawable::drawable_list_t mPartitionQ; //drawables that need to update their spatial partition radius bool mGroupQ2Locked; -- cgit v1.2.3 From f2c2b88033e912be00ba0c08bc7f074d6881d1d5 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Wed, 23 May 2012 11:31:34 -0500 Subject: MAINT-616 Much faster rendering of local lights when Lighting and Shadows enabled --- indra/newview/pipeline.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/newview/pipeline.h') diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index 9eebe3831f..060116dff7 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -542,6 +542,9 @@ public: //utility buffer for rendering post effects, gets abused by renderDeferredLighting LLPointer mDeferredVB; + //utility buffer for rendering cubes, 8 vertices are corners of a cube [-1, 1] + LLPointer mCubeVB; + //sun shadow map LLRenderTarget mShadow[6]; std::vector mShadowFrustPoints[4]; -- cgit v1.2.3 From 096fe03786a2ccfbbb0363cfb2e371752c6daa2e Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Fri, 1 Jun 2012 14:27:04 -0500 Subject: MAINT-646 Faster traversal of render batch lists. --- indra/newview/pipeline.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'indra/newview/pipeline.h') diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index 060116dff7..9d56077c55 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -292,10 +292,10 @@ public: void setLight(LLDrawable *drawablep, BOOL is_light); BOOL hasRenderBatches(const U32 type) const; - LLCullResult::drawinfo_list_t::iterator beginRenderMap(U32 type); - LLCullResult::drawinfo_list_t::iterator endRenderMap(U32 type); - LLCullResult::sg_list_t::iterator beginAlphaGroups(); - LLCullResult::sg_list_t::iterator endAlphaGroups(); + LLCullResult::drawinfo_iterator beginRenderMap(U32 type); + LLCullResult::drawinfo_iterator endRenderMap(U32 type); + LLCullResult::sg_iterator beginAlphaGroups(); + LLCullResult::sg_iterator endAlphaGroups(); void addTrianglesDrawn(S32 index_count, U32 render_type = LLRender::TRIANGLES); -- cgit v1.2.3