summaryrefslogtreecommitdiff
path: root/indra/newview/llscenemonitor.h
diff options
context:
space:
mode:
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;
};