Commit 56d1003e by Jamie Madill

Add a D3D11 Debug member var.

This is useful for dumping live objects on exit, to debug resource leaks. Change-Id: Ie88787defa37853d0a33c951b107ceac289e58df Reviewed-on: https://chromium-review.googlesource.com/256461Reviewed-by: 's avatarBrandon Jones <bajones@chromium.org> Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Tested-by: 's avatarJamie Madill <jmadill@chromium.org>
parent fd67b1bf
...@@ -147,7 +147,8 @@ ID3D11Resource *GetViewResource(ID3D11View *view) ...@@ -147,7 +147,8 @@ ID3D11Resource *GetViewResource(ID3D11View *view)
Renderer11::Renderer11(egl::Display *display) Renderer11::Renderer11(egl::Display *display)
: RendererD3D(display), : RendererD3D(display),
mStateCache(this) mStateCache(this),
mDebug(nullptr)
{ {
mVertexDataManager = NULL; mVertexDataManager = NULL;
mIndexDataManager = NULL; mIndexDataManager = NULL;
...@@ -452,6 +453,10 @@ egl::Error Renderer11::initialize() ...@@ -452,6 +453,10 @@ egl::Error Renderer11::initialize()
} }
#endif #endif
#if !defined(NDEBUG)
mDebug = d3d11::DynamicCastComObject<ID3D11Debug>(mDevice);
#endif
initializeDevice(); initializeDevice();
return egl::Error(EGL_SUCCESS); return egl::Error(EGL_SUCCESS);
...@@ -2097,6 +2102,7 @@ void Renderer11::release() ...@@ -2097,6 +2102,7 @@ void Renderer11::release()
} }
SafeRelease(mDevice); SafeRelease(mDevice);
SafeRelease(mDebug);
if (mD3d11Module) if (mD3d11Module)
{ {
......
...@@ -384,6 +384,7 @@ class Renderer11 : public RendererD3D ...@@ -384,6 +384,7 @@ class Renderer11 : public RendererD3D
DXGI_ADAPTER_DESC mAdapterDescription; DXGI_ADAPTER_DESC mAdapterDescription;
char mDescription[128]; char mDescription[128];
DXGIFactory *mDxgiFactory; DXGIFactory *mDxgiFactory;
ID3D11Debug *mDebug;
}; };
} }
......
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