Simplify 'Allow Fullscreen' off behaviour to simply error. Refs #80

* Rather than trying to fake fullscreen being successful (then getting
  things like GetFullscreenState wrong), we simply return the valid error
  code for fullscreen not being available.
This commit is contained in:
baldurk
2014-09-02 21:06:15 +01:00
parent d04aba48f7
commit 616615c41e
2 changed files with 2 additions and 15 deletions
+2 -13
View File
@@ -144,8 +144,6 @@ WrappedIDXGISwapChain::WrappedIDXGISwapChain(IDXGISwapChain* real, WrappedID3D11
}
}
m_bFullscreen = desc.Windowed == FALSE;
RenderDoc::Inst().AddFrameCapturer(desc.OutputWindow, m_pDevice);
SAFE_ADDREF(m_pDevice);
@@ -232,26 +230,17 @@ HRESULT WrappedIDXGISwapChain::SetFullscreenState(
/* [in] */ BOOL Fullscreen,
/* [in] */ IDXGIOutput *pTarget)
{
m_bFullscreen = Fullscreen == TRUE;
if(RenderDoc::Inst().GetCaptureOptions().AllowFullscreen)
return m_pReal->SetFullscreenState(Fullscreen, pTarget);
return S_OK;
return DXGI_ERROR_NOT_CURRENTLY_AVAILABLE;
}
HRESULT WrappedIDXGISwapChain::GetFullscreenState(
/* [out] */ BOOL *pFullscreen,
/* [out] */ IDXGIOutput **ppTarget)
{
if(RenderDoc::Inst().GetCaptureOptions().AllowFullscreen)
return m_pReal->GetFullscreenState(pFullscreen, ppTarget);
if(!pFullscreen)
return E_INVALIDARG;
*pFullscreen = m_bFullscreen == true ? TRUE : FALSE;
return S_OK;
return m_pReal->GetFullscreenState(pFullscreen, ppTarget);
}
HRESULT WrappedIDXGISwapChain::GetBuffer(
-2
View File
@@ -107,8 +107,6 @@ class WrappedIDXGISwapChain : public IDXGISwapChain, public RefCountDXGIObject
static const int MAX_NUM_BACKBUFFERS = 4;
ID3D11Resource *m_pBackBuffers[MAX_NUM_BACKBUFFERS];
bool m_bFullscreen;
public:
WrappedIDXGISwapChain(IDXGISwapChain* real, WrappedID3D11Device *device);
virtual ~WrappedIDXGISwapChain();