1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-11-29 19:24:10 +01:00

[d3d11] Overwatch: Fake success in CreateGeometryShaderWithStreamOutput

This commit is contained in:
Philip Rebohle 2018-05-25 23:53:34 +02:00
parent a0e0ba1cc8
commit b78130defd
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
3 changed files with 16 additions and 2 deletions

View File

@ -1115,7 +1115,10 @@ namespace dxvk {
ID3D11GeometryShader** ppGeometryShader) { ID3D11GeometryShader** ppGeometryShader) {
InitReturnPtr(ppGeometryShader); InitReturnPtr(ppGeometryShader);
Logger::err("D3D11Device::CreateGeometryShaderWithStreamOutput: Not implemented"); Logger::err("D3D11Device::CreateGeometryShaderWithStreamOutput: Not implemented");
return E_NOTIMPL;
// Returning S_OK instead of an error fixes some issues
// with Overwatch until this is properly implemented
return m_d3d11Options.test(D3D11Option::FakeStreamOutSupport) ? S_OK : E_NOTIMPL;
} }

View File

@ -5,8 +5,9 @@
namespace dxvk { namespace dxvk {
const static std::unordered_map<std::string, D3D11OptionSet> g_d3d11AppOptions = {{ const static std::unordered_map<std::string, D3D11OptionSet> g_d3d11AppOptions = {{
{ "Dishonored2.exe", D3D11OptionSet(D3D11Option::AllowMapFlagNoWait) }, { "Dishonored2.exe", D3D11OptionSet(D3D11Option::AllowMapFlagNoWait) },
{ "Fallout4.exe", D3D11OptionSet(D3D11Option::DisableGetDataFlagDoNotFlush) }, { "Fallout4.exe", D3D11OptionSet(D3D11Option::DisableGetDataFlagDoNotFlush) },
{ "Overwatch.exe", D3D11OptionSet(D3D11Option::FakeStreamOutSupport) },
}}; }};

View File

@ -23,6 +23,16 @@ namespace dxvk {
* when passing the \c DONOTFLUSH flag. * when passing the \c DONOTFLUSH flag.
*/ */
DisableGetDataFlagDoNotFlush = 1, DisableGetDataFlagDoNotFlush = 1,
/**
* \brief Fakes stream output support
*
* Temporary hack that fixes issues in some games
* which technically need stream output but work
* well enough without it. Will be removed once
* Stream Output is properly supported in DXVK.
*/
FakeStreamOutSupport = 63,
}; };
using D3D11OptionSet = Flags<D3D11Option>; using D3D11OptionSet = Flags<D3D11Option>;