diff options
| author | Yong He <yonghe@outlook.com> | 2017-10-23 23:42:23 -0400 |
|---|---|---|
| committer | Yong He <yonghe@outlook.com> | 2017-10-23 23:42:23 -0400 |
| commit | 434d3428932ccaa0f6834d03c37adcab37d17a01 (patch) | |
| tree | 1037732c1e90afd36b588851ce5755d64188bcdb /tools/render-test/render-d3d11.cpp | |
| parent | 19c4119fa00972825a9f81114dac6f796e6b35f7 (diff) | |
bug fix
Diffstat (limited to 'tools/render-test/render-d3d11.cpp')
| -rw-r--r-- | tools/render-test/render-d3d11.cpp | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/tools/render-test/render-d3d11.cpp b/tools/render-test/render-d3d11.cpp index 8643f229a..8f73b4dd4 100644 --- a/tools/render-test/render-d3d11.cpp +++ b/tools/render-test/render-d3d11.cpp @@ -263,7 +263,6 @@ public: ID3D11Device* dxDevice = NULL; ID3D11DeviceContext* dxImmediateContext = NULL; ID3D11Texture2D* dxBackBufferTexture = NULL; - ID3D11RenderTargetView* dxBackBufferRTV = NULL; List<ID3D11RenderTargetView*> dxRenderTargetViews; List<ID3D11Texture2D *> dxRenderTargetTextures; D3DBindingState * currentBindings = nullptr; @@ -339,10 +338,8 @@ public: { hr = D3D11CreateDeviceAndSwapChain_( NULL, // adapter (use default) - D3D_DRIVER_TYPE_WARP, -// D3D_DRIVER_TYPE_HARDWARE, - +// D3D_DRIVER_TYPE_HARDWARE, NULL, // software deviceFlags, &featureLevels[ii], @@ -370,16 +367,12 @@ public: static const IID kIID_ID3D11Texture2D = { 0x6f15aaf2, 0xd208, 0x4e89, 0x9a, 0xb4, 0x48, 0x95, 0x35, 0xd3, 0x4f, 0x9c }; + dxSwapChain->GetBuffer( 0, kIID_ID3D11Texture2D, (void**)&dxBackBufferTexture); - dxDevice->CreateRenderTargetView( - dxBackBufferTexture, - NULL, - &dxBackBufferRTV); - //dxRenderTargetViews.Add(dxBackBufferRTV); for (int i = 0; i < 8; i++) { ID3D11Texture2D* texture; @@ -398,8 +391,7 @@ public: dxRenderTargetViews.Add(rtv); dxRenderTargetTextures.Add(texture); } - dxBackBufferRTV = dxRenderTargetViews[0]; - dxBackBufferTexture = dxRenderTargetTextures[0]; + // We immediately bind the back-buffer render target view, and we aren't // going to switch. We don't bother with a depth buffer. dxImmediateContext->OMSetRenderTargets( @@ -427,7 +419,7 @@ public: virtual void clearFrame() override { - for (auto i = 0u; i < 1; i++) + for (auto i = 0u; i < dxRenderTargetViews.Count(); i++) dxImmediateContext->ClearRenderTargetView( dxRenderTargetViews[i], clearColor); @@ -435,6 +427,7 @@ public: virtual void presentFrame() override { + dxImmediateContext->CopyResource(dxBackBufferTexture, dxRenderTargetTextures[0]); dxSwapChain->Present(0, 0); } @@ -443,7 +436,7 @@ public: HRESULT hr = captureTextureToFile( dxDevice, dxImmediateContext, - dxBackBufferTexture, + dxRenderTargetTextures[0], outputPath); if( FAILED(hr) ) { |
