summaryrefslogtreecommitdiff
path: root/indra/newview/llvoavatar.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llvoavatar.h')
-rw-r--r--indra/newview/llvoavatar.h39
1 files changed, 37 insertions, 2 deletions
diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h
index 1502c25b4d..0bb19c4420 100644
--- a/indra/newview/llvoavatar.h
+++ b/indra/newview/llvoavatar.h
@@ -305,8 +305,27 @@ public:
static const U32 VISUAL_COMPLEXITY_UNKNOWN;
void updateVisualComplexity();
- U32 getVisualComplexity() { return mVisualComplexity; }; // Numbers calculated here by rendering AV
- F32 getAttachmentSurfaceArea() { return mAttachmentSurfaceArea; }; // estimated surface area of attachments
+ // get the GPU time in ms of rendering this avatar including all attachments
+ // returns -1 if this avatar has not been profiled using gPipeline.profileAvatar
+ F32 getGPURenderTime() { return mGPURenderTime; }
+
+ // get the CPU time in ms of rendering this avatar including all attachments
+ // return -1 if this avatar has not been profiled using gPipeline.mProfileAvatar
+ F32 getCPURenderTime() { return mCPURenderTime; }
+
+ // get the number of samples passed during the avatar profile
+ // return -1 if this avatar has not been profiled using gPipeline.mProfileAvatar
+ S32 getGPUSamplesPassed() { return mGPUSamplesPassed; }
+
+ // get the number of triangles rendered during the avatar profile
+ // return -1 if this avatar has not been profiled using gPipeline.mProfileAvatar
+ S32 getGPUTrianglesRendered() { return mGPUTrianglesRendered; }
+
+ // DEPRECATED -- obsolete avatar render cost
+ U32 getVisualComplexity() { return mVisualComplexity; };
+
+ // DEPRECATED -- obsolete surface area calculation
+ F32 getAttachmentSurfaceArea() { return mAttachmentSurfaceArea; };
U32 getReportedVisualComplexity() { return mReportedVisualComplexity; }; // Numbers as reported by the SL server
void setReportedVisualComplexity(U32 value) { mReportedVisualComplexity = value; };
@@ -523,6 +542,7 @@ public:
S32 mSpecialRenderMode; // special lighting
private:
+ friend class LLPipeline;
AvatarOverallAppearance mOverallAppearance;
F32 mAttachmentSurfaceArea; //estimated surface area of attachments
U32 mAttachmentVisibleTriangleCount;
@@ -535,7 +555,22 @@ private:
S32 mUpdatePeriod;
S32 mNumInitFaces; //number of faces generated when creating the avatar drawable, does not inculde splitted faces due to long vertex buffer.
+ // profile results
+
+ // GPU render time in ms
+ F32 mGPURenderTime = -1.f;
+
+ // CPU render time in ms
+ F32 mCPURenderTime = -1.f;
+
+ // number of samples passed according to GPU
+ S32 mGPUSamplesPassed = -1;
+
+ // number of triangles rendered according to GPU
+ S32 mGPUTrianglesRendered = -1;
+
// the isTooComplex method uses these mutable values to avoid recalculating too frequently
+ // DEPRECATED -- obsolete avatar render cost values
mutable U32 mVisualComplexity;
mutable bool mVisualComplexityStale;
U32 mReportedVisualComplexity; // from other viewers through the simulator