Skip to content

Commit 190ca99

Browse files
authored
Merge pull request #8134 from Unity-Technologies/internal/6000.0/staging
Internal/6000.0/staging
2 parents 5d1e456 + 80a03dc commit 190ca99

File tree

668 files changed

+373783
-1762
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

668 files changed

+373783
-1762
lines changed

Packages/com.unity.render-pipelines.core/CHANGELOG.md

+60
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,66 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
1010
Version Updated
1111
The version number for this package has increased due to a version update of a related graphics package.
1212

13+
## [17.0.3] - 2025-02-13
14+
15+
This version is compatible with Unity 6000.0.39f1.
16+
17+
### Added
18+
- helper functions to Render Graph.
19+
20+
### Changed
21+
- Improved the Native Render Pass CPU performance by implementing a Render Pass pooling system (URP RG).
22+
- Reworked the additional properties.
23+
- Improved Render Graph warning message in URP when missing RecordRenderGraph implementation.
24+
- Displayed subpass and attachment index on Render Graph Viewer.
25+
- Added a new icon and tooltip if there are multiple usage details for a resource block on Render Graph Viewer.
26+
- Fixed Render Graph Viewer being called before Render Graph execution and its resource deallocation.
27+
- Added What's New in Unity 6 to SRP Core Package.
28+
29+
### Fixed
30+
- Added messaging to the Rendering Debugger UI to make it clearer that GPU Resident Drawer settings do not work if GPU Resident Drawer is not enabled.
31+
- GPU Resident Drawer: Changed BatchRendererGroup variants was not reinitializing the system.
32+
- Improved the compiler logic that detects if the current render target is being used outside the current native render pass (e.g., when the pass is broken up by an unsafe pass), and determines the store action for this case. The fix now ensures that the `StoreAndResolve` action is used when the resource is read by an Unsafe Pass.
33+
- Rendering Debugger - Keep the correct selected panel when entering and exiting from playmode.
34+
- Removed "depth only surface" warning message appearing when using Game View Gizmos in URP RG.
35+
- Render Graph Viewer: Fixed missing min height when resizing side panel vertical splitter.
36+
- Render Graph Viewer: Fixed possible NullReferenceException when opening the project.
37+
- Render Graph Viewer: Fixed side panel splitter state after returning from empty pass/resource filter.
38+
- Render Graph Viewer: Fixed long resource name clipping issues in side panel.
39+
- Render Graph Viewer: Fixed tooltip size bug and restructure tooltip messages.
40+
- Fixed memory usage regression causing up to 150MB higher memory usage in URP player builds.
41+
- Added missing user-facing text when inspecting volume profile when render pipeline has not been properly initialized yet.
42+
- Game view background turn yellow after enable render graph.
43+
- Fixed light.useViewFrustumForShadowCasterCull previously being ignored for shadow cascades. light.useViewFrustumForShadowCasterCull now works as expected.
44+
- Fixed an exception thrown when Render Graph pass was missing its renderFunc but tried to compute its hash value.
45+
- Fixed Render Graph Compiler logic bug where UnsafePass using MSAA texture could result in missing resolve surface errors.
46+
- Fixed incorrect default source texture name for Render Graph blit util function.
47+
- Fixed NullReferenceException when jumping to pass code from Render Graph Viewer.
48+
- Fixed _FOVEATED_RENDERING_NON_UNIFORM_RASTER shader compilation errors.
49+
- Fixed a null reference exception on the Graphics Settings stripper.
50+
- Avoid that the same volume can be registered more than 1 time in the VolumeManager.
51+
- Fixed crash caused by indirect argument buffer being one item too small.
52+
- [GLES3] Fixed an issue where Blitter.GetBlitMaterial(TextureDimension.Tex2DArray) returns null.
53+
- Fixed alignment of the columns on DebugUI.Foldouts.
54+
- Fixed BlitTexture(RenderTargetIdentifier) to be affected by PostProcessing.
55+
- Fixed errors that could happen when interacting with the Default Volume Profile context menu in Project Settings > Graphics.
56+
- Fixed a numerical error of ComputeEdgeFactor(V1, V2) when two vectors are colinear.
57+
- Fixed potential data corruption due to incorrect native render pass store action in NRP compiler.
58+
- Added stencil flag to read-only depth logic in NRP compiler to avoid unintentional usage of depth read and stencil write states on some APIs.
59+
- Added more error checking to `RenderGraph.ImportTexture` to prevent importing RenderTextures that have both color and depth.
60+
An exception will now be thrown in this case.
61+
- Fixed an issue when using multiple AddBlitPass would binds the _BlitTexture wrongly.
62+
- Modified TextureDesc so it can now use GraphicsFormat to set the depthStencil format (TextureDesc.format). The TextureDesc.depthBufferBits and TextureDesc.colorFormat fields are now properties that call GraphicsFormatUtilities functions for backwards compatibility. The descriptor now unambiguously describes a single resource, either color or depth. Therefore, TextureHandle clearly represents a single resource.
63+
- Modified RTHandle allocators so they can now use GraphicsFormat to set the depthStencil format (TextureDesc.format). The allocators take a single format for either color or depth stencil to avoid incorrectly creating depth instead of color or vice versa.
64+
- Fixed a crash on DX12 due to invalid subpass flags passed by native render pass compiler.
65+
- Fixed an issue where Lens Flare was not rendering properly in OpenGLES3.
66+
- Fixed render graph incorrectly handling rendering to array slices and mipmaps other than 0 in some cases.
67+
- Render Graph Viewer - Improved UI lock when searching on side panels.
68+
- Render Graph Viewer - Padding corrected on burger menu on the side panels.
69+
- Fixed missing STP shaders & visual artifacts when targeting GLCore renderer
70+
- Rendering Debugger - Silent crash when selecting a Volume component with public RTHandles.
71+
- Fixed a crash on leaking streaming scratch buffer differently sized into the current pool.
72+
1373
## [17.0.2] - 2024-04-02
1474

