From 642cc248a7abb09970c3e3bcae90efd2e0cc5c55 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 1e863fd23947b48c2088b4a1838f13f4d1957449 Mon Sep 17 00:00:00 2001 From: Julien Ignace Date: Thu, 11 Jun 2020 11:44:23 +0200 Subject: [PATCH 2/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 101179d5f4d..fd63822c328 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -671,6 +671,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed an issue where decals were duplicated in prefab isolation mode. - Fixed an issue where rendering preview with MSAA might generate render graph errors. - Fixed compile error in PS4 for planar reflection filtering. +- Fixed a serialization issue, preventing quality level parameters to undo/redo and update scene view on change. ### Changed - Improve MIP selection for decals on Transparents From 7ff9f72b4e8097a1b1266852a5f33bae29f78f6e Mon Sep 17 00:00:00 2001 From: Julien Ignace Date: Fri, 12 Jun 2020 16:30:18 +0200 Subject: [PATCH 3/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); } } }