diff --git a/src/dxvk/dxvk_options.cpp b/src/dxvk/dxvk_options.cpp index 85fc3ec3e..a31778e18 100644 --- a/src/dxvk/dxvk_options.cpp +++ b/src/dxvk/dxvk_options.cpp @@ -20,8 +20,6 @@ namespace dxvk { allowFse = config.getOption ("dxvk.allowFse", false); framePace = config.getOption("dxvk.framePace", ""); lowLatencyOffset = config.getOption ("dxvk.lowLatencyOffset", 0); - lowLatencyAllowCpuFramesOverlap - = config.getOption ("dxvk.lowLatencyAllowCpuFramesOverlap", true); deviceFilter = config.getOption("dxvk.deviceFilter", ""); tilerMode = config.getOption("dxvk.tilerMode", Tristate::Auto); } diff --git a/src/dxvk/framepacer/dxvk_framepacer.h b/src/dxvk/framepacer/dxvk_framepacer.h index 264dcff57..0028e1353 100644 --- a/src/dxvk/framepacer/dxvk_framepacer.h +++ b/src/dxvk/framepacer/dxvk_framepacer.h @@ -53,7 +53,6 @@ namespace dxvk { auto now = high_resolution_clock::now(); LatencyMarkers* m = m_latencyMarkersStorage.getMarkers(frameId); m->csFinished = std::chrono::duration_cast(now - m->start).count(); - m_mode->signalCsFinished( frameId ); } void notifySubmit() override { diff --git a/src/dxvk/framepacer/dxvk_framepacer_mode.h b/src/dxvk/framepacer/dxvk_framepacer_mode.h index 109a240a2..2109bd57b 100644 --- a/src/dxvk/framepacer/dxvk_framepacer_mode.h +++ b/src/dxvk/framepacer/dxvk_framepacer_mode.h @@ -44,9 +44,6 @@ namespace dxvk { void signalGpuStart( uint64_t frameId ) { if (m_mode) m_fenceGpuStart.signal(frameId); } - void signalCsFinished( uint64_t frameId ) { - if (m_mode) m_fenceCsFinished.signal(frameId); } - void setTargetFrameRate( double frameRate ) { if (!m_fpsLimitEnvOverride && frameRate > 1.0) m_fpsLimitFrametime.store( 1'000'000/frameRate ); @@ -68,7 +65,6 @@ namespace dxvk { sync::Fence m_fenceGpuStart = { sync::Fence(DXGI_MAX_SWAP_CHAIN_BUFFERS) }; sync::Fence m_fenceGpuFinished = { sync::Fence(DXGI_MAX_SWAP_CHAIN_BUFFERS) }; - sync::Fence m_fenceCsFinished = { sync::Fence(DXGI_MAX_SWAP_CHAIN_BUFFERS+50) }; }; diff --git a/src/dxvk/framepacer/dxvk_framepacer_mode_low_latency.cpp b/src/dxvk/framepacer/dxvk_framepacer_mode_low_latency.cpp index 4e39145b4..4af77f051 100644 --- a/src/dxvk/framepacer/dxvk_framepacer_mode_low_latency.cpp +++ b/src/dxvk/framepacer/dxvk_framepacer_mode_low_latency.cpp @@ -10,15 +10,6 @@ namespace dxvk { } - bool getLowLatencyAllowCpuFramesOverlapFromEnv( bool& allowOverlap ) { - int32_t o; - if (!FramePacerMode::getIntFromEnv("DXVK_LOW_LATENCY_ALLOW_CPU_FRAMES_OVERLAP", &o)) - return false; - allowOverlap = (bool) o; - return true; - } - - int32_t LowLatencyMode::getLowLatencyOffset( const DxvkOptions& options ) { int32_t offset = options.lowLatencyOffset; int32_t o; @@ -30,14 +21,4 @@ namespace dxvk { return offset; } - - bool LowLatencyMode::getLowLatencyAllowCpuFramesOverlap( const DxvkOptions& options ) { - bool allowOverlap = options.lowLatencyAllowCpuFramesOverlap; - bool o; - if (getLowLatencyAllowCpuFramesOverlapFromEnv(o)) - allowOverlap = o; - return allowOverlap; - } - - } diff --git a/src/dxvk/framepacer/dxvk_framepacer_mode_low_latency.h b/src/dxvk/framepacer/dxvk_framepacer_mode_low_latency.h index 28f5f170b..2d17df1c7 100644 --- a/src/dxvk/framepacer/dxvk_framepacer_mode_low_latency.h +++ b/src/dxvk/framepacer/dxvk_framepacer_mode_low_latency.h @@ -44,20 +44,16 @@ namespace dxvk { LowLatencyMode(Mode mode, LatencyMarkersStorage* storage, const DxvkOptions& options) : FramePacerMode(mode, storage), - m_lowLatencyOffset(getLowLatencyOffset(options)), - m_allowCpuFramesOverlap(getLowLatencyAllowCpuFramesOverlap(options)) { + m_lowLatencyOffset(getLowLatencyOffset(options)) { Logger::info( str::format("Using lowLatencyOffset: ", m_lowLatencyOffset) ); - Logger::info( str::format("Using lowLatencyAllowCpuFramesOverlap: ", m_allowCpuFramesOverlap) ); } ~LowLatencyMode() {} void startFrame( uint64_t frameId ) override { - using std::chrono::duration_cast; - if (!m_allowCpuFramesOverlap) - m_fenceCsFinished.wait( frameId-1 ); + using std::chrono::duration_cast; m_fenceGpuStart.wait( frameId-1 ); @@ -249,10 +245,7 @@ namespace dxvk { int32_t getLowLatencyOffset( const DxvkOptions& options ); - bool getLowLatencyAllowCpuFramesOverlap( const DxvkOptions& options ); - const int32_t m_lowLatencyOffset; - const bool m_allowCpuFramesOverlap; Sleep::TimePoint m_lastStart = { high_resolution_clock::now() }; std::array m_props;