@@ -28,6 +28,7 @@ internal struct TestStrippingData : IShaderScriptableStrippingData
28
28
public bool stripScreenCoordOverrideVariants { get ; set ; }
29
29
public bool stripUnusedVariants { get ; set ; }
30
30
public bool stripUnusedPostProcessingVariants { get ; set ; }
31
+ public bool stripUnusedXRVariants { get ; set ; }
31
32
public bool IsHDRDisplaySupportEnabled { get ; set ; }
32
33
33
34
public Shader shader { get ; set ; }
@@ -78,7 +79,7 @@ class TestHelper
78
79
| VolumeFeatures . BloomHQ | VolumeFeatures . BloomHQDirt ;
79
80
80
81
81
- public TestHelper ( Shader shader , ShaderFeatures shaderFeatures , VolumeFeatures volumeFeatures = VolumeFeatures . None , bool stripUnusedVariants = true )
82
+ public TestHelper ( Shader shader , ShaderFeatures shaderFeatures , VolumeFeatures volumeFeatures = VolumeFeatures . None , bool stripUnusedVariants = true , bool stripUnusedXRVariants = true )
82
83
{
83
84
s_PassKeywords = new List < string > ( ) { } ;
84
85
s_EnabledKeywords = new List < string > ( ) { } ;
@@ -92,6 +93,7 @@ public TestHelper(Shader shader, ShaderFeatures shaderFeatures, VolumeFeatures v
92
93
data . volumeFeatures = volumeFeatures ;
93
94
data . stripUnusedVariants = stripUnusedVariants ;
94
95
data . strip2DPasses = false ;
96
+ data . stripUnusedXRVariants = stripUnusedXRVariants ;
95
97
96
98
featureStripTool = new ShaderStripTool < ShaderFeatures > ( data . shaderFeatures , ref data ) ;
97
99
}
@@ -705,6 +707,8 @@ public void StripUnsupportedVariants_EditorVisualization(Shader shader, bool exp
705
707
[ TestCase ( "Hidden/Universal Render Pipeline/SubpixelMorphologicalAntialiasing" ) ]
706
708
[ TestCase ( "Hidden/Universal Render Pipeline/LensFlareDataDriven" ) ]
707
709
[ TestCase ( "Hidden/Universal Render Pipeline/LensFlareScreenSpace" ) ]
710
+ [ TestCase ( "Hidden/Universal Render Pipeline/XR/XROcclusionMesh" ) ]
711
+ [ TestCase ( "Hidden/Universal Render Pipeline/XR/XRMirrorView" ) ]
708
712
public void TestStripUnusedFeatures ( string shaderName )
709
713
{
710
714
Shader shader = Shader . Find ( shaderName ) ;
@@ -736,6 +740,7 @@ public void TestStripUnusedFeatures(string shaderName)
736
740
TestStripUnusedFeatures_SHAuto ( shader ) ;
737
741
TestStripUnusedFeatures_DataDrivenLensFlare ( shader ) ;
738
742
TestStripUnusedFeatures_ScreenSpaceLensFlare ( shader ) ;
743
+ TestStripUnusedFeatures_XR ( shader ) ;
739
744
}
740
745
741
746
public void TestStripUnusedFeatures_DebugDisplay ( Shader shader )
@@ -933,6 +938,22 @@ public void TestStripUnusedFeatures_DataDrivenLensFlare(Shader shader)
933
938
helper . IsTrue ( isLensFlareDataDriven ? helper . stripper . StripUnusedFeatures_DataDrivenLensFlare ( ref helper . data ) : ! helper . stripper . StripUnusedFeatures_DataDrivenLensFlare ( ref helper . data ) ) ;
934
939
}
935
940
941
+ public void TestStripUnusedFeatures_XR ( Shader shader )
942
+ {
943
+ TestHelper helper ;
944
+
945
+ helper = new TestHelper ( shader , ShaderFeatures . None , stripUnusedXRVariants : false ) ;
946
+ helper . IsFalse ( helper . stripper . StripUnusedFeatures_XROcclusionMesh ( ref helper . data ) ) ;
947
+ helper . IsFalse ( helper . stripper . StripUnusedFeatures_XRMirrorView ( ref helper . data ) ) ;
948
+
949
+ helper = new TestHelper ( shader , ShaderFeatures . None , stripUnusedXRVariants : true ) ;
950
+ bool isXROcclusion = shader != null && shader . name == "Hidden/Universal Render Pipeline/XR/XROcclusionMesh" ;
951
+ bool isXRMirror = shader != null && shader . name == "Hidden/Universal Render Pipeline/XR/XRMirrorView" ;
952
+ //We should strip the shader only if it's the XR shader.
953
+ helper . IsTrue ( isXROcclusion ? helper . stripper . StripUnusedFeatures_XROcclusionMesh ( ref helper . data ) : ! helper . stripper . StripUnusedFeatures_XROcclusionMesh ( ref helper . data ) ) ;
954
+ helper . IsTrue ( isXRMirror ? helper . stripper . StripUnusedFeatures_XRMirrorView ( ref helper . data ) : ! helper . stripper . StripUnusedFeatures_XRMirrorView ( ref helper . data ) ) ;
955
+ }
956
+
936
957
public void TestStripUnusedFeatures_DeferredRendering ( Shader shader )
937
958
{
938
959
TestHelper helper ;
0 commit comments