Commits

davep  committed fb4f3c7

SH-2031 Disable usage of glMapBuffer (again). Despite using MapBufferRange, this is still a source of frame stalls.

  • Participants
  • Parent commits a693b06

Comments (0)

Files changed (4)

File indra/newview/featuretable.txt

-version 31
+version 32
 
 // NOTE: This is mostly identical to featuretable_mac.txt with a few differences
 // Should be combined into one table
 // GL_ARB_map_buffer_range exists
 //
 list MapBufferRange
-RenderVBOMappingDisable		1	0
+RenderVBOMappingDisable		1	1
 
 
 //

File indra/newview/featuretable_linux.txt

-version 26
+version 27
 
 // NOTE: This is mostly identical to featuretable_mac.txt with a few differences
 // Should be combined into one table
 // GL_ARB_map_buffer_range exists
 //
 list MapBufferRange
-RenderVBOMappingDisable		1	0
+RenderVBOMappingDisable		1	1
 
 
 

File indra/newview/featuretable_xp.txt

 // GL_ARB_map_buffer_range exists
 //
 list MapBufferRange
-RenderVBOMappingDisable		1	0
+RenderVBOMappingDisable		1	1
 
 
 //

File indra/newview/llface.cpp

 
 
 static LLFastTimer::DeclareTimer FTM_FACE_GET_GEOM("Face Geom");
+static LLFastTimer::DeclareTimer FTM_FACE_GEOM_POSITION("Position");
+static LLFastTimer::DeclareTimer FTM_FACE_GEOM_NORMAL("Normal");
+static LLFastTimer::DeclareTimer FTM_FACE_GEOM_TEXTURE("Texture");
+static LLFastTimer::DeclareTimer FTM_FACE_GEOM_COLOR("Color");
+static LLFastTimer::DeclareTimer FTM_FACE_GEOM_WEIGHTS("Weights");
+static LLFastTimer::DeclareTimer FTM_FACE_GEOM_BINORMAL("Binormal");
+static LLFastTimer::DeclareTimer FTM_FACE_GEOM_INDEX("Index");
 
 BOOL LLFace::getGeometryVolume(const LLVolume& volume,
 							   const S32 &f,
 	// INDICES
 	if (full_rebuild)
 	{
+		LLFastTimer t(FTM_FACE_GEOM_INDEX);
 		mVertexBuffer->getIndexStrider(indicesp, mIndicesIndex, mIndicesCount, map_range);
 
 		__m128i* dst = (__m128i*) indicesp.get();
 
 	if (rebuild_tcoord)
 	{
+		LLFastTimer t(FTM_FACE_GEOM_TEXTURE);
 		bool do_xform;
 			
 		if (tep)
 
 	if (rebuild_pos)
 	{
+		LLFastTimer t(FTM_FACE_GEOM_POSITION);
 		llassert(num_vertices > 0);
 		
 		mVertexBuffer->getVertexStrider(vert, mGeomIndex, mGeomCount, map_range);
 		
 	if (rebuild_normal)
 	{
+		LLFastTimer t(FTM_FACE_GEOM_NORMAL);
 		mVertexBuffer->getNormalStrider(norm, mGeomIndex, mGeomCount, map_range);
 		normals = (LLVector4a*) norm.get();
 	
 		
 	if (rebuild_binormal)
 	{
+		LLFastTimer t(FTM_FACE_GEOM_BINORMAL);
 		mVertexBuffer->getBinormalStrider(binorm, mGeomIndex, mGeomCount, map_range);
 		binormals = (LLVector4a*) binorm.get();
 		
 	
 	if (rebuild_weights && vf.mWeights)
 	{
+		LLFastTimer t(FTM_FACE_GEOM_WEIGHTS);
 		mVertexBuffer->getWeight4Strider(wght, mGeomIndex, mGeomCount, map_range);
 		weights = (LLVector4a*) wght.get();
 		LLVector4a::memcpyNonAliased16((F32*) weights, (F32*) vf.mWeights, num_vertices*4*sizeof(F32));
 
 	if (rebuild_color)
 	{
+		LLFastTimer t(FTM_FACE_GEOM_COLOR);
 		mVertexBuffer->getColorStrider(colors, mGeomIndex, mGeomCount, map_range);
 
 		LLVector4a src;