mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-27 04:54:15 +01:00
[d3d11] Remove d3d11.asyncPresent option
This commit is contained in:
parent
a558f82b5f
commit
bc0537df37
13
dxvk.conf
13
dxvk.conf
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
@ -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;
|
||||
};
|
||||
|
||||
}
|
@ -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;
|
||||
|
@ -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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user