summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llrender/llrendertarget.cpp26
-rw-r--r--indra/llrender/llrendertarget.h7
-rw-r--r--indra/newview/llviewerwindow.cpp1
-rw-r--r--indra/newview/pipeline.cpp29
-rw-r--r--indra/newview/pipeline.h2
5 files changed, 12 insertions, 53 deletions
diff --git a/indra/llrender/llrendertarget.cpp b/indra/llrender/llrendertarget.cpp
index bab5cfd56e..d9520b3bf6 100644
--- a/indra/llrender/llrendertarget.cpp
+++ b/indra/llrender/llrendertarget.cpp
@@ -61,11 +61,8 @@ BOOL LLRenderTarget::sUseFBO = FALSE;
LLRenderTarget::LLRenderTarget() :
mResX(0),
mResY(0),
- mViewportWidth(0),
- mViewportHeight(0),
mTex(0),
mFBO(0),
- mColorFmt(0),
mDepth(0),
mStencil(0),
mUseDepth(FALSE),
@@ -92,15 +89,10 @@ void LLRenderTarget::allocate(U32 resx, U32 resy, U32 color_fmt, BOOL depth, BOO
stop_glerror();
mResX = resx;
mResY = resy;
- // default viewport to entire texture
- mViewportWidth = mResX;
- mViewportHeight = mResY;
mStencil = stencil;
mUsage = usage;
mUseDepth = depth;
- mFBO = 0;
- mColorFmt = color_fmt;
release();
@@ -320,7 +312,7 @@ void LLRenderTarget::bindTarget()
}
}
- glViewport(0, 0, mViewportWidth, mViewportHeight);
+ glViewport(0, 0, mResX, mResY);
sBoundTarget = this;
}
@@ -523,18 +515,12 @@ BOOL LLRenderTarget::isComplete() const
return (!mTex.empty() || mDepth) ? TRUE : FALSE;
}
-void LLRenderTarget::setViewport(U32 width, U32 height)
-{
- mViewportWidth = llmin(width, mResX);
- mViewportHeight = llmin(height, mResY);
-}
-
void LLRenderTarget::getViewport(S32* viewport)
{
viewport[0] = 0;
viewport[1] = 0;
- viewport[2] = mViewportWidth;
- viewport[3] = mViewportHeight;
+ viewport[2] = mResX;
+ viewport[3] = mResY;
}
//==================================================
@@ -595,7 +581,7 @@ void LLMultisampleBuffer::bindTarget(LLRenderTarget* ref)
check_framebuffer_status();
- glViewport(0, 0, mViewportWidth, mViewportHeight);
+ glViewport(0, 0, mResX, mResY);
sBoundTarget = this;
}
@@ -610,14 +596,10 @@ void LLMultisampleBuffer::allocate(U32 resx, U32 resy, U32 color_fmt, BOOL depth
stop_glerror();
mResX = resx;
mResY = resy;
- mViewportWidth = mResX;
- mViewportHeight = mResY;
mUsage = usage;
mUseDepth = depth;
mStencil = stencil;
- mFBO = 0;
- mColorFmt = color_fmt;
releaseSampleBuffer();
diff --git a/indra/llrender/llrendertarget.h b/indra/llrender/llrendertarget.h
index 125747424c..b7ebfc8f7f 100644
--- a/indra/llrender/llrendertarget.h
+++ b/indra/llrender/llrendertarget.h
@@ -107,9 +107,6 @@ public:
//uses scissor rect if in copy-to-texture mode
void clear(U32 mask = 0xFFFFFFFF);
- // override default viewport to a smaller size
- void setViewport(U32 width, U32 height);
-
//get applied viewport
void getViewport(S32* viewport);
@@ -153,16 +150,12 @@ protected:
friend class LLMultisampleBuffer;
U32 mResX;
U32 mResY;
- U32 mViewportWidth;
- U32 mViewportHeight;
std::vector<U32> mTex;
U32 mFBO;
- U32 mColorFmt;
U32 mDepth;
BOOL mStencil;
BOOL mUseDepth;
BOOL mRenderDepth;
-
LLTexUnit::eTextureType mUsage;
U32 mSamples;
LLMultisampleBuffer* mSampleBuffer;
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 3f53fae36c..e30c8ab346 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -4752,7 +4752,6 @@ F32 LLViewerWindow::getWorldViewAspectRatio() const
}
else
{
- llinfos << "World aspect ratio: " << world_aspect << llendl;
return world_aspect;
}
}
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 5aad87630d..e9ec523396 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -517,16 +517,14 @@ void LLPipeline::resizeScreenTexture()
LLFastTimer ft(FTM_RESIZE_SCREEN_TEXTURE);
if (gPipeline.canUseVertexShaders() && assertInitialized())
{
- GLuint resX = gViewerWindow->getWindowWidthRaw();
- GLuint resY = gViewerWindow->getWindowHeightRaw();
- GLuint view_width = gViewerWindow->getWorldViewWidthRaw();
- GLuint view_height = gViewerWindow->getWorldViewHeightRaw();
+ GLuint resX = gViewerWindow->getWorldViewWidth();
+ GLuint resY = gViewerWindow->getWorldViewHeight();
- allocateScreenBuffer(resX, resY, view_width, view_height);
+ allocateScreenBuffer(resX,resY);
}
}
-void LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 viewport_width, U32 viewport_height)
+void LLPipeline::allocateScreenBuffer(U32 resX, U32 resY)
{
bool screen_size_changed = resX != mScreenWidth || resY != mScreenHeight;
bool viewport_size_changed = viewport_width != mViewportWidth || viewport_height != mViewportHeight;
@@ -571,16 +569,12 @@ void LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 viewport_width, U3
addDeferredAttachments(mDeferredScreen);
}
// always set viewport to desired size, since allocate resets the viewport
- mDeferredScreen.setViewport(viewport_width, viewport_height);
- mDeferredDepth.setViewport(viewport_width, viewport_height);
if (screen_size_changed)
{
mScreen.allocate(resX, resY, GL_RGBA, FALSE, FALSE, LLTexUnit::TT_RECT_TEXTURE, FALSE);
mEdgeMap.allocate(resX, resY, GL_ALPHA, FALSE, FALSE, LLTexUnit::TT_RECT_TEXTURE, FALSE);
}
- mScreen.setViewport(viewport_width, viewport_height);
- mEdgeMap.setViewport(viewport_width, viewport_height);
for (U32 i = 0; i < 3; i++)
{
@@ -588,7 +582,6 @@ void LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 viewport_width, U3
{
mDeferredLight[i].allocate(resX, resY, GL_RGBA, FALSE, FALSE, LLTexUnit::TT_RECT_TEXTURE);
}
- mDeferredLight[i].setViewport(viewport_width, viewport_height);
}
for (U32 i = 0; i < 2; i++)
@@ -597,7 +590,6 @@ void LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 viewport_width, U3
{
mGIMapPost[i].allocate(resX,resY, GL_RGB, FALSE, FALSE, LLTexUnit::TT_RECT_TEXTURE);
}
- mGIMapPost[i].setViewport(viewport_width, viewport_height);
}
F32 scale = gSavedSettings.getF32("RenderShadowResolutionScale");
@@ -608,7 +600,6 @@ void LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 viewport_width, U3
{
mShadow[i].allocate(U32(resX*scale),U32(resY*scale), 0, TRUE, FALSE, LLTexUnit::TT_RECT_TEXTURE);
}
- mShadow[i].setViewport(viewport_width, viewport_height);
}
@@ -621,7 +612,6 @@ void LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 viewport_width, U3
{
mShadow[i].allocate(width, height, 0, TRUE, FALSE);
}
- mShadow[i].setViewport(viewport_width, viewport_height);
}
@@ -632,7 +622,6 @@ void LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 viewport_width, U3
{
mLuminanceMap.allocate(width,height, GL_RGBA, FALSE, FALSE);
}
- mLuminanceMap.setViewport(viewport_width, viewport_height);
}
else
{
@@ -640,7 +629,6 @@ void LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 viewport_width, U3
{
mScreen.allocate(resX, resY, GL_RGBA, TRUE, TRUE, LLTexUnit::TT_RECT_TEXTURE, FALSE);
}
- mScreen.setViewport(viewport_width, viewport_height);
}
@@ -762,10 +750,8 @@ void LLPipeline::createGLBuffers()
stop_glerror();
- GLuint resX = gViewerWindow->getWindowWidthRaw();
- GLuint resY = gViewerWindow->getWindowHeightRaw();
- GLuint viewport_width = gViewerWindow->getWorldViewWidthRaw();
- GLuint viewport_height = gViewerWindow->getWorldViewHeightRaw();
+ GLuint resX = gViewerWindow->getWorldViewWidth();
+ GLuint resY = gViewerWindow->getWorldViewHeight();
if (LLPipeline::sRenderGlow)
{ //screen space glow buffers
@@ -777,11 +763,10 @@ void LLPipeline::createGLBuffers()
mGlow[i].allocate(512,glow_res,GL_RGBA,FALSE,FALSE);
}
- // force reallocation of buffers by clearing known dimensions
+ allocateScreenBuffer(resX,resY);
mScreenWidth = 0;
mScreenHeight = 0;
- allocateScreenBuffer(resX,resY, viewport_width, viewport_height);
}
if (sRenderDeferred)
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index 11b7b55f20..8b6de5d546 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -111,7 +111,7 @@ public:
void resizeScreenTexture();
void releaseGLBuffers();
void createGLBuffers();
- void allocateScreenBuffer(U32 resX, U32 resY, U32 viewport_width, U32 viewport_height);
+ void allocateScreenBuffer(U32 resX, U32 resY);
void resetVertexBuffers(LLDrawable* drawable);
void setUseVBO(BOOL use_vbo);