1575
This version is compatible with Unity 6000.0.0b15.

Packages/com.unity.render-pipelines.core/Editor/CoreEditorUtils.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -863,7 +863,7 @@ static bool HandleEvent(bool state, Rect activationRect, Action<Vector2> context
863863
return state;
864864
}
865865

866-
static void ShowHelpButton(Rect contextMenuRect, string documentationURL, GUIContent title)
866+
internal static void ShowHelpButton(Rect contextMenuRect, string documentationURL, GUIContent title)
867867
{
868868
if (string.IsNullOrEmpty(documentationURL))
869869
return;

Packages/com.unity.render-pipelines.core/Editor/Debugging/DebugWindow.cs

+17-35
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
using UnityEngine;
1212
using UnityEngine.Assertions;
1313
using UnityEngine.Rendering;
14-
using PackageInfo = UnityEditor.PackageManager.PackageInfo;
1514

1615
namespace UnityEditor.Rendering
1716
{
@@ -44,7 +43,8 @@ void OnEnable()
4443
hideFlags = HideFlags.HideAndDontSave;
4544
}
4645
}
47-
46+
47+
[CoreRPHelpURL("Rendering-Debugger")]
4848
sealed class DebugWindow : EditorWindowWithHelpButton, IHasCustomMenu
4949
{
5050
static Styles s_Styles;
@@ -76,37 +76,6 @@ public static bool open
7676
private set => DebugManager.instance.displayEditorUI = value;
7777
}
7878

