Renamed SwapChain11's textures and views.

TRAC #21930 Renamed SwapChain11's textures and views to better represent if they are for the back buffer or offscreen texture. Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1537 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent c52be63d
......@@ -23,12 +23,12 @@ SwapChain11::SwapChain11(Renderer11 *renderer, HWND window, HANDLE shareHandle,
: mRenderer(renderer), SwapChain(window, shareHandle, backBufferFormat, depthBufferFormat)
{
mSwapChain = NULL;
mBackBuffer = NULL;
mBackBufferView = NULL;
mRenderTargetView = NULL;
mDepthStencil = NULL;
mDepthStencilView = NULL;
mBackBufferTexture = NULL;
mBackBufferRTView = NULL;
mOffscreenTexture = NULL;
mOffscreenRTView = NULL;
mDepthStencilTexture = NULL;
mDepthStencilDSView = NULL;
mWidth = -1;
mHeight = -1;
}
......@@ -46,40 +46,40 @@ void SwapChain11::release()
mSwapChain = NULL;
}
if (mBackBuffer)
if (mBackBufferTexture)
{
mBackBuffer->Release();
mBackBuffer = NULL;
mBackBufferTexture->Release();
mBackBufferTexture = NULL;
}
if (mBackBufferView)
if (mBackBufferRTView)
{
mBackBufferView->Release();
mBackBufferView = NULL;
mBackBufferRTView->Release();
mBackBufferRTView = NULL;
}
if (mRenderTargetView)
if (mOffscreenTexture)
{
mRenderTargetView->Release();
mRenderTargetView = NULL;
mOffscreenTexture->Release();
mOffscreenTexture = NULL;
}
if (mDepthStencil)
if (mOffscreenRTView)
{
mDepthStencil->Release();
mDepthStencil = NULL;
mOffscreenRTView->Release();
mOffscreenRTView = NULL;
}
if (mDepthStencilView)
if (mDepthStencilTexture)
{
mDepthStencilView->Release();
mDepthStencilView = NULL;
mDepthStencilTexture->Release();
mDepthStencilTexture = NULL;
}
if (mOffscreenTexture)
if (mDepthStencilDSView)
{
mOffscreenTexture->Release();
mOffscreenTexture = NULL;
mDepthStencilDSView->Release();
mDepthStencilDSView = NULL;
}
if (mWindow)
......@@ -103,22 +103,16 @@ EGLint SwapChain11::reset(int backbufferWidth, int backbufferHeight, EGLint swap
mSwapChain = NULL;
}
if (mBackBuffer)
if (mBackBufferTexture)
{
mBackBuffer->Release();
mBackBuffer = NULL;
mBackBufferTexture->Release();
mBackBufferTexture = NULL;
}
if (mBackBufferView)
if (mBackBufferRTView)
{
mBackBufferView->Release();
mBackBufferView = NULL;
}
if (mRenderTargetView) // TODO: Preserve the render target content
{
mRenderTargetView->Release();
mRenderTargetView = NULL;
mBackBufferRTView->Release();
mBackBufferRTView = NULL;
}
if (mOffscreenTexture)
......@@ -127,16 +121,22 @@ EGLint SwapChain11::reset(int backbufferWidth, int backbufferHeight, EGLint swap
mOffscreenTexture = NULL;
}
if (mDepthStencil)
if (mOffscreenRTView) // TODO: Preserve the render target content
{
mOffscreenRTView->Release();
mOffscreenRTView = NULL;
}
if (mDepthStencilTexture)
{
mDepthStencil->Release();
mDepthStencil = NULL;
mDepthStencilTexture->Release();
mDepthStencilTexture = NULL;
}
if (mDepthStencilView)
if (mDepthStencilDSView)
{
mDepthStencilView->Release();
mDepthStencilView = NULL;
mDepthStencilDSView->Release();
mDepthStencilDSView = NULL;
}
HANDLE *pShareHandle = NULL;
......@@ -175,7 +175,7 @@ EGLint SwapChain11::reset(int backbufferWidth, int backbufferHeight, EGLint swap
}
}
result = device->CreateRenderTargetView(mOffscreenTexture, NULL, &mRenderTargetView);
result = device->CreateRenderTargetView(mOffscreenTexture, NULL, &mOffscreenRTView);
ASSERT(SUCCEEDED(result));
if (mWindow)
......@@ -215,10 +215,10 @@ EGLint SwapChain11::reset(int backbufferWidth, int backbufferHeight, EGLint swap
}
}
result = mSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&mBackBuffer);
result = mSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&mBackBufferTexture);
ASSERT(SUCCEEDED(result));
result = device->CreateRenderTargetView(mBackBuffer, NULL, &mBackBufferView);
result = device->CreateRenderTargetView(mBackBufferTexture, NULL, &mBackBufferRTView);
ASSERT(SUCCEEDED(result));
}
......@@ -237,7 +237,7 @@ EGLint SwapChain11::reset(int backbufferWidth, int backbufferHeight, EGLint swap
depthStencilDesc.CPUAccessFlags = 0;
depthStencilDesc.MiscFlags = 0;
result = device->CreateTexture2D(&depthStencilDesc, NULL, &mDepthStencil);
result = device->CreateTexture2D(&depthStencilDesc, NULL, &mDepthStencilTexture);
if (FAILED(result))
{
......@@ -254,7 +254,7 @@ EGLint SwapChain11::reset(int backbufferWidth, int backbufferHeight, EGLint swap
}
}
result = device->CreateDepthStencilView(mDepthStencil, NULL, &mDepthStencilView);
result = device->CreateDepthStencilView(mDepthStencilTexture, NULL, &mDepthStencilDSView);
ASSERT(SUCCEEDED(result));
}
......@@ -284,24 +284,24 @@ EGLint SwapChain11::swapRect(EGLint x, EGLint y, EGLint width, EGLint height)
// caller must Release() the returned view
ID3D11RenderTargetView *SwapChain11::getRenderTarget()
{
if (mRenderTargetView)
if (mOffscreenRTView)
{
mRenderTargetView->AddRef();
mOffscreenRTView->AddRef();
}
return mRenderTargetView;
return mOffscreenRTView;
}
// Increments refcount on view.
// caller must Release() the returned view
ID3D11DepthStencilView *SwapChain11::getDepthStencil()
{
if (mDepthStencilView)
if (mDepthStencilDSView)
{
mDepthStencilView->AddRef();
mDepthStencilDSView->AddRef();
}
return mDepthStencilView;
return mDepthStencilDSView;
}
// Increments refcount on texture.
......
......@@ -47,12 +47,15 @@ class SwapChain11 : public SwapChain
EGLint mWidth;
IDXGISwapChain *mSwapChain;
ID3D11Texture2D *mBackBuffer;
ID3D11RenderTargetView *mBackBufferView;
ID3D11RenderTargetView *mRenderTargetView;
ID3D11Texture2D *mDepthStencil;
ID3D11DepthStencilView *mDepthStencilView;
ID3D11Texture2D *mBackBufferTexture;
ID3D11RenderTargetView *mBackBufferRTView;
ID3D11Texture2D *mOffscreenTexture;
ID3D11RenderTargetView *mOffscreenRTView;
ID3D11Texture2D *mDepthStencilTexture;
ID3D11DepthStencilView *mDepthStencilDSView;
};
}
......
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