aboutsummaryrefslogtreecommitdiff
path: root/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp
diff options
context:
space:
mode:
authorJamie Madill <jmadill@chromium.org>2014-09-17 16:59:33 -0400
committerJamie Madill <jmadill@chromium.org>2014-09-18 18:39:26 +0000
commitac7579c2bd0cc9afdf5892a766e6967bf3a341f0 (patch)
tree6c8e04b06c31b7283370831262a99acc6073f28b /src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp
parent02f18b883992598ffc22c2747720f17da65a330e (diff)
downloadangle-ac7579c2bd0cc9afdf5892a766e6967bf3a341f0.tar.gz
Use ImageIndex in getRenderTarget.
Also change ImageIndex to allow invalid indexes for layer. In 3D indexes, sometimes the layer parameter is invalid, indicating we index an entire mip level instead of a layer of a mip level. BUG=angle:741 Change-Id: I7b410f9aaf568f215bb93ae063934669a8fa09bd Reviewed-on: https://chromium-review.googlesource.com/218312 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Diffstat (limited to 'src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp')
-rw-r--r--src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp
index eb13343b..d7cadf6c 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp
@@ -1958,7 +1958,8 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so
return gl::error(GL_OUT_OF_MEMORY, false);
}
- RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTarget(level));
+ gl::ImageIndex index = gl::ImageIndex::Make2D(level);
+ RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTarget(index));
if (!destRenderTarget)
{
ERR("Failed to retrieve the render target from the destination storage.");
@@ -2019,7 +2020,8 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so
return gl::error(GL_OUT_OF_MEMORY, false);
}
- RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTargetFace(target, level));
+ gl::ImageIndex index = gl::ImageIndex::MakeCube(target, level);
+ RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTarget(index));
if (!destRenderTarget)
{
ERR("Failed to retrieve the render target from the destination storage.");
@@ -2080,7 +2082,8 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so
return gl::error(GL_OUT_OF_MEMORY, false);
}
- RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTargetLayer(level, zOffset));
+ gl::ImageIndex index = gl::ImageIndex::Make3D(level, zOffset);
+ RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTarget(index));
if (!destRenderTarget)
{
ERR("Failed to retrieve the render target from the destination storage.");
@@ -2142,7 +2145,8 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so
return gl::error(GL_OUT_OF_MEMORY, false);
}
- RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTargetLayer(level, zOffset));
+ gl::ImageIndex index = gl::ImageIndex::Make2DArray(level, zOffset);
+ RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTarget(index));
if (!destRenderTarget)
{
SafeRelease(source);