[c-host] dxgi: remove needsUnmap bool

This commit is contained in:
Geoffrey McRae 2019-03-04 15:11:40 +11:00
parent 925a93686b
commit 935eb0651d

View file

@ -43,7 +43,6 @@ struct iface
ID3D11Texture2D * texture; ID3D11Texture2D * texture;
D3D11_MAPPED_SUBRESOURCE mapping; D3D11_MAPPED_SUBRESOURCE mapping;
bool needsRelease; bool needsRelease;
bool needsUnmap;
osEventHandle * copyEvent; osEventHandle * copyEvent;
osEventHandle * frameEvent; osEventHandle * frameEvent;
osEventHandle * pointerEvent; osEventHandle * pointerEvent;
@ -366,10 +365,10 @@ static bool dxgi_deinit()
{ {
assert(this); assert(this);
if (this->needsUnmap) if (this->mapping.pData)
{ {
ID3D11DeviceContext_Unmap(this->deviceContext, (ID3D11Resource*)this->texture, 0); ID3D11DeviceContext_Unmap(this->deviceContext, (ID3D11Resource*)this->texture, 0);
this->needsUnmap = false; this->mapping.pData = NULL;
} }
if (this->texture) if (this->texture)
@ -494,10 +493,10 @@ static CaptureResult dxgi_capture(bool * hasFrameUpdate, bool * hasPointerUpdate
// wait for the prior copy to finish in getFrame and unmap // wait for the prior copy to finish in getFrame and unmap
os_waitEvent(this->copyEvent); os_waitEvent(this->copyEvent);
if (this->needsUnmap) if (this->mapping.pData)
{ {
ID3D11DeviceContext_Unmap(this->deviceContext, (ID3D11Resource*)this->texture, 0); ID3D11DeviceContext_Unmap(this->deviceContext, (ID3D11Resource*)this->texture, 0);
this->needsUnmap = false; this->mapping.pData = NULL;
} }
// issue the copy from GPU to CPU RAM // issue the copy from GPU to CPU RAM
@ -512,7 +511,6 @@ static CaptureResult dxgi_capture(bool * hasFrameUpdate, bool * hasPointerUpdate
IDXGIResource_Release(res); IDXGIResource_Release(res);
return CAPTURE_RESULT_ERROR; return CAPTURE_RESULT_ERROR;
} }
this->needsUnmap = true;
// signal that a frame is available // signal that a frame is available
os_signalEvent(this->frameEvent); os_signalEvent(this->frameEvent);