Skip to content

Commit 05eae81

Browse files
committed
added signed presets to dlss-d
1 parent 318e109 commit 05eae81

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

OptiScaler/backends/dlssd/DLSSDFeature.cpp

+64
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ void DLSSDFeature::ProcessInitParams(NVSDK_NGX_Parameter* InParameters)
170170
InParameters->Set(NVSDK_NGX_Parameter_OutWidth, TargetWidth());
171171
InParameters->Set(NVSDK_NGX_Parameter_OutHeight, TargetHeight());
172172

173+
bool signedEnum = false;
173174
uint32_t RenderPresetDLAA = 0;
174175
uint32_t RenderPresetUltraQuality = 0;
175176
uint32_t RenderPresetQuality = 0;
@@ -195,8 +196,53 @@ void DLSSDFeature::ProcessInitParams(NVSDK_NGX_Parameter* InParameters)
195196
if (InParameters->Get(NVSDK_NGX_Parameter_DLSS_Hint_Render_Preset_UltraPerformance, &RenderPresetUltraPerformance) != NVSDK_NGX_Result_Success)
196197
InParameters->Get("RayReconstruction.Hint.Render.Preset.UltraPerformance", &RenderPresetUltraPerformance);
197198

199+
200+
if (RenderPresetDLAA >= 2147483648)
201+
{
202+
RenderPresetDLAA -= 2147483648;
203+
signedEnum = true;
204+
}
205+
206+
if (RenderPresetUltraQuality >= 2147483648)
207+
{
208+
RenderPresetUltraQuality -= 2147483648;
209+
signedEnum = true;
210+
}
211+
212+
if (RenderPresetQuality >= 2147483648)
213+
{
214+
RenderPresetQuality -= 2147483648;
215+
signedEnum = true;
216+
}
217+
218+
if (RenderPresetBalanced >= 2147483648)
219+
{
220+
RenderPresetBalanced -= 2147483648;
221+
signedEnum = true;
222+
}
223+
224+
if (RenderPresetPerformance >= 2147483648)
225+
{
226+
RenderPresetPerformance -= 2147483648;
227+
signedEnum = true;
228+
}
229+
230+
if (RenderPresetUltraPerformance >= 2147483648)
231+
{
232+
RenderPresetUltraPerformance -= 2147483648;
233+
signedEnum = true;
234+
}
235+
198236
if (Config::Instance()->RenderPresetOverride.value_or(false))
199237
{
238+
LOG_DEBUG("Preset override active, config overrides:");
239+
LOG_DEBUG("Preset_DLAA {}", Config::Instance()->RenderPresetDLAA.value_or(RenderPresetDLAA));
240+
LOG_DEBUG("Preset_UltraQuality {}", Config::Instance()->RenderPresetUltraQuality.value_or(RenderPresetUltraQuality));
241+
LOG_DEBUG("Preset_Quality {}", Config::Instance()->RenderPresetQuality.value_or(RenderPresetQuality));
242+
LOG_DEBUG("Preset_Balanced {}", Config::Instance()->RenderPresetBalanced.value_or(RenderPresetBalanced));
243+
LOG_DEBUG("Preset_Performance {}", Config::Instance()->RenderPresetPerformance.value_or(RenderPresetPerformance));
244+
LOG_DEBUG("Preset_UltraPerformance {}", Config::Instance()->RenderPresetUltraPerformance.value_or(RenderPresetUltraPerformance));
245+
200246
RenderPresetDLAA = Config::Instance()->RenderPresetDLAA.value_or(RenderPresetDLAA);
201247
RenderPresetUltraQuality = Config::Instance()->RenderPresetUltraQuality.value_or(RenderPresetUltraQuality);
202248
RenderPresetQuality = Config::Instance()->RenderPresetQuality.value_or(RenderPresetQuality);
@@ -223,12 +269,30 @@ void DLSSDFeature::ProcessInitParams(NVSDK_NGX_Parameter* InParameters)
223269
if (RenderPresetUltraPerformance < 0 || RenderPresetUltraPerformance > 7)
224270
RenderPresetUltraPerformance = 0;
225271

272+
LOG_DEBUG("Signed Enum: {}", signedEnum);
273+
if (signedEnum)
274+
{
275+
RenderPresetDLAA += 2147483648;
276+
RenderPresetUltraQuality += 2147483648;
277+
RenderPresetQuality += 2147483648;
278+
RenderPresetBalanced += 2147483648;
279+
RenderPresetPerformance += 2147483648;
280+
RenderPresetUltraPerformance += 2147483648;
281+
}
282+
283+
LOG_DEBUG("Final Presets:");
226284
InParameters->Set(NVSDK_NGX_Parameter_DLSS_Hint_Render_Preset_DLAA, RenderPresetDLAA);
285+
LOG_DEBUG("Preset_DLAA {}", RenderPresetDLAA);
227286
InParameters->Set(NVSDK_NGX_Parameter_DLSS_Hint_Render_Preset_UltraQuality, RenderPresetUltraQuality);
287+
LOG_DEBUG("Preset_UltraQuality {}", RenderPresetUltraQuality);
228288
InParameters->Set(NVSDK_NGX_Parameter_DLSS_Hint_Render_Preset_Quality, RenderPresetQuality);
289+
LOG_DEBUG("Preset_Quality {}", RenderPresetQuality);
229290
InParameters->Set(NVSDK_NGX_Parameter_DLSS_Hint_Render_Preset_Balanced, RenderPresetBalanced);
291+
LOG_DEBUG("Preset_Balanced {}", RenderPresetBalanced);
230292
InParameters->Set(NVSDK_NGX_Parameter_DLSS_Hint_Render_Preset_Performance, RenderPresetPerformance);
293+
LOG_DEBUG("Preset_Performance {}", RenderPresetPerformance);
231294
InParameters->Set(NVSDK_NGX_Parameter_DLSS_Hint_Render_Preset_UltraPerformance, RenderPresetUltraPerformance);
295+
LOG_DEBUG("Preset_UltraPerformance {}", RenderPresetUltraPerformance);
232296
InParameters->Set("RayReconstruction.Hint.Render.Preset.DLAA", RenderPresetDLAA);
233297
InParameters->Set("RayReconstruction.Hint.Render.Preset.UltraQuality", RenderPresetUltraQuality);
234298
InParameters->Set("RayReconstruction.Hint.Render.Preset.Quality", RenderPresetQuality);

0 commit comments

Comments
 (0)