Changed the rectangle arguments of Renderer11::blitRect from pointers to const…

Changed the rectangle arguments of Renderer11::blitRect from pointers to const references since they are never null or modified. TRAC #22416 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1869 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent 1e1deda4
......@@ -2866,7 +2866,7 @@ void Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1
if (blitRenderTarget || blitDepthStencil)
{
mRenderer->blitRect(readFramebuffer, &sourceTrimmedRect, drawFramebuffer, &destTrimmedRect, blitRenderTarget, blitDepthStencil);
mRenderer->blitRect(readFramebuffer, sourceTrimmedRect, drawFramebuffer, destTrimmedRect, blitRenderTarget, blitDepthStencil);
}
}
......
......@@ -186,7 +186,7 @@ class Renderer
virtual bool copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat,
GLint xoffset, GLint yoffset, TextureStorageInterfaceCube *storage, GLenum target, GLint level) = 0;
virtual bool blitRect(gl::Framebuffer *readTarget, gl::Rectangle *readRect, gl::Framebuffer *drawTarget, gl::Rectangle *drawRect,
virtual bool blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &readRect, gl::Framebuffer *drawTarget, const gl::Rectangle &drawRect,
bool blitRenderTarget, bool blitDepthStencil) = 0;
virtual void readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type,
GLsizei outputPitch, bool packReverseRowOrder, GLint packAlignment, void* pixels) = 0;
......
......@@ -2727,15 +2727,15 @@ bool Renderer11::getRenderTargetResource(gl::Framebuffer *framebuffer, unsigned
return false;
}
bool Renderer11::blitRect(gl::Framebuffer *readTarget, gl::Rectangle *readRect, gl::Framebuffer *drawTarget, gl::Rectangle *drawRect,
bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &readRect, gl::Framebuffer *drawTarget, const gl::Rectangle &drawRect,
bool blitRenderTarget, bool blitDepthStencil)
{
if (blitRenderTarget && !blitRect(readTarget, *readRect, drawTarget, *drawRect, BLIT_RENDERTARGET))
if (blitRenderTarget && !blitRect(readTarget, readRect, drawTarget, drawRect, BLIT_RENDERTARGET))
{
return false;
}
if (blitDepthStencil && !blitRect(readTarget, *readRect, drawTarget, *drawRect, BLIT_DEPTHSTENCIL))
if (blitDepthStencil && !blitRect(readTarget, readRect, drawTarget, drawRect, BLIT_DEPTHSTENCIL))
{
return false;
}
......@@ -3182,7 +3182,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read
if (!readBuffer)
{
ERR("Failed to retrieve the color buffer from the read target.");
return error(GL_OUT_OF_MEMORY, false);
return gl::error(GL_OUT_OF_MEMORY, false);
}
RenderTarget11 *sourceRenderTarget = NULL;
......@@ -3199,7 +3199,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read
if (!sourceRenderTarget)
{
ERR("Failed to retrieve the render target from the frame buffer.");
return error(GL_OUT_OF_MEMORY, false);
return gl::error(GL_OUT_OF_MEMORY, false);
}
ID3D11Texture2D *source = NULL;
......@@ -3222,7 +3222,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read
if (!source)
{
ERR("Failed to retrieve the render target view from the render target.");
return error(GL_OUT_OF_MEMORY, false);
return gl::error(GL_OUT_OF_MEMORY, false);
}
......@@ -3241,7 +3241,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read
{
source->Release();
ERR("Failed to retrieve the color buffer from the draw buffer.");
return error(GL_OUT_OF_MEMORY, false);
return gl::error(GL_OUT_OF_MEMORY, false);
}
RenderTarget11 *drawRenderTarget = NULL;
......@@ -3259,7 +3259,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read
{
source->Release();
ERR("Failed to retrieve the render target from the render buffer.");
return error(GL_OUT_OF_MEMORY, false);
return gl::error(GL_OUT_OF_MEMORY, false);
}
ID3D11Texture2D *dest = drawRenderTarget->getTexture();
......
......@@ -141,7 +141,7 @@ class Renderer11 : public Renderer
bool copyTexture(ID3D11ShaderResourceView *source, const gl::Rectangle &sourceArea, unsigned int sourceWidth, unsigned int sourceHeight,
ID3D11RenderTargetView *dest, const gl::Rectangle &destArea, unsigned int destWidth, unsigned int destHeight, GLenum destFormat);
virtual bool blitRect(gl::Framebuffer *readTarget, gl::Rectangle *readRect, gl::Framebuffer *drawTarget, gl::Rectangle *drawRect,
virtual bool blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &readRect, gl::Framebuffer *drawTarget, const gl::Rectangle &drawRect,
bool blitRenderTarget, bool blitDepthStencil);
virtual void readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type,
GLsizei outputPitch, bool packReverseRowOrder, GLint packAlignment, void* pixels);
......
......@@ -2514,7 +2514,7 @@ bool Renderer9::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &sou
return mBlit->copy(framebuffer, rect, destFormat, xoffset, yoffset, storage, target, level);
}
bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, gl::Rectangle *readRect, gl::Framebuffer *drawFramebuffer, gl::Rectangle *drawRect,
bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, const gl::Rectangle &readRect, gl::Framebuffer *drawFramebuffer, const gl::Rectangle &drawRect,
bool blitRenderTarget, bool blitDepthStencil)
{
endScene();
......@@ -2552,29 +2552,19 @@ bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, gl::Rectangle *readRe
return gl::error(GL_OUT_OF_MEMORY, false);
}
RECT srcRect, dstRect;
RECT *srcRectPtr = NULL;
RECT *dstRectPtr = NULL;
RECT srcRect;
srcRect.left = readRect.x;
srcRect.right = readRect.x + readRect.width;
srcRect.top = readRect.y;
srcRect.bottom = readRect.y + readRect.height;
if (readRect)
{
srcRect.left = readRect->x;
srcRect.right = readRect->x + readRect->width;
srcRect.top = readRect->y;
srcRect.bottom = readRect->y + readRect->height;
srcRectPtr = &srcRect;
}
if (drawRect)
{
dstRect.left = drawRect->x;
dstRect.right = drawRect->x + drawRect->width;
dstRect.top = drawRect->y;
dstRect.bottom = drawRect->y + drawRect->height;
dstRectPtr = &dstRect;
}
RECT dstRect;
dstRect.left = drawRect.x;
dstRect.right = drawRect.x + drawRect.width;
dstRect.top = drawRect.y;
dstRect.bottom = drawRect.y + drawRect.height;
HRESULT result = mDevice->StretchRect(readSurface, srcRectPtr, drawSurface, dstRectPtr, D3DTEXF_NONE);
HRESULT result = mDevice->StretchRect(readSurface, &srcRect, drawSurface, &dstRect, D3DTEXF_NONE);
readSurface->Release();
drawSurface->Release();
......
......@@ -170,7 +170,7 @@ class Renderer9 : public Renderer
virtual bool copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat,
GLint xoffset, GLint yoffset, TextureStorageInterfaceCube *storage, GLenum target, GLint level);
virtual bool blitRect(gl::Framebuffer *readTarget, gl::Rectangle *readRect, gl::Framebuffer *drawTarget, gl::Rectangle *drawRect,
virtual bool blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &readRect, gl::Framebuffer *drawTarget, const gl::Rectangle &drawRect,
bool blitRenderTarget, bool blitDepthStencil);
virtual void readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type,
GLsizei outputPitch, bool packReverseRowOrder, GLint packAlignment, void* pixels);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment