diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 8ffeef0c4b7..85aff44eab7 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -666,6 +666,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue with dynamic resolution updating when not in play mode. - Fixed issue with Contrast Adaptive Sharpening upsample mode and preview camera. - Fix issue causing blocky artifacts when decals affect metallic and are applied on material with specular color workflow. +- Fixed issue with depth pyramid generation and dynamic resolution. ### Changed - Improve MIP selection for decals on Transparents 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 b044a4705b3..ee47e855809 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -4541,7 +4541,7 @@ void RenderColorPyramid(HDCamera hdCamera, CommandBuffer cmd, bool isPreRefracti void GenerateDepthPyramid(HDCamera hdCamera, CommandBuffer cmd, FullScreenDebugMode debugMode) { CopyDepthBufferIfNeeded(hdCamera, cmd); - + m_SharedRTManager.GetDepthBufferMipChainInfo().ComputePackedMipChainInfo(new Vector2Int(hdCamera.actualWidth, hdCamera.actualHeight)); int mipCount = m_SharedRTManager.GetDepthBufferMipChainInfo().mipLevelCount; using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.DepthPyramid))) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/HDUtils.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/HDUtils.cs index 69e5fee1443..54c5134ecab 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/HDUtils.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/HDUtils.cs @@ -505,6 +505,10 @@ public void Allocate() // This function is NOT fast, but it is illustrative, and can be optimized later. public void ComputePackedMipChainInfo(Vector2Int viewportSize) { + // No work needed. + if (viewportSize == mipLevelSizes[0]) + return; + textureSize = viewportSize; mipLevelSizes[0] = viewportSize; mipLevelOffsets[0] = Vector2Int.zero;