[d3d11] Remove d3d11.asyncPresent option

This commit is contained in:
Philip Rebohle 2019-08-04 16:30:29 +02:00
parent a558f82b5f
commit bc0537df37
5 changed files with 1 additions and 38 deletions

View File

@ -63,19 +63,6 @@
# dxgi.syncInterval = -1
# Toggles asynchronous present.
#
# Off-loads presentation to the queue submission thread in
# order to reduce stalling on the main rendering thread and
# improve performance.
#
# Supported values:
# - Auto: Enable on certain drivers
# - True / False: Always enable / disable
# dxgi.asyncPresent = Auto
# Enables or dsables d3d10 support.
#
# Supported values: True, False

View File

@ -17,7 +17,6 @@ namespace dxvk {
this->numBackBuffers = config.getOption<int32_t>("dxgi.numBackBuffers", 0);
this->maxFrameLatency = config.getOption<int32_t>("dxgi.maxFrameLatency", 0);
this->syncInterval = config.getOption<int32_t>("dxgi.syncInterval", -1);
this->asyncPresent = config.getOption<Tristate>("dxgi.asyncPresent", Tristate::Auto);
}
}

View File

@ -76,10 +76,6 @@ namespace dxvk {
/// fixes issues with games that create multiple swap chains
/// for a single window that may interfere with each other.
bool deferSurfaceCreation;
/// Whether to use the submission thread for presentation.
/// May increase performance in some games with some drivers.
Tristate asyncPresent;
};
}

View File

@ -34,7 +34,6 @@ namespace dxvk {
InitRenderState();
InitSamplers();
InitShaders();
InitOptions();
}
@ -203,8 +202,7 @@ namespace dxvk {
m_hud->update();
for (uint32_t i = 0; i < SyncInterval || i < 1; i++) {
if (m_asyncPresent)
SynchronizePresent();
SynchronizePresent();
m_context->beginRecording(
m_device->createCommandList());
@ -307,9 +305,6 @@ namespace dxvk {
m_device->presentImage(m_presenter,
sync.present, &m_presentStatus);
if (!m_asyncPresent)
SynchronizePresent();
}
}
@ -592,16 +587,6 @@ namespace dxvk {
}
void D3D11SwapChain::InitOptions() {
// Not synchronizing after present seems to increase
// the likelyhood of hangs on Nvidia for some reason.
m_asyncPresent = !m_device->adapter()->matchesDriver(
DxvkGpuVendor::Nvidia, VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR, 0, 0);
applyTristate(m_asyncPresent, m_parent->GetOptions()->asyncPresent);
}
void D3D11SwapChain::InitRenderState() {
m_iaState.primitiveTopology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
m_iaState.primitiveRestart = VK_FALSE;

View File

@ -120,8 +120,6 @@ namespace dxvk {
bool m_dirty = true;
bool m_vsync = true;
bool m_asyncPresent = false;
void PresentImage(UINT SyncInterval);
void SynchronizePresent();
@ -145,8 +143,6 @@ namespace dxvk {
void CreateHud();
void InitOptions();
void InitRenderState();
void InitSamplers();