summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorTofu Buzzard <no-email>2011-03-07 15:27:35 -0800
committerTofu Buzzard <no-email>2011-03-07 15:27:35 -0800
commit0a40e00708f092afa631be92490b6576ba2d6e49 (patch)
tree994f778a59cf3140ac0a2419e88328c0b17cf329 /indra/newview
parent02d9d8ff4b6b70d92e437afb0944e89188f14f3e (diff)
parent2b0ef47f78f3137b3f9c1f2dfb9e9004ee8cdefe (diff)
merge
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/lldrawpoolavatar.cpp9
-rw-r--r--indra/newview/llvovolume.cpp7
2 files changed, 12 insertions, 4 deletions
diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp
index 48e561b24b..2de4c93ffd 100644
--- a/indra/newview/lldrawpoolavatar.cpp
+++ b/indra/newview/lldrawpoolavatar.cpp
@@ -334,7 +334,14 @@ void LLDrawPoolAvatar::renderPostDeferred(S32 pass)
9, //rigged glow
};
- render(actual_pass[pass]);
+ pass = actual_pass[pass];
+
+ if (LLPipeline::sImpostorRender)
+ { //HACK for impostors so actual pass ends up being proper pass
+ pass -= 2;
+ }
+
+ render(pass);
}
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 7601b68c5f..1186d4d8d9 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -4204,7 +4204,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
{
bump_mask |= LLVertexBuffer::MAP_BINORMAL;
}
-
+
genDrawInfo(group, simple_mask, simple_faces);
genDrawInfo(group, bump_mask, bump_faces);
genDrawInfo(group, fullbright_mask, fullbright_faces);
@@ -4423,9 +4423,10 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::
}
else
{ //resize pre-existing buffer
- if (LLVertexBuffer::sEnableVBOs && buffer->getUsage() != group->mBufferUsage)
+ if (LLVertexBuffer::sEnableVBOs && buffer->getUsage() != group->mBufferUsage ||
+ buffer->getTypeMask() != mask)
{
- buffer = createVertexBuffer(group->mSpatialPartition->mVertexDataMask,
+ buffer = createVertexBuffer(mask,
group->mBufferUsage);
buffer->allocateBuffer(geom_count, index_count, TRUE);
}