D3D: Fixed D3D validation error during EFB to texture copy

Texture was being bound as a render target while still being set as a shader resource.
D3D automatically unbinds the SRV in this case and generates a validation error.
The fix is to manually unbind SRV, render into it and then re-bind to old slots.
This commit is contained in:
Yuriy O'Donnell
2014-12-13 00:32:08 +01:00
parent 971a95aece
commit 764aee6995
3 changed files with 32 additions and 0 deletions

View File

@ -234,6 +234,9 @@ public:
}
}
// removes currently set texture from all slots, returns mask of previously bound slots
u32 StateManager::UnsetTexture(ID3D11ShaderResourceView* srv);
// call this immediately before any drawing operation or to explicitly apply pending resource state changes
void Apply();