79-
protected override void OnHelpButtonClicked()
80-
{
81-
//Deduce documentation url and open it in browser
82-
var url = GetSpecificURL() ?? GetDefaultURL();
83-
Application.OpenURL(url);
84-
}
85-
86-
string GetDefaultURL()
87-
{
88-
//Find package info of the current CoreRP package
89-
return $"https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@{DocumentationInfo.version}/manual/Rendering-Debugger.html";
90-
}
91-
92-
string GetSpecificURL()
93-
{
94-
//Find package info of the current RenderPipeline
95-
var currentPipeline = GraphicsSettings.currentRenderPipeline;
96-
if (currentPipeline == null)
97-
return null;
98-
99-
if (!DocumentationUtils.TryGetPackageInfoForType(currentPipeline.GetType(), out var packageName, out var version))
100-
return null;
101-
102-
return packageName switch
103-
{
104-
"com.unity.render-pipelines.universal" => $"https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@{version}/manual/features/rendering-debugger.html",
105-
"com.unity.render-pipelines.high-definition" => $"https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@{version}/manual/Render-Pipeline-Debug-Window.html",
106-
_ => null
107-
};
108-
}
109-
11079
[DidReloadScripts]
11180
static void OnEditorReload()
11281
{
@@ -508,10 +477,23 @@ void OnGUI()
508477
{
509478
using (new EditorGUILayout.VerticalScope())
510479
{
511-
const float leftMargin = 4f;
512-
GUILayout.Space(leftMargin);
513480
var selectedPanel = panels[m_Settings.selectedPanel];
481+
482+
using (new EditorGUILayout.HorizontalScope())
483+
{
484+
var style = new GUIStyle(CoreEditorStyles.sectionHeaderStyle) { fontStyle = FontStyle.Bold };
485+
EditorGUILayout.LabelField(new GUIContent(selectedPanel.displayName), style);
486+
487+
// Context menu
488+
var rect = GUILayoutUtility.GetLastRect();
489+
var contextMenuRect = new Rect(rect.xMax, rect.y + 4f, 16f, 16f);
490+
491+
CoreEditorUtils.ShowHelpButton(contextMenuRect, selectedPanel.documentationUrl, new GUIContent($"{selectedPanel.displayName} panel."));
492+
}
514493

494+
const float leftMargin = 4f;
495+
GUILayout.Space(leftMargin);
496+
515497
using (var scrollScope = new EditorGUILayout.ScrollViewScope(m_ContentScroll))
516498
{
517499
TraverseContainerGUI(selectedPanel);

Packages/com.unity.render-pipelines.core/Editor/Lighting/ProbeVolume/ProbeGIBaking.Serialization.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1031,7 +1031,7 @@ unsafe static void WriteBakingCells(BakingCell[] bakingCells)
10311031
AssetDatabase.SaveAssets();
10321032

10331033
// Explicitly make sure the binary output files are writable since we write them using the C# file API (i.e. check out Perforce files if applicable)
1034-
var outputPaths = new List<string>(new[] { cellDataFilename, cellBricksDataFilename, cellSharedDataFilename, cellSupportDataFilename, cellOptionalDataFilename });
1034+
var outputPaths = new List<string>(new[] { cellDataFilename, cellBricksDataFilename, cellSharedDataFilename, cellSupportDataFilename, cellOptionalDataFilename, cellProbeOcclusionDataFilename });
10351035

10361036
if (!AssetDatabase.MakeEditable(outputPaths.ToArray()))
10371037
Debug.LogWarning($"Failed to make one or more probe volume output file(s) writable. This could result in baked data not being properly written to disk. {string.Join(",", outputPaths)}");

Packages/com.unity.render-pipelines.core/Editor/Lighting/ProbeVolume/ProbeVolumeEditor.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ internal static void FrameSettingDisabledHelpBox()
123123
var k_EnsureFrameSetting = Type.GetType("UnityEditor.Rendering.HighDefinition.HDEditorUtils,Unity.RenderPipelines.HighDefinition.Editor")
124124
.GetMethod("EnsureFrameSetting", BindingFlags.Static | BindingFlags.NonPublic);
125125

126-
k_EnsureFrameSetting.Invoke(null, new object[] { k_APVFrameSetting, "Adaptive Probe Volumes" });
126+
k_EnsureFrameSetting.Invoke(null, new object[] { k_APVFrameSetting});
127127
}
128128
}
129129

Packages/com.unity.render-pipelines.core/Editor/LookDev/EnvironmentLibrary.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace UnityEditor.Rendering.LookDev
1212
/// <summary>
1313
/// Class containing a collection of Environment
1414
/// </summary>
15-
[CoreRPHelpURL("Environment-Library")]
15+
[CoreRPHelpURL("Look-Dev-Environment-Library")]
1616
public class EnvironmentLibrary : ScriptableObject
1717
{
1818
[field: SerializeField]

Packages/com.unity.render-pipelines.core/Editor/RenderGraph/RenderGraphViewer.cs

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using UnityEditor.Rendering.Analytics;
44
using UnityEditor.UIElements;
55
using UnityEngine;
6+
using UnityEngine.Rendering;
67
using UnityEngine.Rendering.RenderGraphModule;
78
using UnityEngine.Scripting.APIUpdating;
89
using UnityEngine.UIElements;
@@ -13,7 +14,8 @@ namespace UnityEditor.Rendering
1314
/// Editor window class for the Render Graph Viewer
1415
/// </summary>
1516
[MovedFrom("")]
16-
public partial class RenderGraphViewer : EditorWindow
17+
[CoreRPHelpURL(packageName: "com.unity.render-pipelines.universal", pageName: "render-graph-view")]
18+
public partial class RenderGraphViewer : EditorWindowWithHelpButton
1719
{
1820
static partial class Names
1921
{

Packages/com.unity.render-pipelines.core/Runtime/Debugging/DebugDisplaySettingsUI.cs

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Collections.Generic;
3+
using System.Reflection;
34
using UnityEngine.Rendering.RenderGraphModule;
45

56
namespace UnityEngine.Rendering
@@ -51,6 +52,9 @@ public void RegisterDebug(IDebugDisplaySettings settings)
5152
displayName: disposableSettingsPanel.PanelName,
5253
createIfNull: true,
5354
groupIndex: (disposableSettingsPanel is DebugDisplaySettingsPanel debugDisplaySettingsPanel) ? debugDisplaySettingsPanel.Order : 0);
55+
#if UNITY_EDITOR
56+
panel.documentationUrl = disposableSettingsPanel.GetType().GetCustomAttribute<HelpURLAttribute>()?.URL;
57+
#endif
5458

5559
ObservableList<DebugUI.Widget> panelChildren = panel.children;
5660

Packages/com.unity.render-pipelines.core/Runtime/Debugging/DebugUI.Panel.cs

+4
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ public class Panel : IContainer, IComparable<Panel>
5353
/// Callback used when the panel is set dirty.
5454
/// </summary>
5555
public event Action<Panel> onSetDirty = delegate { };
56+
57+
#if UNITY_EDITOR
58+
public string documentationUrl { get; set; }
59+
#endif
5660

5761
/// <summary>
5862
/// Constructor.

0 commit comments

Comments
 (0)