summaryrefslogtreecommitdiff
path: root/indra/newview/pipeline.h
diff options
context:
space:
mode:
authorWilliam Todd Stinson <stinson@lindenlab.com>2012-12-11 17:04:23 -0800
committerWilliam Todd Stinson <stinson@lindenlab.com>2012-12-11 17:04:23 -0800
commit74d3dc41fb7e24410ba052a9c5ce2867fbdb9c0a (patch)
treecde4b149fe66bbc08bfcd4c1e2f572f5402fc8c6 /indra/newview/pipeline.h
parent44abb8c3bf4ae3edc871583bd1fa19f10c72fdf1 (diff)
parentedcdce226a7ff599e43c89fe7e4d37350650ae96 (diff)
Pull and merge from https://bitbucket.org/lindenlab/viewer-development.
Diffstat (limited to 'indra/newview/pipeline.h')
-rw-r--r--indra/newview/pipeline.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index 7a0ca86231..36abeca295 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -119,8 +119,25 @@ public:
void createGLBuffers();
void createLUTBuffers();
- void allocateScreenBuffer(U32 resX, U32 resY);
+ //allocate the largest screen buffer possible up to resX, resY
+ //returns true if full size buffer allocated, false if some other size is allocated
+ bool allocateScreenBuffer(U32 resX, U32 resY);
+
+ typedef enum {
+ FBO_SUCCESS_FULLRES = 0,
+ FBO_SUCCESS_LOWRES,
+ FBO_FAILURE
+ } eFBOStatus;
+
+private:
+ //implementation of above, wrapped for easy error handling
+ eFBOStatus doAllocateScreenBuffer(U32 resX, U32 resY);
+public:
+
+ //attempt to allocate screen buffers at resX, resY
+ //returns true if allocation successful, false otherwise
bool allocateScreenBuffer(U32 resX, U32 resY, U32 samples);
+
void allocatePhysicsBuffer();
void resetVertexBuffers(LLDrawable* drawable);