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 ...@@ -2866,7 +2866,7 @@ void Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1
if (blitRenderTarget || blitDepthStencil) 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 ...@@ -186,7 +186,7 @@ class Renderer
virtual bool copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, virtual bool copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat,
GLint xoffset, GLint yoffset, TextureStorageInterfaceCube *storage, GLenum target, GLint level) = 0; 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; bool blitRenderTarget, bool blitDepthStencil) = 0;
virtual void readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, 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; GLsizei outputPitch, bool packReverseRowOrder, GLint packAlignment, void* pixels) = 0;
......
...@@ -2727,15 +2727,15 @@ bool Renderer11::getRenderTargetResource(gl::Framebuffer *framebuffer, unsigned ...@@ -2727,15 +2727,15 @@ bool Renderer11::getRenderTargetResource(gl::Framebuffer *framebuffer, unsigned
return false; 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) bool blitRenderTarget, bool blitDepthStencil)
{ {
if (blitRenderTarget && !blitRect(readTarget, *readRect, drawTarget, *drawRect, BLIT_RENDERTARGET)) if (blitRenderTarget && !blitRect(readTarget, readRect, drawTarget, drawRect, BLIT_RENDERTARGET))
{ {
return false; return false;
} }
if (blitDepthStencil && !blitRect(readTarget, *readRect, drawTarget, *drawRect, BLIT_DEPTHSTENCIL)) if (blitDepthStencil && !blitRect(readTarget, readRect, drawTarget, drawRect, BLIT_DEPTHSTENCIL))
{ {
return false; return false;
} }
...@@ -3182,7 +3182,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read ...@@ -3182,7 +3182,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read
if (!readBuffer) if (!readBuffer)
{ {
ERR("Failed to retrieve the color buffer from the read target."); 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; RenderTarget11 *sourceRenderTarget = NULL;
...@@ -3199,7 +3199,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read ...@@ -3199,7 +3199,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read
if (!sourceRenderTarget) if (!sourceRenderTarget)
{ {
ERR("Failed to retrieve the render target from the frame buffer."); 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; ID3D11Texture2D *source = NULL;
...@@ -3222,7 +3222,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read ...@@ -3222,7 +3222,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read
if (!source) if (!source)
{ {
ERR("Failed to retrieve the render target view from the render target."); 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 ...@@ -3241,7 +3241,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read
{ {
source->Release(); source->Release();
ERR("Failed to retrieve the color buffer from the draw buffer."); 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; RenderTarget11 *drawRenderTarget = NULL;
...@@ -3259,7 +3259,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read ...@@ -3259,7 +3259,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read
{ {
source->Release(); source->Release();
ERR("Failed to retrieve the render target from the render buffer."); 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(); ID3D11Texture2D *dest = drawRenderTarget->getTexture();
......
...@@ -141,7 +141,7 @@ class Renderer11 : public Renderer ...@@ -141,7 +141,7 @@ class Renderer11 : public Renderer
bool copyTexture(ID3D11ShaderResourceView *source, const gl::Rectangle &sourceArea, unsigned int sourceWidth, unsigned int sourceHeight, 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); 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); bool blitRenderTarget, bool blitDepthStencil);
virtual void readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, 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); GLsizei outputPitch, bool packReverseRowOrder, GLint packAlignment, void* pixels);
......
...@@ -2514,7 +2514,7 @@ bool Renderer9::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &sou ...@@ -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); 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) bool blitRenderTarget, bool blitDepthStencil)
{ {
endScene(); endScene();
...@@ -2552,29 +2552,19 @@ bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, gl::Rectangle *readRe ...@@ -2552,29 +2552,19 @@ bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, gl::Rectangle *readRe
return gl::error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
RECT srcRect, dstRect; RECT srcRect;
RECT *srcRectPtr = NULL; srcRect.left = readRect.x;
RECT *dstRectPtr = NULL; srcRect.right = readRect.x + readRect.width;
srcRect.top = readRect.y;
srcRect.bottom = readRect.y + readRect.height;
if (readRect) RECT dstRect;
{ dstRect.left = drawRect.x;
srcRect.left = readRect->x; dstRect.right = drawRect.x + drawRect.width;
srcRect.right = readRect->x + readRect->width; dstRect.top = drawRect.y;
srcRect.top = readRect->y; dstRect.bottom = drawRect.y + drawRect.height;
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;
}
HRESULT result = mDevice->StretchRect(readSurface, srcRectPtr, drawSurface, dstRectPtr, D3DTEXF_NONE); HRESULT result = mDevice->StretchRect(readSurface, &srcRect, drawSurface, &dstRect, D3DTEXF_NONE);
readSurface->Release(); readSurface->Release();
drawSurface->Release(); drawSurface->Release();
......
...@@ -170,7 +170,7 @@ class Renderer9 : public Renderer ...@@ -170,7 +170,7 @@ class Renderer9 : public Renderer
virtual bool copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat, virtual bool copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &sourceRect, GLenum destFormat,
GLint xoffset, GLint yoffset, TextureStorageInterfaceCube *storage, GLenum target, GLint level); 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); bool blitRenderTarget, bool blitDepthStencil);
virtual void readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, 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); 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