diff options
author | Jamie Madill <jmadill@chromium.org> | 2014-09-12 10:25:27 -0400 |
---|---|---|
committer | Jamie Madill <jmadill@chromium.org> | 2014-09-12 21:06:46 +0000 |
commit | 9f0b42a6ab87ae2b2f065cf022497ac6deabf3fd (patch) | |
tree | 18f8766cf32122c1fdb2ec99d921011a497386f8 | |
parent | 231943bf21c099bf666c2faaffd0b2a4b5eae565 (diff) | |
download | angle-9f0b42a6ab87ae2b2f065cf022497ac6deabf3fd.tar.gz |
Add an attachment helper to replace getRenderTarget.
We would like to stop exposing rx::RenderTarget to any GL-layer
code, like the Context, or Framebuffer. Then we can pull any
necessary information inside the Renderer back-ends.
BUG=angle:732
Change-Id: Ifa35218f097c528e616d732bda4bcd8e5f1c3843
Reviewed-on: https://chromium-review.googlesource.com/217029
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
-rw-r--r-- | src/libGLESv2/Framebuffer.cpp | 24 | ||||
-rw-r--r-- | src/libGLESv2/Framebuffer.h | 8 | ||||
-rw-r--r-- | src/libGLESv2/FramebufferAttachment.cpp | 10 | ||||
-rw-r--r-- | src/libGLESv2/FramebufferAttachment.h | 5 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp | 4 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp | 23 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp | 8 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h | 8 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp | 10 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/d3d9/Image9.cpp | 10 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp | 18 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp | 8 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h | 10 |
13 files changed, 97 insertions, 49 deletions
diff --git a/src/libGLESv2/Framebuffer.cpp b/src/libGLESv2/Framebuffer.cpp index 8db41908..4430e505 100644 --- a/src/libGLESv2/Framebuffer.cpp +++ b/src/libGLESv2/Framebuffer.cpp @@ -16,9 +16,31 @@ #include "libGLESv2/FramebufferAttachment.h" #include "libGLESv2/renderer/Renderer.h" #include "libGLESv2/renderer/RenderTarget.h" +#include "libGLESv2/renderer/d3d/TextureD3D.h" #include "common/utilities.h" +namespace rx +{ +RenderTarget *GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment) +{ + if (attachment->isTexture()) + { + gl::Texture *texture = attachment->getTexture(); + ASSERT(texture); + TextureD3D *textureD3D = TextureD3D::makeTextureD3D(texture->getImplementation()); + return textureD3D->getRenderTarget(attachment->mipLevel(), attachment->layer()); + } + + gl::Renderbuffer *renderbuffer = attachment->getRenderbuffer(); + ASSERT(renderbuffer); + + // TODO: cast to RenderbufferD3D + return renderbuffer->getStorage()->getRenderTarget(); +} + +} + namespace gl { @@ -578,7 +600,7 @@ void Framebuffer::invalidateSub(const Caps &caps, GLsizei numAttachments, const if (attachment) { - rx::RenderTarget *renderTarget = attachment->getRenderTarget(); + rx::RenderTarget *renderTarget = rx::GetAttachmentRenderTarget(attachment); if (renderTarget) { renderTarget->invalidate(x, y, width, height); diff --git a/src/libGLESv2/Framebuffer.h b/src/libGLESv2/Framebuffer.h index 8d7678c1..70998ff7 100644 --- a/src/libGLESv2/Framebuffer.h +++ b/src/libGLESv2/Framebuffer.h @@ -113,4 +113,12 @@ class DefaultFramebuffer : public Framebuffer } +namespace rx +{ +class RenderTarget; + +// TODO: place this in FramebufferD3D.h +RenderTarget *GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment); +} + #endif // LIBGLESV2_FRAMEBUFFER_H_ diff --git a/src/libGLESv2/FramebufferAttachment.cpp b/src/libGLESv2/FramebufferAttachment.cpp index fa933ad0..007b8463 100644 --- a/src/libGLESv2/FramebufferAttachment.cpp +++ b/src/libGLESv2/FramebufferAttachment.cpp @@ -135,11 +135,6 @@ GLint TextureAttachment::layer() const return mIndex.layerIndex; } -rx::RenderTarget *TextureAttachment::getRenderTarget() -{ - return mTexture->getRenderTarget(mIndex); -} - unsigned int TextureAttachment::getSerial() const { return mTexture->getRenderTargetSerial(mIndex); @@ -170,11 +165,6 @@ RenderbufferAttachment::~RenderbufferAttachment() mRenderbuffer.set(NULL); } -rx::RenderTarget *RenderbufferAttachment::getRenderTarget() -{ - return mRenderbuffer->getStorage()->getRenderTarget(); -} - GLsizei RenderbufferAttachment::getWidth() const { return mRenderbuffer->getWidth(); diff --git a/src/libGLESv2/FramebufferAttachment.h b/src/libGLESv2/FramebufferAttachment.h index e4cb9162..90c50d0c 100644 --- a/src/libGLESv2/FramebufferAttachment.h +++ b/src/libGLESv2/FramebufferAttachment.h @@ -56,8 +56,6 @@ class FramebufferAttachment GLenum getBinding() const { return mBinding; } // Child class interface - virtual rx::RenderTarget *getRenderTarget() = 0; - virtual GLsizei getWidth() const = 0; virtual GLsizei getHeight() const = 0; virtual GLenum getInternalFormat() const = 0; @@ -98,7 +96,6 @@ class TextureAttachment : public FramebufferAttachment virtual GLint mipLevel() const; virtual GLint layer() const; - virtual rx::RenderTarget *getRenderTarget(); virtual unsigned int getSerial() const; virtual Texture *getTexture(); @@ -118,8 +115,6 @@ class RenderbufferAttachment : public FramebufferAttachment virtual ~RenderbufferAttachment(); - rx::RenderTarget *getRenderTarget(); - virtual GLsizei getWidth() const; virtual GLsizei getHeight() const; virtual GLenum getInternalFormat() const; diff --git a/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp index 8aac2f1d..c60b7a6c 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp @@ -211,7 +211,7 @@ gl::Error Clear11::clearFramebuffer(const gl::ClearParameters &clearParams, gl:: gl::FramebufferAttachment *attachment = frameBuffer->getColorbuffer(colorAttachment); if (attachment) { - RenderTarget11 *renderTarget = RenderTarget11::makeRenderTarget11(attachment->getRenderTarget()); + RenderTarget11 *renderTarget = d3d11::GetAttachmentRenderTarget(attachment); if (!renderTarget) { return gl::Error(GL_OUT_OF_MEMORY, "Internal render target view pointer unexpectedly null."); @@ -284,7 +284,7 @@ gl::Error Clear11::clearFramebuffer(const gl::ClearParameters &clearParams, gl:: gl::FramebufferAttachment *attachment = frameBuffer->getDepthOrStencilbuffer(); if (attachment) { - RenderTarget11 *renderTarget = RenderTarget11::makeRenderTarget11(attachment->getRenderTarget()); + RenderTarget11 *renderTarget = d3d11::GetAttachmentRenderTarget(attachment); if (!renderTarget) { return gl::Error(GL_OUT_OF_MEMORY, "Internal depth stencil view pointer unexpectedly null."); diff --git a/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp index de850719..10d6bbef 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp @@ -823,7 +823,7 @@ bool Renderer11::applyRenderTarget(gl::Framebuffer *framebuffer) renderTargetSerials[colorAttachment] = colorbuffer->getSerial(); // Extract the render target dimensions and view - RenderTarget11 *renderTarget = RenderTarget11::makeRenderTarget11(colorbuffer->getRenderTarget()); + RenderTarget11 *renderTarget = d3d11::GetAttachmentRenderTarget(colorbuffer); if (!renderTarget) { ERR("render target pointer unexpectedly null."); @@ -867,7 +867,7 @@ bool Renderer11::applyRenderTarget(gl::Framebuffer *framebuffer) ID3D11DepthStencilView* framebufferDSV = NULL; if (depthStencil) { - RenderTarget11 *depthStencilRenderTarget = RenderTarget11::makeRenderTarget11(depthStencil->getRenderTarget()); + RenderTarget11 *depthStencilRenderTarget = d3d11::GetAttachmentRenderTarget(depthStencil); if (!depthStencilRenderTarget) { ERR("render target pointer unexpectedly null."); @@ -1943,7 +1943,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so return gl::error(GL_OUT_OF_MEMORY, false); } - RenderTarget11 *sourceRenderTarget = RenderTarget11::makeRenderTarget11(colorbuffer->getRenderTarget()); + RenderTarget11 *sourceRenderTarget = d3d11::GetAttachmentRenderTarget(colorbuffer); if (!sourceRenderTarget) { ERR("Failed to retrieve the render target from the frame buffer."); @@ -2004,7 +2004,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so return gl::error(GL_OUT_OF_MEMORY, false); } - RenderTarget11 *sourceRenderTarget = RenderTarget11::makeRenderTarget11(colorbuffer->getRenderTarget()); + RenderTarget11 *sourceRenderTarget = d3d11::GetAttachmentRenderTarget(colorbuffer); if (!sourceRenderTarget) { ERR("Failed to retrieve the render target from the frame buffer."); @@ -2065,7 +2065,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so return gl::error(GL_OUT_OF_MEMORY, false); } - RenderTarget11 *sourceRenderTarget = RenderTarget11::makeRenderTarget11(colorbuffer->getRenderTarget()); + RenderTarget11 *sourceRenderTarget = d3d11::GetAttachmentRenderTarget(colorbuffer); if (!sourceRenderTarget) { ERR("Failed to retrieve the render target from the frame buffer."); @@ -2126,7 +2126,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so return gl::error(GL_OUT_OF_MEMORY, false); } - RenderTarget11 *sourceRenderTarget = RenderTarget11::makeRenderTarget11(colorbuffer->getRenderTarget()); + RenderTarget11 *sourceRenderTarget = d3d11::GetAttachmentRenderTarget(colorbuffer); if (!sourceRenderTarget) { ERR("Failed to retrieve the render target from the frame buffer."); @@ -2500,7 +2500,7 @@ bool Renderer11::getRenderTargetResource(gl::FramebufferAttachment *colorbuffer, { ASSERT(colorbuffer != NULL); - RenderTarget11 *renderTarget = RenderTarget11::makeRenderTarget11(colorbuffer->getRenderTarget()); + RenderTarget11 *renderTarget = d3d11::GetAttachmentRenderTarget(colorbuffer); if (renderTarget) { *subresourceIndex = renderTarget->getSubresourceIndex(); @@ -2545,7 +2545,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read return gl::error(GL_OUT_OF_MEMORY, false); } - RenderTarget *readRenderTarget = readBuffer->getRenderTarget(); + RenderTarget *readRenderTarget = GetAttachmentRenderTarget(readBuffer); for (unsigned int colorAttachment = 0; colorAttachment < gl::IMPLEMENTATION_MAX_DRAW_BUFFERS; colorAttachment++) { @@ -2559,7 +2559,7 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read return gl::error(GL_OUT_OF_MEMORY, false); } - RenderTarget *drawRenderTarget = drawBuffer->getRenderTarget(); + RenderTarget *drawRenderTarget = GetAttachmentRenderTarget(drawBuffer); if (!blitRenderbufferRect(readRect, drawRect, readRenderTarget, drawRenderTarget, filter, scissor, blitRenderTarget, false, false)) @@ -2587,8 +2587,8 @@ bool Renderer11::blitRect(gl::Framebuffer *readTarget, const gl::Rectangle &read return gl::error(GL_OUT_OF_MEMORY, false); } - RenderTarget *readRenderTarget = readBuffer->getRenderTarget(); - RenderTarget *drawRenderTarget = drawBuffer->getRenderTarget(); + RenderTarget *readRenderTarget = GetAttachmentRenderTarget(readBuffer); + RenderTarget *drawRenderTarget = GetAttachmentRenderTarget(drawBuffer); ASSERT(readRenderTarget && drawRenderTarget); if (!blitRenderbufferRect(readRect, drawRect, readRenderTarget, drawRenderTarget, filter, scissor, @@ -3102,6 +3102,7 @@ void Renderer11::invalidateFBOAttachmentSwizzles(gl::FramebufferAttachment *atta { ASSERT(attachment->isTexture()); gl::Texture *texture = attachment->getTexture(); + TextureStorage *texStorage = texture->getNativeTexture()->getStorageInstance(); if (texStorage) { diff --git a/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp b/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp index 093ae9cc..39bec903 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp @@ -9,7 +9,9 @@ #include "libGLESv2/renderer/d3d/d3d11/renderer11_utils.h" #include "libGLESv2/renderer/d3d/d3d11/formatutils11.h" +#include "libGLESv2/renderer/d3d/d3d11/RenderTarget11.h" #include "libGLESv2/ProgramBinary.h" +#include "libGLESv2/Framebuffer.h" #include "common/debug.h" @@ -1063,6 +1065,12 @@ HRESULT SetDebugName(ID3D11DeviceChild *resource, const char *name) #endif } +RenderTarget11 *GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment) +{ + RenderTarget *renderTarget = rx::GetAttachmentRenderTarget(attachment); + return RenderTarget11::makeRenderTarget11(renderTarget); +} + } } diff --git a/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h b/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h index 4c5a3b54..4c05eb92 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h +++ b/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h @@ -15,8 +15,14 @@ #include <vector> +namespace gl +{ +class FramebufferAttachment; +} + namespace rx { +class RenderTarget11; namespace gl_d3d11 { @@ -170,6 +176,8 @@ inline void SetBufferData(ID3D11DeviceContext *context, ID3D11Buffer *constantBu context->Unmap(constantBuffer, 0); } +RenderTarget11 *GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment); + } } diff --git a/src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp index d5f421f1..59867fb1 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp @@ -216,9 +216,9 @@ bool Blit9::copy(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum de if (colorbuffer) { - renderTarget = RenderTarget9::makeRenderTarget9(colorbuffer->getRenderTarget()); + renderTarget = d3d9::GetAttachmentRenderTarget(colorbuffer); } - + if (renderTarget) { source = renderTarget->getSurface(); @@ -233,7 +233,7 @@ bool Blit9::copy(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum de TextureStorage9_2D *storage9 = TextureStorage9_2D::makeTextureStorage9_2D(storage->getStorageInstance()); IDirect3DSurface9 *destSurface = storage9->getSurfaceLevel(level, true); bool result = false; - + if (destSurface) { result = copy(source, sourceRect, destFormat, xoffset, yoffset, destSurface); @@ -252,9 +252,9 @@ bool Blit9::copy(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum de if (colorbuffer) { - renderTarget = RenderTarget9::makeRenderTarget9(colorbuffer->getRenderTarget()); + renderTarget = d3d9::GetAttachmentRenderTarget(colorbuffer); } - + if (renderTarget) { source = renderTarget->getSurface(); diff --git a/src/libGLESv2/renderer/d3d/d3d9/Image9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Image9.cpp index e52739ca..95c920e8 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/Image9.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/Image9.cpp @@ -368,7 +368,7 @@ bool Image9::copyToSurface(IDirect3DSurface9 *destSurface, GLint xoffset, GLint } else { - // UpdateSurface: source must be SYSTEMMEM, dest must be DEFAULT pools + // UpdateSurface: source must be SYSTEMMEM, dest must be DEFAULT pools HRESULT result = device->UpdateSurface(sourceSurface, &rect, destSurface, &point); UNUSED_ASSERTION_VARIABLE(result); ASSERT(SUCCEEDED(result)); @@ -462,9 +462,9 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, if (colorbuffer) { - renderTarget = RenderTarget9::makeRenderTarget9(colorbuffer->getRenderTarget()); + renderTarget = d3d9::GetAttachmentRenderTarget(colorbuffer); } - + if (renderTarget) { surface = renderTarget->getSurface(); @@ -481,7 +481,7 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, IDirect3DSurface9 *renderTargetData = NULL; D3DSURFACE_DESC description; surface->GetDesc(&description); - + HRESULT result = device->CreateOffscreenPlainSurface(description.Width, description.Height, description.Format, D3DPOOL_SYSTEMMEM, &renderTargetData, NULL); if (FAILED(result)) @@ -517,7 +517,7 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, D3DLOCKED_RECT destLock = {0}; result = lock(&destLock, &destRect); - + if (FAILED(result)) { ERR("Failed to lock the destination surface (rectangle might be invalid)."); diff --git a/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp index 3047f79e..4ae077df 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp @@ -1156,10 +1156,10 @@ bool Renderer9::applyRenderTarget(gl::Framebuffer *framebuffer) // Apply the render target on the device IDirect3DSurface9 *renderTargetSurface = NULL; - RenderTarget *renderTarget = attachment->getRenderTarget(); + RenderTarget9 *renderTarget = d3d9::GetAttachmentRenderTarget(attachment); if (renderTarget) { - renderTargetSurface = RenderTarget9::makeRenderTarget9(renderTarget)->getSurface(); + renderTargetSurface = renderTarget->getSurface(); } if (!renderTargetSurface) @@ -1199,11 +1199,11 @@ bool Renderer9::applyRenderTarget(gl::Framebuffer *framebuffer) if (depthStencil) { IDirect3DSurface9 *depthStencilSurface = NULL; - RenderTarget *depthStencilRenderTarget = depthStencil->getRenderTarget(); + rx::RenderTarget9 *depthStencilRenderTarget = d3d9::GetAttachmentRenderTarget(depthStencil); if (depthStencilRenderTarget) { - depthStencilSurface = RenderTarget9::makeRenderTarget9(depthStencilRenderTarget)->getSurface(); + depthStencilSurface = depthStencilRenderTarget->getSurface(); } if (!depthStencilSurface) @@ -2478,11 +2478,11 @@ bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, const gl::Rectangle & if (readBuffer) { - readRenderTarget = RenderTarget9::makeRenderTarget9(readBuffer->getRenderTarget()); + readRenderTarget = d3d9::GetAttachmentRenderTarget(readBuffer); } if (drawBuffer) { - drawRenderTarget = RenderTarget9::makeRenderTarget9(drawBuffer->getRenderTarget()); + drawRenderTarget = d3d9::GetAttachmentRenderTarget(drawBuffer); } if (readRenderTarget) @@ -2607,11 +2607,11 @@ bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, const gl::Rectangle & if (readBuffer) { - readDepthStencil = RenderTarget9::makeRenderTarget9(readBuffer->getRenderTarget()); + readDepthStencil = d3d9::GetAttachmentRenderTarget(readBuffer); } if (drawBuffer) { - drawDepthStencil = RenderTarget9::makeRenderTarget9(drawBuffer->getRenderTarget()); + drawDepthStencil = d3d9::GetAttachmentRenderTarget(drawBuffer); } if (readDepthStencil) @@ -2655,7 +2655,7 @@ gl::Error Renderer9::readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, if (colorbuffer) { - renderTarget = RenderTarget9::makeRenderTarget9(colorbuffer->getRenderTarget()); + renderTarget = d3d9::GetAttachmentRenderTarget(colorbuffer); } if (renderTarget) diff --git a/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp b/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp index b6ba530c..879a6427 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp @@ -10,6 +10,8 @@ #include "libGLESv2/renderer/d3d/d3d9/renderer9_utils.h" #include "libGLESv2/renderer/d3d/d3d9/formatutils9.h" #include "libGLESv2/formatutils.h" +#include "libGLESv2/Framebuffer.h" +#include "libGLESv2/renderer/d3d/d3d9/RenderTarget9.h" #include "common/mathutil.h" #include "common/debug.h" @@ -531,6 +533,12 @@ void MakeValidSize(bool isImage, D3DFORMAT format, GLsizei *requestWidth, GLsize *levelOffset = upsampleCount; } +RenderTarget9 *GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment) +{ + RenderTarget *renderTarget = rx::GetAttachmentRenderTarget(attachment); + return RenderTarget9::makeRenderTarget9(renderTarget); +} + } } diff --git a/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h b/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h index 5f19f3b7..b0a940e6 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h +++ b/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h @@ -4,7 +4,7 @@ // found in the LICENSE file. // -// renderer9_utils.h: Conversion functions and other utility routines +// renderer9_utils.h: Conversion functions and other utility routines // specific to the D3D9 renderer #ifndef LIBGLESV2_RENDERER_RENDERER9_UTILS_H @@ -13,8 +13,14 @@ #include "libGLESv2/angletypes.h" #include "libGLESv2/Caps.h" +namespace gl +{ +class FramebufferAttachment; +} + namespace rx { +class RenderTarget9; namespace gl_d3d9 { @@ -68,6 +74,8 @@ inline bool isDeviceLostError(HRESULT errorCode) } } +RenderTarget9 *GetAttachmentRenderTarget(gl::FramebufferAttachment *attachment); + } } |