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/lldrawpoolalpha.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'indra/newview/lldrawpoolalpha.cpp') diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp index 5b62dbc560..a56e71baa8 100644 --- a/indra/newview/lldrawpoolalpha.cpp +++ b/indra/newview/lldrawpoolalpha.cpp @@ -405,6 +405,12 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask) { LLDrawInfo& params = **k; + if ((params.mVertexBuffer->getTypeMask() & mask) != mask) + { //FIXME! + //llwarns << "Missing required components, skipping render batch." << llendl; + continue; + } + LLRenderPass::applyModelMatrix(params); -- cgit v1.3 From cea270c50aee7651c1746177f1121e8d25eb8569 Mon Sep 17 00:00:00 2001 From: Dave Parks Date: Wed, 23 May 2012 11:11:14 -0500 Subject: MAINT-616 Fix for particles not rendering. --- indra/newview/lldrawpoolalpha.cpp | 2 +- indra/newview/llvopartgroup.cpp | 9 +++++++++ indra/newview/llvopartgroup.h | 9 +++++---- 3 files changed, 15 insertions(+), 5 deletions(-) (limited to 'indra/newview/lldrawpoolalpha.cpp') diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp index a56e71baa8..5f2a982ed3 100644 --- a/indra/newview/lldrawpoolalpha.cpp +++ b/indra/newview/lldrawpoolalpha.cpp @@ -407,7 +407,7 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask) if ((params.mVertexBuffer->getTypeMask() & mask) != mask) { //FIXME! - //llwarns << "Missing required components, skipping render batch." << llendl; + llwarns << "Missing required components, skipping render batch." << llendl; continue; } diff --git a/indra/newview/llvopartgroup.cpp b/indra/newview/llvopartgroup.cpp index fca97987a2..1ac13cd1ea 100644 --- a/indra/newview/llvopartgroup.cpp +++ b/indra/newview/llvopartgroup.cpp @@ -69,8 +69,15 @@ void LLVOPartGroup::restoreGL() //indices and texcoords are always the same, set once LLStrider indicesp; + LLStrider verticesp; + sVB->getIndexStrider(indicesp); + sVB->getVertexStrider(verticesp); + + LLVector4a v; + v.set(0,0,0,0); + U16 vert_offset = 0; for (U32 i = 0; i < LL_MAX_PARTICLE_COUNT; i++) @@ -83,6 +90,8 @@ void LLVOPartGroup::restoreGL() *indicesp++ = vert_offset + 3; *indicesp++ = vert_offset + 2; + *verticesp++ = v; + vert_offset += 4; } diff --git a/indra/newview/llvopartgroup.h b/indra/newview/llvopartgroup.h index dde0b0476d..6160bceb24 100644 --- a/indra/newview/llvopartgroup.h +++ b/indra/newview/llvopartgroup.h @@ -52,10 +52,11 @@ public: enum { - VERTEX_DATA_MASK = (1 << LLVertexBuffer::TYPE_VERTEX) | - (1 << LLVertexBuffer::TYPE_NORMAL) | - (1 << LLVertexBuffer::TYPE_TEXCOORD0) | - (1 << LLVertexBuffer::TYPE_COLOR) + VERTEX_DATA_MASK = LLVertexBuffer::MAP_VERTEX | + LLVertexBuffer::MAP_NORMAL | + LLVertexBuffer::MAP_TEXCOORD0 | + LLVertexBuffer::MAP_COLOR | + LLVertexBuffer::MAP_TEXTURE_INDEX }; LLVOPartGroup(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp); -- cgit v1.3