Skip to content

Commit 494beeb

Browse files
Chris Tchousebastienlagarde
authored andcommitted
[11.x] [HDRP] [bugfix 1292501] - Ensure all passes request the DiffusionProfile for SRP batcher compatibility #2790
1 parent 2468377 commit 494beeb

File tree

2 files changed

+20
-19
lines changed

2 files changed

+20
-19
lines changed

com.unity.render-pipelines.high-definition/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
1414
- Fixed computation of geometric normal in path tracing (case 1293029).
1515
- Fixed issues with path-traced volumetric scattering (cases 1295222, 1295234).
1616
- Fixed issue with faulty shadow transition when view is close to an object under some aspect ratio conditions
17+
- Fixed issue where some ShaderGraph generated shaders were not SRP compatible because of UnityPerMaterial cbuffer layout mismatches [1292501] (https://issuetracker.unity3d.com/issues/a2-some-translucent-plus-alphaclipping-shadergraphs-are-not-srp-batcher-compatible)
1718

1819
### Changed
1920
- Now reflection probes cannot have SSAO, SSGI, SSR, ray tracing effects or volumetric reprojection.

com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -539,25 +539,25 @@ public static PassDescriptor GenerateTransparentDepthPrepass(bool supportLightin
539539

540540
validPixelBlocks = supportLighting ?
541541
new BlockFieldDescriptor[]
542-
{
543-
BlockFields.SurfaceDescription.Alpha,
544-
HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPrepass,
545-
BlockFields.SurfaceDescription.AlphaClipThreshold,
546-
HDBlockFields.SurfaceDescription.DepthOffset,
547-
BlockFields.SurfaceDescription.NormalTS,
548-
BlockFields.SurfaceDescription.NormalWS,
549-
BlockFields.SurfaceDescription.NormalOS,
550-
BlockFields.SurfaceDescription.Smoothness,
551-
HDBlockFields.SurfaceDescription.DiffusionProfileHash // not used, but keeps the UnityPerMaterial cbuffer identical
552-
} :
553-
new BlockFieldDescriptor[]
554-
{
555-
BlockFields.SurfaceDescription.Alpha,
556-
HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPrepass,
557-
BlockFields.SurfaceDescription.AlphaClipThreshold,
558-
HDBlockFields.SurfaceDescription.DepthOffset,
559-
HDBlockFields.SurfaceDescription.DiffusionProfileHash // not used, but keeps the UnityPerMaterial cbuffer identical
560-
},
542+
{
543+
BlockFields.SurfaceDescription.Alpha,
544+
HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPrepass,
545+
BlockFields.SurfaceDescription.AlphaClipThreshold,
546+
HDBlockFields.SurfaceDescription.DepthOffset,
547+
BlockFields.SurfaceDescription.NormalTS,
548+
BlockFields.SurfaceDescription.NormalWS,
549+
BlockFields.SurfaceDescription.NormalOS,
550+
BlockFields.SurfaceDescription.Smoothness,
551+
HDBlockFields.SurfaceDescription.DiffusionProfileHash // not used, but keeps the UnityPerMaterial cbuffer identical
552+
} :
553+
new BlockFieldDescriptor[]
554+
{
555+
BlockFields.SurfaceDescription.Alpha,
556+
HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPrepass,
557+
BlockFields.SurfaceDescription.AlphaClipThreshold,
558+
HDBlockFields.SurfaceDescription.DepthOffset,
559+
HDBlockFields.SurfaceDescription.DiffusionProfileHash // not used, but keeps the UnityPerMaterial cbuffer identical
560+
},
561561

562562
// Collections
563563
requiredFields = TransparentDepthPrepassFields,

0 commit comments

Comments
 (0)