Skip to content

Commit 68ee796

Browse files
committed
Merge branch 'xbei/dlfg_fix' into 'main'
Fix multi-frame generation above 2x See merge request lightspeedrtx/dxvk-remix-nv!2273
2 parents 0d088f2 + 1f10dd6 commit 68ee796

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

src/dxvk/rtx_render/rtx_ngx_wrapper.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -926,11 +926,19 @@ namespace dxvk
926926
consts.motionVectorsInvalidValue = 0.0; // xxxnsubtil: is this correct?
927927
consts.motionVectorsDilated = false;
928928

929+
#ifdef _M_X64
930+
// The x64 SDK helper sources these values from consts, overriding direct parameter writes.
931+
consts.multiFrameCount = interpolatedFrameCount;
932+
consts.multiFrameIndex = interpolatedFrameIndex + 1;
933+
#else
934+
// The older ARM64 SDK requires setting these parameters directly.
935+
m_parameters->Set(NVSDK_NGX_DLSSG_Parameter_MultiFrameCount, interpolatedFrameCount);
936+
m_parameters->Set(NVSDK_NGX_DLSSG_Parameter_MultiFrameIndex, interpolatedFrameIndex + 1);
937+
#endif
938+
929939
m_parameters->Set(NVSDK_NGX_DLSSG_Parameter_CmdQueue, m_device->queues().__DLFG_QUEUE.queueHandle);
930940
m_parameters->Set(NVSDK_NGX_DLSSG_Parameter_EnableInterp, 1);
931941
m_parameters->Set(NVSDK_NGX_DLSSG_Parameter_IsRecording, 1);
932-
m_parameters->Set(NVSDK_NGX_DLSSG_Parameter_MultiFrameCount, interpolatedFrameCount);
933-
m_parameters->Set(NVSDK_NGX_DLSSG_Parameter_MultiFrameIndex, interpolatedFrameIndex + 1);
934942

935943
NVSDK_NGX_Result result;
936944
result = NGX_VK_EVALUATE_DLSSG(clientCommandList, m_feature, m_parameters, &evalParams, &consts);

0 commit comments

Comments
 (0)