From 492017d7f9b1ff0f1820bdf451ac7fb6abfb3bc2 Mon Sep 17 00:00:00 2001 From: Mike Chow Date: Tue, 11 May 2021 15:00:32 -0700 Subject: [PATCH 1/7] Added URP late latching support in camera and per render pass. Use new late latching command buffer commands to mark/unmark URP stereo matrices such as stereo view and projection matrices for use in late latching. --- .../Runtime/ScriptableRenderer.cs | 16 +++++++++++++++ .../Runtime/UniversalRenderPipeline.cs | 6 ++++++ .../Runtime/XR/XRPass.cs | 20 +++++++++++++++++++ .../Runtime/XR/XRSystem.cs | 17 ++++++++++++++++ 4 files changed, 59 insertions(+) diff --git a/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs b/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs index 6eeed14666e..728d973d083 100644 --- a/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs +++ b/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs @@ -679,6 +679,8 @@ public void Execute(ScriptableRenderContext context, ref RenderingData rendering context.ExecuteCommandBuffer(cmd); cmd.Clear(); + if (cameraData.xr.enabled) + cameraData.xr.canMarkLateLatch = true; BeginXRRendering(cmd, context, ref renderingData.cameraData); // In the opaque and transparent blocks the main rendering executes. @@ -699,6 +701,8 @@ public void Execute(ScriptableRenderContext context, ref RenderingData rendering using var profScope = new ProfilingScope(null, Profiling.RenderBlock.mainRenderingTransparent); ExecuteBlock(RenderPassBlock.MainRenderingTransparent, in renderBlocks, context, ref renderingData); } + if (cameraData.xr.enabled) + cameraData.xr.canMarkLateLatch = false; // Draw Gizmos... DrawGizmos(context, camera, GizmoSubset.PreImageEffects); @@ -927,6 +931,18 @@ void ExecuteRenderPass(ScriptableRenderContext context, ScriptableRenderPass ren } else renderPass.Execute(context, ref renderingData); + + +#if ENABLE_VR && ENABLE_XR_MODULE + if (cameraData.xr.canMarkLateLatch && cameraData.xr.hasMarkedLateLatch) + { + cmd.UnmarkLateLatchMatrix(CameraLateLatchMatrixType.View); + cmd.UnmarkLateLatchMatrix(CameraLateLatchMatrixType.InverseView); + cmd.UnmarkLateLatchMatrix(CameraLateLatchMatrixType.ViewProjection); + cmd.UnmarkLateLatchMatrix(CameraLateLatchMatrixType.InverseViewProjection); + cameraData.xr.hasMarkedLateLatch = false; + } +#endif } void SetRenderPassAttachments(CommandBuffer cmd, ScriptableRenderPass renderPass, ref CameraData cameraData) diff --git a/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs b/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs index 9b139535953..723b393b975 100644 --- a/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs +++ b/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs @@ -503,6 +503,9 @@ static void RenderCameraStack(ScriptableRenderContext context, Camera baseCamera // Helper function for updating cameraData with xrPass Data m_XRSystem.UpdateCameraData(ref baseCameraData, baseCameraData.xr); } +#endif +#if ENABLE_VR && ENABLE_XR_MODULE + m_XRSystem.BeginXRCamera(baseCamera, xrPass); #endif using (new ProfilingScope(null, Profiling.Pipeline.beginCameraRendering)) { @@ -521,6 +524,9 @@ static void RenderCameraStack(ScriptableRenderContext context, Camera baseCamera { EndCameraRendering(context, baseCamera); } +#if ENABLE_VR && ENABLE_XR_MODULE + m_XRSystem.EndXRCamera(baseCamera); +#endif if (isStackedRendering) { diff --git a/com.unity.render-pipelines.universal/Runtime/XR/XRPass.cs b/com.unity.render-pipelines.universal/Runtime/XR/XRPass.cs index 6636ead9367..0e5a8bf01fa 100644 --- a/com.unity.render-pipelines.universal/Runtime/XR/XRPass.cs +++ b/com.unity.render-pipelines.universal/Runtime/XR/XRPass.cs @@ -81,6 +81,8 @@ class XRPass static RenderTargetIdentifier invalidRT = -1; internal bool renderTargetValid { get => renderTarget != invalidRT; } internal bool renderTargetIsRenderTexture { get; private set; } + internal bool canMarkLateLatch { get; set; } + internal bool hasMarkedLateLatch { get; set; } // Access to view information internal Matrix4x4 GetProjMatrix(int viewIndex = 0) { return views[viewIndex].projMatrix; } @@ -433,6 +435,15 @@ internal void RenderOcclusionMesh(CommandBuffer cmd) } } +#if ENABLE_VR && ENABLE_XR_MODULE + internal static readonly int UNITY_STEREO_MATRIX_V = Shader.PropertyToID("unity_StereoMatrixV"); + internal static readonly int UNITY_STEREO_MATRIX_IV = Shader.PropertyToID("unity_StereoMatrixInvV"); + internal static readonly int UNITY_STEREO_MATRIX_P = Shader.PropertyToID("unity_StereoMatrixP"); + internal static readonly int UNITY_STEREO_MATRIX_IP = Shader.PropertyToID("unity_StereoMatrixIP"); + internal static readonly int UNITY_STEREO_MATRIX_VP = Shader.PropertyToID("unity_StereoMatrixVP"); + internal static readonly int UNITY_STEREO_MATRIX_IVP = Shader.PropertyToID("unity_StereoMatrixIVP"); +#endif + // Store array to avoid allocating every frame private Matrix4x4[] stereoProjectionMatrix = new Matrix4x4[2]; private Matrix4x4[] stereoViewMatrix = new Matrix4x4[2]; @@ -452,6 +463,15 @@ internal void UpdateGPUViewAndProjectionMatrices(CommandBuffer cmd, ref CameraDa stereoProjectionMatrix[i] = GL.GetGPUProjectionMatrix(stereoCameraProjectionMatrix[i], isRenderToTexture); } RenderingUtils.SetStereoViewAndProjectionMatrices(cmd, stereoViewMatrix, stereoProjectionMatrix, stereoCameraProjectionMatrix, true); + if (cameraData.xr.canMarkLateLatch) + { + cmd.MarkLateLatchMatrixShaderPropertyID(CameraLateLatchMatrixType.View, UNITY_STEREO_MATRIX_V); + cmd.MarkLateLatchMatrixShaderPropertyID(CameraLateLatchMatrixType.InverseView, UNITY_STEREO_MATRIX_IV); + cmd.MarkLateLatchMatrixShaderPropertyID(CameraLateLatchMatrixType.ViewProjection, UNITY_STEREO_MATRIX_VP); + cmd.MarkLateLatchMatrixShaderPropertyID(CameraLateLatchMatrixType.InverseViewProjection, UNITY_STEREO_MATRIX_IVP); + cmd.SetLateLatchProjectionMatrices(stereoProjectionMatrix); + cameraData.xr.hasMarkedLateLatch = true; + } } } } diff --git a/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs b/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs index f9f54d8f0af..cdd176ab9e2 100644 --- a/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs +++ b/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs @@ -134,6 +134,23 @@ internal int GetMaxViews() return maxViews; } + internal void BeginXRCamera(Camera camera, XRPass xrPass) + { + //Only support late latching for multiview use case + if (display != null && xrPass.singlePassEnabled && xrPass.viewCount == 2) + { + display.BeginRecordingIfLateLatched(camera); + } + } + + internal void EndXRCamera(Camera camera) + { + if (display != null) + { + display.EndRecordingIfLateLatched(camera); + } + } + internal List SetupFrame(CameraData cameraData) { Camera camera = cameraData.camera; From 5b36e80270a54e4e3a19603bf578a116a4500ff6 Mon Sep 17 00:00:00 2001 From: Mike Chow Date: Wed, 2 Jun 2021 17:59:13 -0700 Subject: [PATCH 2/7] Refactored XRSystem Begin/EndXRCamera to more late latching specific Begin/End LateLatching. --- .../Runtime/UniversalRenderPipeline.cs | 7 +++---- .../Runtime/XR/XRSystem.cs | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs b/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs index f0588e2c48f..8d5c71808c6 100644 --- a/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs +++ b/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs @@ -534,11 +534,9 @@ static void RenderCameraStack(ScriptableRenderContext context, Camera baseCamera UpdateVolumeFramework(baseCamera, baseCameraAdditionalData); } } + m_XRSystem.BeginLateLatching(baseCamera, xrPass); #endif -#if ENABLE_VR && ENABLE_XR_MODULE - m_XRSystem.BeginXRCamera(baseCamera, xrPass); -#endif using (new ProfilingScope(null, Profiling.Pipeline.beginCameraRendering)) { BeginCameraRendering(context, baseCamera); @@ -557,8 +555,9 @@ static void RenderCameraStack(ScriptableRenderContext context, Camera baseCamera { EndCameraRendering(context, baseCamera); } + #if ENABLE_VR && ENABLE_XR_MODULE - m_XRSystem.EndXRCamera(baseCamera); + m_XRSystem.EndLateLatching(baseCamera); #endif if (isStackedRendering) diff --git a/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs b/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs index cdd176ab9e2..99951379946 100644 --- a/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs +++ b/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs @@ -134,7 +134,7 @@ internal int GetMaxViews() return maxViews; } - internal void BeginXRCamera(Camera camera, XRPass xrPass) + internal void BeginLateLatching(Camera camera, XRPass xrPass) { //Only support late latching for multiview use case if (display != null && xrPass.singlePassEnabled && xrPass.viewCount == 2) @@ -143,7 +143,7 @@ internal void BeginXRCamera(Camera camera, XRPass xrPass) } } - internal void EndXRCamera(Camera camera) + internal void EndLateLatching(Camera camera) { if (display != null) { From 7c4bbe762ecdce34c58409859be65c457b6a1dde Mon Sep 17 00:00:00 2001 From: Mike Chow Date: Thu, 3 Jun 2021 17:49:53 -0700 Subject: [PATCH 3/7] Added IsLateLatchEnabled to gate marking of stereo matrix shader properties. Refactored mark/unmark late latching into separate functions: Mark/UnmarkLateLatchShaderProperties. --- .../Runtime/ScriptableRenderer.cs | 16 +++---- .../Runtime/UniversalRenderPipeline.cs | 2 +- .../Runtime/XR/XRPass.cs | 43 +++++++++++-------- .../Runtime/XR/XRSystem.cs | 4 +- 4 files changed, 35 insertions(+), 30 deletions(-) diff --git a/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs b/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs index d8ee480d312..0e67b1b1614 100644 --- a/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs +++ b/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs @@ -703,8 +703,6 @@ public void Execute(ScriptableRenderContext context, ref RenderingData rendering context.ExecuteCommandBuffer(cmd); cmd.Clear(); - if (cameraData.xr.enabled) - cameraData.xr.canMarkLateLatch = true; BeginXRRendering(cmd, context, ref renderingData.cameraData); // In the opaque and transparent blocks the main rendering executes. @@ -725,6 +723,7 @@ public void Execute(ScriptableRenderContext context, ref RenderingData rendering using var profScope = new ProfilingScope(null, Profiling.RenderBlock.mainRenderingTransparent); ExecuteBlock(RenderPassBlock.MainRenderingTransparent, in renderBlocks, context, ref renderingData); } + if (cameraData.xr.enabled) cameraData.xr.canMarkLateLatch = false; @@ -968,16 +967,9 @@ void ExecuteRenderPass(ScriptableRenderContext context, ScriptableRenderPass ren else renderPass.Execute(context, ref renderingData); - #if ENABLE_VR && ENABLE_XR_MODULE - if (cameraData.xr.canMarkLateLatch && cameraData.xr.hasMarkedLateLatch) - { - cmd.UnmarkLateLatchMatrix(CameraLateLatchMatrixType.View); - cmd.UnmarkLateLatchMatrix(CameraLateLatchMatrixType.InverseView); - cmd.UnmarkLateLatchMatrix(CameraLateLatchMatrixType.ViewProjection); - cmd.UnmarkLateLatchMatrix(CameraLateLatchMatrixType.InverseViewProjection); - cameraData.xr.hasMarkedLateLatch = false; - } + if (cameraData.xr.enabled && cameraData.xr.hasMarkedLateLatch) + cameraData.xr.UnmarkLateLatchShaderProperties(cmd, ref cameraData); #endif } @@ -1215,6 +1207,8 @@ void BeginXRRendering(CommandBuffer cmd, ScriptableRenderContext context, ref Ca #if ENABLE_VR && ENABLE_XR_MODULE if (cameraData.xr.enabled) { + if (cameraData.xr.isLateLatchEnabled) + cameraData.xr.canMarkLateLatch = true; cameraData.xr.StartSinglePass(cmd); cmd.EnableShaderKeyword(ShaderKeywordStrings.UseDrawProcedural); context.ExecuteCommandBuffer(cmd); diff --git a/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs b/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs index 7b42f4fa56f..ea4a63e6fd7 100644 --- a/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs +++ b/com.unity.render-pipelines.universal/Runtime/UniversalRenderPipeline.cs @@ -564,7 +564,7 @@ static void RenderCameraStack(ScriptableRenderContext context, Camera baseCamera } #if ENABLE_VR && ENABLE_XR_MODULE - m_XRSystem.EndLateLatching(baseCamera); + m_XRSystem.EndLateLatching(baseCamera, xrPass); #endif if (isStackedRendering) diff --git a/com.unity.render-pipelines.universal/Runtime/XR/XRPass.cs b/com.unity.render-pipelines.universal/Runtime/XR/XRPass.cs index 0e5a8bf01fa..1b451e894b4 100644 --- a/com.unity.render-pipelines.universal/Runtime/XR/XRPass.cs +++ b/com.unity.render-pipelines.universal/Runtime/XR/XRPass.cs @@ -81,6 +81,7 @@ class XRPass static RenderTargetIdentifier invalidRT = -1; internal bool renderTargetValid { get => renderTarget != invalidRT; } internal bool renderTargetIsRenderTexture { get; private set; } + internal bool isLateLatchEnabled { get; set; } internal bool canMarkLateLatch { get; set; } internal bool hasMarkedLateLatch { get; set; } @@ -435,15 +436,6 @@ internal void RenderOcclusionMesh(CommandBuffer cmd) } } -#if ENABLE_VR && ENABLE_XR_MODULE - internal static readonly int UNITY_STEREO_MATRIX_V = Shader.PropertyToID("unity_StereoMatrixV"); - internal static readonly int UNITY_STEREO_MATRIX_IV = Shader.PropertyToID("unity_StereoMatrixInvV"); - internal static readonly int UNITY_STEREO_MATRIX_P = Shader.PropertyToID("unity_StereoMatrixP"); - internal static readonly int UNITY_STEREO_MATRIX_IP = Shader.PropertyToID("unity_StereoMatrixIP"); - internal static readonly int UNITY_STEREO_MATRIX_VP = Shader.PropertyToID("unity_StereoMatrixVP"); - internal static readonly int UNITY_STEREO_MATRIX_IVP = Shader.PropertyToID("unity_StereoMatrixIVP"); -#endif - // Store array to avoid allocating every frame private Matrix4x4[] stereoProjectionMatrix = new Matrix4x4[2]; private Matrix4x4[] stereoViewMatrix = new Matrix4x4[2]; @@ -464,16 +456,33 @@ internal void UpdateGPUViewAndProjectionMatrices(CommandBuffer cmd, ref CameraDa } RenderingUtils.SetStereoViewAndProjectionMatrices(cmd, stereoViewMatrix, stereoProjectionMatrix, stereoCameraProjectionMatrix, true); if (cameraData.xr.canMarkLateLatch) - { - cmd.MarkLateLatchMatrixShaderPropertyID(CameraLateLatchMatrixType.View, UNITY_STEREO_MATRIX_V); - cmd.MarkLateLatchMatrixShaderPropertyID(CameraLateLatchMatrixType.InverseView, UNITY_STEREO_MATRIX_IV); - cmd.MarkLateLatchMatrixShaderPropertyID(CameraLateLatchMatrixType.ViewProjection, UNITY_STEREO_MATRIX_VP); - cmd.MarkLateLatchMatrixShaderPropertyID(CameraLateLatchMatrixType.InverseViewProjection, UNITY_STEREO_MATRIX_IVP); - cmd.SetLateLatchProjectionMatrices(stereoProjectionMatrix); - cameraData.xr.hasMarkedLateLatch = true; - } + MarkLateLatchShaderProperties(cmd, ref cameraData); } } + + internal static readonly int UNITY_STEREO_MATRIX_V = Shader.PropertyToID("unity_StereoMatrixV"); + internal static readonly int UNITY_STEREO_MATRIX_IV = Shader.PropertyToID("unity_StereoMatrixInvV"); + internal static readonly int UNITY_STEREO_MATRIX_VP = Shader.PropertyToID("unity_StereoMatrixVP"); + internal static readonly int UNITY_STEREO_MATRIX_IVP = Shader.PropertyToID("unity_StereoMatrixIVP"); + + internal void MarkLateLatchShaderProperties(CommandBuffer cmd, ref CameraData cameraData) + { + cmd.MarkLateLatchMatrixShaderPropertyID(CameraLateLatchMatrixType.View, UNITY_STEREO_MATRIX_V); + cmd.MarkLateLatchMatrixShaderPropertyID(CameraLateLatchMatrixType.InverseView, UNITY_STEREO_MATRIX_IV); + cmd.MarkLateLatchMatrixShaderPropertyID(CameraLateLatchMatrixType.ViewProjection, UNITY_STEREO_MATRIX_VP); + cmd.MarkLateLatchMatrixShaderPropertyID(CameraLateLatchMatrixType.InverseViewProjection, UNITY_STEREO_MATRIX_IVP); + cmd.SetLateLatchProjectionMatrices(stereoProjectionMatrix); + cameraData.xr.hasMarkedLateLatch = true; + } + + internal void UnmarkLateLatchShaderProperties(CommandBuffer cmd, ref CameraData cameraData) + { + cmd.UnmarkLateLatchMatrix(CameraLateLatchMatrixType.View); + cmd.UnmarkLateLatchMatrix(CameraLateLatchMatrixType.InverseView); + cmd.UnmarkLateLatchMatrix(CameraLateLatchMatrixType.ViewProjection); + cmd.UnmarkLateLatchMatrix(CameraLateLatchMatrixType.InverseViewProjection); + cameraData.xr.hasMarkedLateLatch = false; + } } } diff --git a/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs b/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs index 99951379946..b1786d8a249 100644 --- a/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs +++ b/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs @@ -140,14 +140,16 @@ internal void BeginLateLatching(Camera camera, XRPass xrPass) if (display != null && xrPass.singlePassEnabled && xrPass.viewCount == 2) { display.BeginRecordingIfLateLatched(camera); + xrPass.isLateLatchEnabled = true; } } - internal void EndLateLatching(Camera camera) + internal void EndLateLatching(Camera camera, XRPass xrPass) { if (display != null) { display.EndRecordingIfLateLatched(camera); + xrPass.isLateLatchEnabled = false; } } From 808f084b4bc94c8cbdaaa26e8c94a12a2cdba133 Mon Sep 17 00:00:00 2001 From: Mike Chow Date: Fri, 4 Jun 2021 21:58:57 -0700 Subject: [PATCH 4/7] Updated changelog on late latching. --- com.unity.render-pipelines.universal/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/com.unity.render-pipelines.universal/CHANGELOG.md b/com.unity.render-pipelines.universal/CHANGELOG.md index 3b70ed437ae..f3842dd03be 100644 --- a/com.unity.render-pipelines.universal/CHANGELOG.md +++ b/com.unity.render-pipelines.universal/CHANGELOG.md @@ -35,6 +35,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Added Motion Vector render pass for URP. - VFX: Fix light cookies integration. - Added Lights 2D to the Light Explorer window. +- XR: Added Late Latching support to reduce VR latency (Quest). ### Changed - Moved fog evaluation from vertex shader to pixel shader. This improves rendering of fog for big triangles and fog quality. This can change the look of the fog slightly. From 19cfebf7dc2cf898db882c2c522b557f54c7a2cd Mon Sep 17 00:00:00 2001 From: Mike Chow Date: Mon, 7 Jun 2021 15:35:32 -0700 Subject: [PATCH 5/7] add additional isEnabled check to gate EndLateLatching call. --- com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs b/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs index 64aa86b5f54..8b566bc918b 100644 --- a/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs +++ b/com.unity.render-pipelines.universal/Runtime/XR/XRSystem.cs @@ -146,7 +146,7 @@ internal void BeginLateLatching(Camera camera, XRPass xrPass) internal void EndLateLatching(Camera camera, XRPass xrPass) { - if (display != null) + if (display != null && xrPass.isLateLatchEnabled) { display.EndRecordingIfLateLatched(camera); xrPass.isLateLatchEnabled = false; From a281d5b9172886ad6cc5d96eb249ee1f4d356a4f Mon Sep 17 00:00:00 2001 From: Mike Chow Date: Wed, 9 Jun 2021 18:43:40 -0700 Subject: [PATCH 6/7] add #if ENABLE_VR guard around XR late latching --- .../Runtime/ScriptableRenderer.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs b/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs index 0160d9e4286..6775c7c8022 100644 --- a/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs +++ b/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs @@ -725,8 +725,10 @@ public void Execute(ScriptableRenderContext context, ref RenderingData rendering ExecuteBlock(RenderPassBlock.MainRenderingTransparent, in renderBlocks, context, ref renderingData); } +#if ENABLE_VR && ENABLE_XR_MODULE if (cameraData.xr.enabled) cameraData.xr.canMarkLateLatch = false; +#endif // Draw Gizmos... if (drawGizmos) From 3c6e91e8552d140ea38f77af95c657fc89e81a9f Mon Sep 17 00:00:00 2001 From: Mike Chow Date: Thu, 17 Jun 2021 14:58:24 -0700 Subject: [PATCH 7/7] Bump minimum unity version to a21 --- com.unity.render-pipelines.core/package.json | 2 +- com.unity.render-pipelines.high-definition-config/package.json | 2 +- com.unity.render-pipelines.high-definition/package.json | 2 +- com.unity.render-pipelines.universal/package.json | 2 +- com.unity.shadergraph/package.json | 2 +- com.unity.visualeffectgraph/package.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/com.unity.render-pipelines.core/package.json b/com.unity.render-pipelines.core/package.json index f099f977265..5a7c5b719dd 100644 --- a/com.unity.render-pipelines.core/package.json +++ b/com.unity.render-pipelines.core/package.json @@ -3,7 +3,7 @@ "description": "SRP Core makes it easier to create or customize a Scriptable Render Pipeline (SRP). SRP Core contains reusable code, including boilerplate code for working with platform-specific graphics APIs, utility functions for common rendering operations, and shader libraries. The code in SRP Core is use by the High Definition Render Pipeline (HDRP) and Universal Render Pipeline (URP). If you are creating a custom SRP from scratch or customizing a prebuilt SRP, using SRP Core will save you time.", "version": "12.0.0", "unity": "2021.2", - "unityRelease": "0a19", + "unityRelease": "0a21", "displayName": "Core RP Library", "dependencies": { "com.unity.ugui": "1.0.0", diff --git a/com.unity.render-pipelines.high-definition-config/package.json b/com.unity.render-pipelines.high-definition-config/package.json index 6e79848860e..1e6bf6d9555 100644 --- a/com.unity.render-pipelines.high-definition-config/package.json +++ b/com.unity.render-pipelines.high-definition-config/package.json @@ -3,7 +3,7 @@ "description": "Configuration files for the High Definition Render Pipeline.", "version": "12.0.0", "unity": "2021.2", - "unityRelease": "0a19", + "unityRelease": "0a21", "displayName": "High Definition RP Config", "dependencies": { "com.unity.render-pipelines.core": "12.0.0" diff --git a/com.unity.render-pipelines.high-definition/package.json b/com.unity.render-pipelines.high-definition/package.json index a6f763c3f0f..e8e2d4d448a 100644 --- a/com.unity.render-pipelines.high-definition/package.json +++ b/com.unity.render-pipelines.high-definition/package.json @@ -3,7 +3,7 @@ "description": "The High Definition Render Pipeline (HDRP) is a high-fidelity Scriptable Render Pipeline built by Unity to target modern (Compute Shader compatible) platforms. HDRP utilizes Physically-Based Lighting techniques, linear lighting, HDR lighting, and a configurable hybrid Tile/Cluster deferred/Forward lighting architecture and gives you the tools you need to create games, technical demos, animations, and more to a high graphical standard.", "version": "12.0.0", "unity": "2021.2", - "unityRelease": "0a19", + "unityRelease": "0a21", "displayName": "High Definition RP", "dependencies": { "com.unity.modules.video": "1.0.0", diff --git a/com.unity.render-pipelines.universal/package.json b/com.unity.render-pipelines.universal/package.json index c08a7bec62d..29ada9ed20c 100644 --- a/com.unity.render-pipelines.universal/package.json +++ b/com.unity.render-pipelines.universal/package.json @@ -3,7 +3,7 @@ "description": "The Universal Render Pipeline (URP) is a prebuilt Scriptable Render Pipeline, made by Unity. URP provides artist-friendly workflows that let you quickly and easily create optimized graphics across a range of platforms, from mobile to high-end consoles and PCs.", "version": "12.0.0", "unity": "2021.2", - "unityRelease": "0a19", + "unityRelease": "0a21", "displayName": "Universal RP", "dependencies": { "com.unity.mathematics": "1.2.1", diff --git a/com.unity.shadergraph/package.json b/com.unity.shadergraph/package.json index 8b6be429af4..12d1fdc9bae 100644 --- a/com.unity.shadergraph/package.json +++ b/com.unity.shadergraph/package.json @@ -3,7 +3,7 @@ "description": "The Shader Graph package adds a visual Shader editing tool to Unity. You can use this tool to create Shaders in a visual way instead of writing code. Specific render pipelines can implement specific graph features. Currently, both the High Definition Rendering Pipeline and the Universal Rendering Pipeline support Shader Graph.", "version": "12.0.0", "unity": "2021.2", - "unityRelease": "0a19", + "unityRelease": "0a21", "displayName": "Shader Graph", "dependencies": { "com.unity.render-pipelines.core": "12.0.0", diff --git a/com.unity.visualeffectgraph/package.json b/com.unity.visualeffectgraph/package.json index 1981dfc0445..28162876685 100644 --- a/com.unity.visualeffectgraph/package.json +++ b/com.unity.visualeffectgraph/package.json @@ -3,7 +3,7 @@ "displayName": "Visual Effect Graph", "version": "12.0.0", "unity": "2021.2", - "unityRelease": "0a19", + "unityRelease": "0a21", "description": "The Visual Effect Graph is a node based visual effect editor. It allows you to author next generation visual effects that Unity simulates directly on the GPU. The Visual Effect Graph is production-ready for the High Definition Render Pipeline and runs on all platforms supported by it. Full support for the Universal Render Pipeline and compatible mobile devices is still in development.", "keywords": [ "vfx",