From d4bef1a7bdceffb4f58b25ab3cddd34e4a69b946 Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Thu, 16 Jul 2020 19:19:23 +0000 Subject: [PATCH] Remove MSAA debug mode when renderpipeline asset has no MSAA (#1289) --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 4 ++-- .../Runtime/Debug/DebugDisplay.cs | 9 ++++++--- .../Runtime/RenderPipeline/HDRenderPipeline.cs | 8 ++++---- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index a7d6968e444..661fdf318fa 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -6,8 +6,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [7.5.0] - 2020-06-08 -Version Updated -The version number for this package has increased due to a version update of a related graphics package. +### Fixed +- Remove MSAA debug mode when renderpipeline asset has no MSAA ## [7.4.1] - 2020-06-03 diff --git a/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs b/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs index a8e6baff563..34c414e3309 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs @@ -1027,10 +1027,13 @@ void RegisterRenderingDebug() }); } - widgetList.AddRange(new DebugUI.Widget[] + if (HDRenderPipeline.currentAsset?.currentPlatformRenderPipelineSettings.supportMSAA ?? true) { - new DebugUI.EnumField { displayName = "MSAA Samples", getter = () => (int)data.msaaSamples, setter = value => data.msaaSamples = (MSAASamples)value, enumNames = s_MsaaSamplesDebugStrings, enumValues = s_MsaaSamplesDebugValues, getIndex = () => data.msaaSampleDebugModeEnumIndex, setIndex = value => data.msaaSampleDebugModeEnumIndex = value }, - }); + widgetList.AddRange(new DebugUI.Widget[] + { + new DebugUI.EnumField { displayName = "MSAA Samples", getter = () => (int)data.msaaSamples, setter = value => data.msaaSamples = (MSAASamples)value, enumNames = s_MsaaSamplesDebugStrings, enumValues = s_MsaaSamplesDebugValues, getIndex = () => data.msaaSampleDebugModeEnumIndex, setIndex = value => data.msaaSampleDebugModeEnumIndex = value }, + }); + } widgetList.AddRange(new DebugUI.Widget[] { diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs index 5022dffbf6a..bb2a93c308b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -474,9 +474,6 @@ public HDRenderPipeline(HDRenderPipelineAsset asset, HDRenderPipelineAsset defau // TODO : Bind this directly to the debug menu instead of having an intermediate value m_MSAASamples = m_Asset ? m_Asset.currentPlatformRenderPipelineSettings.msaaSampleCount : MSAASamples.None; - // Propagate it to the debug menu - m_DebugDisplaySettings.data.msaaSamples = m_MSAASamples; - m_MRTTransparentMotionVec = new RenderTargetIdentifier[2]; if (m_RayTracingSupported) @@ -1931,7 +1928,10 @@ AOVRequestData aovRequest else { // Make sure we are in sync with the debug menu for the msaa count - m_MSAASamples = m_DebugDisplaySettings.data.msaaSamples; + m_MSAASamples = (m_DebugDisplaySettings.data.msaaSamples != MSAASamples.None) ? + m_DebugDisplaySettings.data.msaaSamples : + m_Asset.currentPlatformRenderPipelineSettings.msaaSampleCount; + m_SharedRTManager.SetNumMSAASamples(m_MSAASamples); m_DebugDisplaySettings.UpdateCameraFreezeOptions();