From 7c41364109e8ed54c573cc1397200237909ea450 Mon Sep 17 00:00:00 2001 From: Nico de Poel Date: Mon, 14 Aug 2023 11:36:22 +0200 Subject: [PATCH] Set constant buffer data as part of the command buffers, instead of immediately. --- Assets/Scripts/Core/Fsr2Context.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Assets/Scripts/Core/Fsr2Context.cs b/Assets/Scripts/Core/Fsr2Context.cs index 5105008..b1d9a17 100644 --- a/Assets/Scripts/Core/Fsr2Context.cs +++ b/Assets/Scripts/Core/Fsr2Context.cs @@ -215,8 +215,8 @@ namespace FidelityFX SetupSpdConstants(dispatchParams, out var dispatchThreadGroupCount); // Initialize constant buffers data - _fsr2ConstantsBuffer.SetData(_fsr2ConstantsArray); - _spdConstantsBuffer.SetData(_spdConstantsArray); + commandBuffer.SetBufferData(_fsr2ConstantsBuffer, _fsr2ConstantsArray); + commandBuffer.SetBufferData(_spdConstantsBuffer, _spdConstantsArray); // Auto reactive if (dispatchParams.EnableAutoReactive) @@ -245,7 +245,7 @@ namespace FidelityFX { // Compute the constants SetupRcasConstants(dispatchParams); - _rcasConstantsBuffer.SetData(_rcasConstantsArray); + commandBuffer.SetBufferData(_rcasConstantsBuffer, _rcasConstantsArray); // Dispatch RCAS const int threadGroupWorkRegionDimRcas = 16; @@ -276,7 +276,7 @@ namespace FidelityFX GenReactiveConsts.threshold = dispatchParams.CutoffThreshold; GenReactiveConsts.binaryValue = dispatchParams.BinaryValue; GenReactiveConsts.flags = (uint)dispatchParams.Flags; - _generateReactiveConstantsBuffer.SetData(_generateReactiveConstantsArray); + commandBuffer.SetBufferData(_generateReactiveConstantsBuffer, _generateReactiveConstantsArray); ((Fsr2GenerateReactivePipeline)_generateReactivePipeline).ScheduleDispatch(commandBuffer, dispatchParams, dispatchSrcX, dispatchSrcY); } @@ -291,7 +291,7 @@ namespace FidelityFX TcrAutoGenConsts.autoTcScale = dispatchParams.AutoTcScale; TcrAutoGenConsts.autoReactiveScale = dispatchParams.AutoReactiveScale; TcrAutoGenConsts.autoReactiveMax = dispatchParams.AutoReactiveMax; - _tcrAutogenerateConstantsBuffer.SetData(_tcrAutogenerateConstantsArray); + commandBuffer.SetBufferData(_tcrAutogenerateConstantsBuffer, _tcrAutogenerateConstantsArray); _tcrAutogeneratePipeline.ScheduleDispatch(commandBuffer, dispatchParams, frameIndex, dispatchSrcX, dispatchSrcY); }