From 8ca34b8e93241cfd25488291e3e75435555f1ac0 Mon Sep 17 00:00:00 2001 From: Julien Ignace Date: Thu, 11 Jun 2020 11:43:58 +0200 Subject: [PATCH 1/3] Fixed a serialization issue, preventing quality level parameters to undo/redo and update scene view on change. --- .../RenderPipeline/ScalableSettingLevelParameterEditor.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/ScalableSettingLevelParameterEditor.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/ScalableSettingLevelParameterEditor.cs index a41b0d596e9..2cb438ba56b 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/ScalableSettingLevelParameterEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/ScalableSettingLevelParameterEditor.cs @@ -22,13 +22,14 @@ public override bool OnGUI(SerializedDataParameter parameter, GUIContent title) rect.y += 2; rect.width -= 3; - o.levelAndOverride = SerializedScalableSettingValueUI.LevelFieldGUI( + var levelAndOverride = SerializedScalableSettingValueUI.LevelFieldGUI( rect, title, ScalableSettingSchema.GetSchemaOrNull(ScalableSettingSchemaId.With3Levels), level, useOverride ); + value.intValue = levelAndOverride.level; return true; } } From 1e25eb9f8f0b64dbfece9595a6b5a0228a72b7dc Mon Sep 17 00:00:00 2001 From: Julien Ignace Date: Fri, 12 Jun 2020 16:30:18 +0200 Subject: [PATCH 2/3] Fixed issue when using Custom --- .../RenderPipeline/ScalableSettingLevelParameterEditor.cs | 2 +- .../RenderPipeline/GlobalPostProcessingQualitySettings.cs | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/ScalableSettingLevelParameterEditor.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/ScalableSettingLevelParameterEditor.cs index 2cb438ba56b..de006eccc07 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/ScalableSettingLevelParameterEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/ScalableSettingLevelParameterEditor.cs @@ -29,7 +29,7 @@ public override bool OnGUI(SerializedDataParameter parameter, GUIContent title) level, useOverride ); - value.intValue = levelAndOverride.level; + value.intValue = ScalableSettingLevelParameter.GetScalableSettingLevelParameterValue(levelAndOverride.level, levelAndOverride.useOverride); return true; } } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/GlobalPostProcessingQualitySettings.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/GlobalPostProcessingQualitySettings.cs index 5bee02315d9..f77d6923019 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/GlobalPostProcessingQualitySettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/GlobalPostProcessingQualitySettings.cs @@ -33,6 +33,11 @@ public ScalableSettingLevelParameter(int level, bool useOverride, bool overrideS } + internal static int GetScalableSettingLevelParameterValue(int level, bool useOverride) + { + return useOverride ? LevelCount : (int)level; + } + /// /// Level and Override. /// @@ -42,7 +47,7 @@ public ScalableSettingLevelParameter(int level, bool useOverride, bool overrideS set { var (level, useOverride) = value; - this.value = useOverride ? LevelCount : (int)level; + this.value = GetScalableSettingLevelParameterValue(level, useOverride); } } } From 2b0911bf1aae830bc85047799736980a2b916aca Mon Sep 17 00:00:00 2001 From: Julien Ignace Date: Thu, 2 Jul 2020 11:24:21 +0200 Subject: [PATCH 3/3] Update changelog --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 4c479b530fb..ad97422b2c5 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -95,6 +95,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed an issue where static sky lighting would not be updated for a new scene until it's reloaded at least once. - Fixed missing include guards in shadow hlsl files. - Fixed issue with light layers bigger than 8 (and above the supported range). +- Fixed a serialization issue, preventing quality level parameters to undo/redo and update scene view on change. ### Changed - Rejecting history for ray traced reflections based on a threshold evaluated on the neighborhood of the sampled history.