summaryrefslogtreecommitdiff
path: root/indra/newview/llscenemonitor.h
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2012-11-30 22:50:06 -0700
committerXiaohong Bao <bao@lindenlab.com>2012-11-30 22:50:06 -0700
commit21409a3aaaef71102195d65fc35cebdb5d941a26 (patch)
tree4b047d9c4e318fc25b242d3bd9c8cd706b9de661 /indra/newview/llscenemonitor.h
parent6ae6abae26200c80a15d2e2d899ae6970602ff04 (diff)
for SH-3350 and SH-3353: Report frame-to-frame visual deltas as an LLStat
Diffstat (limited to 'indra/newview/llscenemonitor.h')
-rw-r--r--indra/newview/llscenemonitor.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/indra/newview/llscenemonitor.h b/indra/newview/llscenemonitor.h
index 648429f97b..db5ac3eeef 100644
--- a/indra/newview/llscenemonitor.h
+++ b/indra/newview/llscenemonitor.h
@@ -48,8 +48,14 @@ public:
void capture(); //capture the main frame buffer
void compare(); //compare the stored two buffers.
+ void queryDiff();
+ void fetchQueryResult();
+ void calcDiffAggregate();
+ void setDiffTolerance(F32 tol) {mDiffTolerance = tol;}
- LLRenderTarget* getDiffTarget() const;
+ const LLRenderTarget* getDiffTarget() const {return mDiff;}
+ F32 getDiffTolerance() const {return mDiffTolerance;}
+ F32 getDiffResult() const { return mDiffResult;}
bool isEnabled()const {return mEnabled;}
private:
@@ -57,17 +63,22 @@ private:
void unfreezeScene();
void reset();
bool preCapture();
- void postCapture();
-
+
private:
BOOL mEnabled;
BOOL mNeedsUpdateDiff;
+ BOOL mHasNewDiff;
+ BOOL mHasNewQueryResult;
BOOL mDebugViewerVisible;
LLRenderTarget* mFrames[2];
LLRenderTarget* mDiff;
LLRenderTarget* mCurTarget;
+ GLuint mQueryObject; //used for glQuery
+ F32 mDiffResult; //aggregate results of mDiff.
+ F32 mDiffTolerance; //pixels are filtered out when R+G+B < mDiffTolerance
+
std::vector<LLAnimPauseRequest> mAvatarPauseHandles;
};