Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Tools/check-shader-includes-exclusions.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
com.unity.render-pipelines.xboxone/ShaderLibrary/API/XBoxOne.hlsl
com.unity.render-pipelines.ps4/ShaderLibrary/API/PSSL.hlsl
com.unity.render-pipelines.ps5/ShaderLibrary/API/PSSL.hlsl
1 change: 1 addition & 0 deletions com.unity.render-pipelines.core/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

### Added
- New function in GeometryTools.hlsl to calculate triangle edge and full triangle culling.
- Support for the PlayStation 5 platform has been added.

### Fixed
- Fixed a bug in FreeCamera which would only provide a speed boost for the first frame when pressing the Shfit key.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public static bool useTexArray
case GraphicsDeviceType.Direct3D11:
case GraphicsDeviceType.Direct3D12:
case GraphicsDeviceType.PlayStation4:
case GraphicsDeviceType.PlayStation5:
case GraphicsDeviceType.Vulkan:
return true;

Expand Down
4 changes: 3 additions & 1 deletion com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -160,8 +160,10 @@
// Include language header
#if defined(SHADER_API_XBOXONE)
#include "Packages/com.unity.render-pipelines.xboxone/ShaderLibrary/API/XBoxOne.hlsl"
#elif defined(SHADER_API_PSSL)
#elif defined(SHADER_API_PS4)
#include "Packages/com.unity.render-pipelines.ps4/ShaderLibrary/API/PSSL.hlsl"
#elif defined(SHADER_API_PS5)
#include "Packages/com.unity.render-pipelines.ps5/ShaderLibrary/API/PSSL.hlsl"
#elif defined(SHADER_API_D3D11)
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/API/D3D11.hlsl"
#elif defined(SHADER_API_METAL)
Expand Down
2 changes: 1 addition & 1 deletion com.unity.render-pipelines.core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": "10.3.0",
"unity": "2020.2",
"unityRelease": "0b12",
"unityRelease": "3f1",
"displayName": "Core RP Library",
"dependencies": {
"com.unity.ugui": "1.0.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"description": "Configuration files for the High Definition Render Pipeline.",
"version": "10.3.0",
"unity": "2020.2",
"unityRelease": "0b12",
"unityRelease": "3f1",
"displayName": "High Definition RP Config",
"dependencies": {
"com.unity.render-pipelines.core": "10.3.0"
Expand Down
1 change: 1 addition & 0 deletions com.unity.render-pipelines.high-definition/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Added a slider to control the fallback value of the directional shadow when the cascade have no coverage.
- Added light unit slider for automatic and automatic histrogram exposure limits.
- Added View Bias for mesh decals.
- Added support for the PlayStation 5 platform.

### Fixed
- Fixed computation of geometric normal in path tracing (case 1293029).
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Building your Project for consoles

To build a Project for the **PlayStation 4** or **Xbox One**, you need to install an additional package for each platform you want to support. The packages for each platform are:
To build a Project for the **PlayStation 4**, **PlayStation 5** or **Xbox One**, you need to install an additional package for each platform you want to support. The packages for each platform are:

- **PlayStation 4**: com.unity.render-pipelines.ps4
- **PlayStation 5**: com.unity.render-pipelines.ps5
- **Xbox One**: com.unity.render-pipelines.xboxone

## Platform package installation
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ internal DebugDisplaySettings()
s_RenderingFullScreenDebugStrings = s_RenderingFullScreenDebugStrings.Where((val, idx) => (idx + FullScreenDebugMode.MinRenderingFullScreenDebug) != FullScreenDebugMode.VertexDensity).ToArray();
s_RenderingFullScreenDebugValues = s_RenderingFullScreenDebugValues.Where((val, idx) => (idx + FullScreenDebugMode.MinRenderingFullScreenDebug) != FullScreenDebugMode.VertexDensity).ToArray();
}
if (device == GraphicsDeviceType.Metal || device == GraphicsDeviceType.PlayStation4)
if (device == GraphicsDeviceType.Metal || device == GraphicsDeviceType.PlayStation4 || device == GraphicsDeviceType.PlayStation5)
{
s_RenderingFullScreenDebugStrings = s_RenderingFullScreenDebugStrings.Where((val, idx) => (idx + FullScreenDebugMode.MinRenderingFullScreenDebug) != FullScreenDebugMode.QuadOverdraw).ToArray();
s_RenderingFullScreenDebugValues = s_RenderingFullScreenDebugValues.Where((val, idx) => (idx + FullScreenDebugMode.MinRenderingFullScreenDebug) != FullScreenDebugMode.QuadOverdraw).ToArray();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,6 @@
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/TextureXR.hlsl"

#ifdef SHADER_API_PSSL
#ifndef Texture2DMS
#define Texture2DMS MS_Texture2D
#endif

#ifndef SampleCmpLevelZero
#define SampleCmpLevelZero SampleCmpLOD0
#endif

#ifndef firstbithigh
#define firstbithigh FirstSetBit_Hi
#endif
#endif

#ifdef MSAA_ENABLED
TEXTURE2D_X_MSAA(float, g_depth_tex) : register( t0 );

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@ static bool NeedTemporarySubsurfaceBuffer()
// Most modern GPUs support it. We can avoid performing a costly copy in this case.
// TODO: test/implement for other platforms.
return (SystemInfo.graphicsDeviceType != GraphicsDeviceType.PlayStation4 &&
SystemInfo.graphicsDeviceType != GraphicsDeviceType.PlayStation5 &&
SystemInfo.graphicsDeviceType != GraphicsDeviceType.XboxOne &&
SystemInfo.graphicsDeviceType != GraphicsDeviceType.XboxOneD3D12);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -259,8 +259,9 @@ PrepassOutput RenderPrepass(RenderGraph renderGraph,

// Only on consoles is safe to read and write from/to the depth atlas
bool mip1FromDownsampleForLowResTrans = SystemInfo.graphicsDeviceType == GraphicsDeviceType.PlayStation4 ||
SystemInfo.graphicsDeviceType == GraphicsDeviceType.XboxOne ||
SystemInfo.graphicsDeviceType == GraphicsDeviceType.XboxOneD3D12;
SystemInfo.graphicsDeviceType == GraphicsDeviceType.PlayStation5 ||
SystemInfo.graphicsDeviceType == GraphicsDeviceType.XboxOne ||
SystemInfo.graphicsDeviceType == GraphicsDeviceType.XboxOneD3D12;
mip1FromDownsampleForLowResTrans = mip1FromDownsampleForLowResTrans && hdCamera.frameSettings.IsEnabled(FrameSettingsField.LowResTransparent);

DownsampleDepthForLowResTransparency(renderGraph, hdCamera, mip1FromDownsampleForLowResTrans, ref result);
Expand Down Expand Up @@ -812,8 +813,9 @@ void RenderDBuffer(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle dec
}

bool canReadBoundDepthBuffer = SystemInfo.graphicsDeviceType == GraphicsDeviceType.PlayStation4 ||
SystemInfo.graphicsDeviceType == GraphicsDeviceType.XboxOne ||
SystemInfo.graphicsDeviceType == GraphicsDeviceType.XboxOneD3D12;
SystemInfo.graphicsDeviceType == GraphicsDeviceType.PlayStation5 ||
SystemInfo.graphicsDeviceType == GraphicsDeviceType.XboxOne ||
SystemInfo.graphicsDeviceType == GraphicsDeviceType.XboxOneD3D12;

if (!canReadBoundDepthBuffer)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -717,31 +717,33 @@ internal static Vector4 ComputeViewportScaleAndLimit(Vector2Int viewportSize, Ve
internal static bool IsSupportedGraphicDevice(GraphicsDeviceType graphicDevice)
{
return (graphicDevice == GraphicsDeviceType.Direct3D11 ||
graphicDevice == GraphicsDeviceType.Direct3D12 ||
graphicDevice == GraphicsDeviceType.PlayStation4 ||
graphicDevice == GraphicsDeviceType.XboxOne ||
graphicDevice == GraphicsDeviceType.XboxOneD3D12 ||
graphicDevice == GraphicsDeviceType.Metal ||
graphicDevice == GraphicsDeviceType.Vulkan
// Switch isn't supported currently (19.3)
/* || graphicDevice == GraphicsDeviceType.Switch */);
graphicDevice == GraphicsDeviceType.Direct3D12 ||
graphicDevice == GraphicsDeviceType.PlayStation4 ||
graphicDevice == GraphicsDeviceType.PlayStation5 ||
graphicDevice == GraphicsDeviceType.XboxOne ||
graphicDevice == GraphicsDeviceType.XboxOneD3D12 ||
graphicDevice == GraphicsDeviceType.Metal ||
graphicDevice == GraphicsDeviceType.Vulkan
// Switch isn't supported currently (19.3)
/* || graphicDevice == GraphicsDeviceType.Switch */);
}

#if UNITY_EDITOR
// This function can't be in HDEditorUtils because we need it in HDRenderPipeline.cs (and HDEditorUtils is in an editor asmdef)
internal static bool IsSupportedBuildTarget(UnityEditor.BuildTarget buildTarget)
{
return (buildTarget == UnityEditor.BuildTarget.StandaloneWindows ||
buildTarget == UnityEditor.BuildTarget.StandaloneWindows64 ||
buildTarget == UnityEditor.BuildTarget.StandaloneLinux64 ||
buildTarget == UnityEditor.BuildTarget.Stadia ||
buildTarget == UnityEditor.BuildTarget.StandaloneOSX ||
buildTarget == UnityEditor.BuildTarget.WSAPlayer ||
buildTarget == UnityEditor.BuildTarget.XboxOne ||
buildTarget == UnityEditor.BuildTarget.PS4 ||
// buildTarget == UnityEditor.BuildTarget.iOS || // IOS isn't supported
// buildTarget == UnityEditor.BuildTarget.Switch || // Switch isn't supported
buildTarget == UnityEditor.BuildTarget.CloudRendering);
buildTarget == UnityEditor.BuildTarget.StandaloneWindows64 ||
buildTarget == UnityEditor.BuildTarget.StandaloneLinux64 ||
buildTarget == UnityEditor.BuildTarget.Stadia ||
buildTarget == UnityEditor.BuildTarget.StandaloneOSX ||
buildTarget == UnityEditor.BuildTarget.WSAPlayer ||
buildTarget == UnityEditor.BuildTarget.XboxOne ||
buildTarget == UnityEditor.BuildTarget.PS4 ||
buildTarget == UnityEditor.BuildTarget.PS5 ||
// buildTarget == UnityEditor.BuildTarget.iOS || // IOS isn't supported
// buildTarget == UnityEditor.BuildTarget.Switch || // Switch isn't supported
buildTarget == UnityEditor.BuildTarget.CloudRendering);
}

internal static bool AreGraphicsAPIsSupported(UnityEditor.BuildTarget target, ref GraphicsDeviceType unsupportedGraphicDevice)
Expand Down
2 changes: 1 addition & 1 deletion com.unity.render-pipelines.high-definition/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": "10.3.0",
"unity": "2020.2",
"unityRelease": "0b12",
"unityRelease": "3f1",
"displayName": "High Definition RP",
"dependencies": {
"com.unity.render-pipelines.core": "10.3.0",
Expand Down
2 changes: 1 addition & 1 deletion com.unity.render-pipelines.lightweight/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"description": "The Lightweight Render Pipeline (LWRP) is a prebuilt Scriptable Render Pipeline, made by Unity. The technology offers graphics that are scalable to mobile platforms, and you can also use it for higher-end consoles and PCs. You’re able to achieve quick rendering at a high quality without needing compute shader technology. LWRP uses simplified, physically based Lighting and Materials. The LWRP uses single-pass forward rendering. Use this pipeline to get optimized real-time performance on several platforms.",
"version": "10.3.0",
"unity": "2020.2",
"unityRelease": "0b12",
"unityRelease": "3f1",
"displayName": "Lightweight RP",
"dependencies": {
"com.unity.render-pipelines.universal": "10.3.0",
Expand Down
3 changes: 3 additions & 0 deletions com.unity.render-pipelines.universal/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## [10.3.0] - 2020-11-16

### Added
- Added support for the PlayStation 5 platform.

### Fixed
- Transparent Lit ShaderGraph using Additive blending will now properly fade with alpha [1270344]
- Fixed useless mip maps on temporary RTs/PostProcessing inherited from Main RT descriptor.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Building your Project for consoles

To build a Project for the **PlayStation 4** or **Xbox One**, you need to install an additional package for each platform you want to support. The packages for each platform are:
To build a Project for the **PlayStation 4**, **PlayStation 5** or **Xbox One**, you need to install an additional package for each platform you want to support. The packages for each platform are:

- **PlayStation 4**: com.unity.render-pipelines.ps4
- **PlayStation 5**: com.unity.render-pipelines.ps5
- **Xbox One**: com.unity.render-pipelines.xboxone

## Platform package installation
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ internal static bool useStructuredBuffer
//GraphicsDeviceType deviceType = SystemInfo.graphicsDeviceType;
//return !Application.isMobilePlatform &&
// (deviceType == GraphicsDeviceType.Metal || deviceType == GraphicsDeviceType.Vulkan ||
// deviceType == GraphicsDeviceType.PlayStation4 || deviceType == GraphicsDeviceType.XboxOne);
// deviceType == GraphicsDeviceType.PlayStation4 || deviceType == GraphicsDeviceType.PlayStation5 || deviceType == GraphicsDeviceType.XboxOne);
}
}

Expand Down
2 changes: 1 addition & 1 deletion com.unity.render-pipelines.universal/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": "10.3.0",
"unity": "2020.2",
"unityRelease": "0b12",
"unityRelease": "3f1",
"displayName": "Universal RP",
"dependencies": {
"com.unity.mathematics": "1.1.0",
Expand Down
2 changes: 1 addition & 1 deletion com.unity.shadergraph/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": "10.3.0",
"unity": "2020.2",
"unityRelease": "0b12",
"unityRelease": "3f1",
"displayName": "Shader Graph",
"dependencies": {
"com.unity.render-pipelines.core": "10.3.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This Project Template uses the following features:

This Template utilizes the High Definition Render Pipeline.

The High-Definition Render Pipeline prioritizes stunning, high-fidelity visuals and is intended for high-end hardware: GPU-compute-capable consoles, and PC hardware (DX11 and above, Xbox One, PS4, Metal (macOS),
The High-Definition Render Pipeline prioritizes stunning, high-fidelity visuals and is intended for high-end hardware: GPU-compute-capable consoles, and PC hardware (DX11 and above, Xbox One, PS4, PS5, Metal (macOS),
and Vulkan (PC)).

Because this Template was created to deliver great visuals the render pipeline asset, project, lighting, and post-processing settings have been tuned with a high-end experience in mind. This makes it a great starting point
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ static IEnumerable GraphicsJobsValidBuildTargets
yield return new TestCaseData(BuildTarget.iOS);
yield return new TestCaseData(BuildTarget.Lumin);
yield return new TestCaseData(BuildTarget.PS4);
yield return new TestCaseData(BuildTarget.PS5);
yield return new TestCaseData(BuildTarget.Stadia);
yield return new TestCaseData(BuildTarget.StandaloneLinux64);
yield return new TestCaseData(BuildTarget.StandaloneOSX);
Expand All @@ -43,6 +44,7 @@ private static bool GraphicsJobsEnabledByDefault(BuildTarget buildTarget)
case BuildTarget.WebGL:
return false;
case BuildTarget.PS4:
case BuildTarget.PS5:
case BuildTarget.Stadia:
case BuildTarget.StandaloneLinux64:
case BuildTarget.StandaloneWindows:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ static IEnumerable GraphicsJobsValidBuildTargets
yield return new TestCaseData(BuildTarget.iOS);
yield return new TestCaseData(BuildTarget.Lumin);
yield return new TestCaseData(BuildTarget.PS4);
yield return new TestCaseData(BuildTarget.PS5);
yield return new TestCaseData(BuildTarget.Stadia);
yield return new TestCaseData(BuildTarget.StandaloneLinux64);
yield return new TestCaseData(BuildTarget.StandaloneOSX);
Expand All @@ -43,6 +44,7 @@ private static bool GraphicsJobsEnabledByDefault(BuildTarget buildTarget)
case BuildTarget.WebGL:
return false;
case BuildTarget.PS4:
case BuildTarget.PS5:
case BuildTarget.Stadia:
case BuildTarget.StandaloneLinux64:
case BuildTarget.StandaloneWindows:
Expand Down
2 changes: 1 addition & 1 deletion com.unity.testing.visualeffectgraph/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"displayName": "Visual Effect Graphic Tests",
"version": "10.2.0",
"unity": "2020.2",
"unityRelease": "0b8",
"unityRelease": "3f1",
"description": "This package contains common graphics tests from several scriptable renderpipeline",
"dependencies": {
"com.unity.visualeffectgraph": "10.2.0",
Expand Down
2 changes: 1 addition & 1 deletion com.unity.visualeffectgraph/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"displayName": "Visual Effect Graph",
"version": "10.3.0",
"unity": "2020.2",
"unityRelease": "0b12",
"unityRelease": "3f1",
"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",
Expand Down