@@ -116,6 +116,7 @@ public bool PassHasKeyword(LocalKeyword keyword)
116116 Shader m_StencilDeferred = Shader . Find ( "Hidden/Universal Render Pipeline/StencilDeferred" ) ;
117117 Shader m_ClusterDeferred = Shader . Find ( "Hidden/Universal Render Pipeline/ClusterDeferred" ) ;
118118 Shader m_UberPostShader = Shader . Find ( "Hidden/Universal Render Pipeline/UberPost" ) ;
119+ Shader m_FinalPostShader = Shader . Find ( "Hidden/Universal Render Pipeline/FinalPost" ) ;
119120 Shader m_HDROutputBlitShader = Shader . Find ( "Hidden/Universal/BlitHDROverlay" ) ;
120121 Shader m_DataDrivenLensFlareShader = Shader . Find ( "Hidden/Universal Render Pipeline/LensFlareDataDriven" ) ;
121122 Shader m_ScreenSpaceLensFlareShader = Shader . Find ( "Hidden/Universal Render Pipeline/LensFlareScreenSpace" ) ;
@@ -201,6 +202,7 @@ public bool PassHasKeyword(LocalKeyword keyword)
201202 LocalKeyword m_ProceduralInstancing ;
202203 LocalKeyword m_DepthAsInputAttachment ;
203204 LocalKeyword m_DepthAsInputAttachmentMSAA ;
205+ LocalKeyword m_PointSampling ;
204206
205207 private LocalKeyword TryGetLocalKeyword ( Shader shader , string name )
206208 {
@@ -276,6 +278,7 @@ private void InitializeLocalShaderKeywords([DisallowNull] Shader shader)
276278 m_FilmGrain = TryGetLocalKeyword ( shader , ShaderKeywordStrings . FilmGrain ) ;
277279 m_SHPerVertex = TryGetLocalKeyword ( shader , ShaderKeywordStrings . EVALUATE_SH_VERTEX ) ;
278280 m_SHMixed = TryGetLocalKeyword ( shader , ShaderKeywordStrings . EVALUATE_SH_MIXED ) ;
281+ m_PointSampling = TryGetLocalKeyword ( shader , ShaderKeywordStrings . PointSampling ) ;
279282
280283 m_Instancing = TryGetLocalKeyword ( shader , "INSTANCING_ON" ) ;
281284 m_DotsInstancing = TryGetLocalKeyword ( shader , "DOTS_INSTANCING_ON" ) ;
@@ -866,6 +869,14 @@ internal bool StripUnusedFeatures_CrossFadeLod(ref IShaderScriptableStrippingDat
866869 return ! strippingData . IsShaderFeatureEnabled ( ShaderFeatures . LODCrossFade ) ;
867870 }
868871
872+ internal bool StripUnusedFeatures_PointSamplingUpsampling ( ref IShaderScriptableStrippingData strippingData , ref ShaderStripTool < ShaderFeatures > stripTool )
873+ {
874+ if ( strippingData . shader != m_UberPostShader && strippingData . shader != m_FinalPostShader )
875+ return false ;
876+
877+ return stripTool . StripMultiCompile ( m_PointSampling , ShaderFeatures . PointSamplingUpsampling ) ;
878+ }
879+
869880 internal bool StripUnusedFeatures ( ref IShaderScriptableStrippingData strippingData )
870881 {
871882 if ( StripUnusedFeatures_DebugDisplay ( ref strippingData ) )
@@ -982,6 +993,9 @@ internal bool StripUnusedFeatures(ref IShaderScriptableStrippingData strippingDa
982993 if ( StripUnusedFeatures_RenderObjectDepthInputAttachment ( ref strippingData ) )
983994 return true ;
984995
996+ if ( StripUnusedFeatures_PointSamplingUpsampling ( ref strippingData , ref stripTool ) )
997+ return true ;
998+
985999 return false ;
9861000 }
9871001
0 commit comments