1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437 |
- using System;
- using System.Collections.Generic;
- using NUnit.Framework;
- using UnityEditor.Rendering;
- using UnityEditor.Rendering.Universal;
- using UnityEditor.VersionControl;
- using UnityEngine;
- using UnityEngine.Rendering;
- using UnityEngine.Rendering.Universal;
- using UnityEngine.SocialPlatforms;
- using IShaderScriptableStrippingData = UnityEditor.Rendering.Universal.ShaderScriptableStripper.IShaderScriptableStrippingData;
-
- namespace ShaderStrippingAndPrefiltering
- {
-
- class ShaderScriptableStripperTests
- {
- internal struct TestStrippingData : IShaderScriptableStrippingData
- {
- public ShaderFeatures shaderFeatures { get; set; }
- public VolumeFeatures volumeFeatures { get; set; }
-
- public bool isGLDevice { get; set; }
-
- public bool stripSoftShadowQualityLevels { get; set; }
- public bool strip2DPasses { get; set; }
- public bool stripDebugDisplayShaders { get; set; }
- public bool stripScreenCoordOverrideVariants { get; set; }
- public bool stripUnusedVariants { get; set; }
- public bool stripUnusedPostProcessingVariants { get; set; }
- public bool stripUnusedXRVariants { get; set; }
- public bool IsHDRDisplaySupportEnabled { get; set; }
-
- public Shader shader { get; set; }
- public ShaderType shaderType { get; set; }
- public ShaderCompilerPlatform shaderCompilerPlatform { get; set; }
-
- public string passName { get; set; }
- public PassType passType { get; set; }
- public PassIdentifier passIdentifier { get; set; }
-
- public bool IsHDRShaderVariantValid { get; set; }
-
-
- public bool IsKeywordEnabled(LocalKeyword keyword)
- {
- return TestHelper.s_EnabledKeywords != null && TestHelper.s_EnabledKeywords.Contains(keyword.name);
- }
-
- public bool IsShaderFeatureEnabled(ShaderFeatures feature)
- {
- return (shaderFeatures & feature) != 0;
- }
-
- public bool IsVolumeFeatureEnabled(VolumeFeatures feature)
- {
- return (volumeFeatures & feature) != 0;
- }
-
- public bool PassHasKeyword(LocalKeyword keyword)
- {
- return TestHelper.s_PassKeywords != null && TestHelper.s_PassKeywords.Contains(keyword.name);
- }
- }
-
- class TestHelper
- {
- public static List<string> s_EnabledKeywords;
- public static List<string> s_PassKeywords;
-
- public ShaderScriptableStripper stripper;
- public IShaderScriptableStrippingData data;
-
- public ShaderStripTool<ShaderFeatures> featureStripTool;
-
- private Shader shader;
-
- public static readonly VolumeFeatures s_AllBloomFeatures = VolumeFeatures.BloomLQ | VolumeFeatures.BloomLQDirt
- | VolumeFeatures.BloomHQ | VolumeFeatures.BloomHQDirt;
-
-
- public TestHelper(Shader shader, ShaderFeatures shaderFeatures, VolumeFeatures volumeFeatures = VolumeFeatures.None, bool stripUnusedVariants = true, bool stripUnusedXRVariants = true)
- {
- s_PassKeywords = new List<string>() { };
- s_EnabledKeywords = new List<string>() { };
-
- stripper = new();
- stripper.BeforeShaderStripping(shader);
-
- data = new TestStrippingData();
- data.shader = shader;
- data.shaderFeatures = shaderFeatures;
- data.volumeFeatures = volumeFeatures;
- data.stripUnusedVariants = stripUnusedVariants;
- data.strip2DPasses = false;
- data.stripUnusedXRVariants = stripUnusedXRVariants;
-
- featureStripTool = new ShaderStripTool<ShaderFeatures>(data.shaderFeatures, ref data);
- }
-
- public void AreEqual(bool expected, bool actual)
- {
- Assert.AreEqual(expected, actual);
- }
-
- public void IsTrue(bool actual)
- {
- Assert.IsTrue(actual);
- }
-
- public void IsFalse(bool actual)
- {
- Assert.IsFalse(actual);
- }
- }
-
- /*****************************************************
- * Strip Unused Shaders...
- *****************************************************/
-
- [TestCase(null, false, false)]
- [TestCase("", false, false)]
- [TestCase("Universal Render Pipeline/Lit", false, false)]
- [TestCase("Universal Render Pipeline/Simple Lit", false, false)]
- [TestCase("Universal Render Pipeline/Unlit", false, false)]
- [TestCase("Universal Render Pipeline/Terrain/Lit", false, false)]
- [TestCase("Universal Render Pipeline/Particles/Lit", false, false)]
- [TestCase("Universal Render Pipeline/Particles/Simple Lit", false, false)]
- [TestCase("Universal Render Pipeline/Particles/Unlit", false, false)]
- [TestCase("Universal Render Pipeline/Baked Lit", false, false)]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree7", false, false)]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree7 Billboard", false, false)]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree8_PBRLit", false, false)]
- [TestCase("Universal Render Pipeline/Complex Lit", false, false)]
- [TestCase("Hidden/Universal Render Pipeline/BokehDepthOfField", false, false)]
- [TestCase("Hidden/Universal Render Pipeline/GaussianDepthOfField", false, false)]
- [TestCase("Hidden/Universal Render Pipeline/CameraMotionBlur", false, false)]
- [TestCase("Hidden/Universal Render Pipeline/PaniniProjection", false, false)]
- [TestCase("Hidden/Universal Render Pipeline/Bloom", false, false)]
- [TestCase("Hidden/Universal Render Pipeline/StencilDeferred", true, false)]
- [TestCase("Hidden/Universal Render Pipeline/UberPost", false, false)]
- [TestCase("Hidden/Universal Render Pipeline/ScreenSpaceShadows", false, false)]
- [TestCase("Hidden/Universal Render Pipeline/ScreenSpaceAmbientOcclusion", false, false)]
- [TestCase("Hidden/Universal Render Pipeline/DBufferClear", false, false)]
- [TestCase("Hidden/Universal Render Pipeline/CameraMotionVectors", false, false)]
- [TestCase("Hidden/Universal Render Pipeline/CopyDepth", false, false)]
- [TestCase("Hidden/Universal Render Pipeline/SubpixelMorphologicalAntialiasing", false, false)]
- public void TestStripUnusedShaders(string shaderName, bool expectedNoFeatures, bool expectedWithDeferredShading)
- {
- TestHelper helper;
- Shader shader = Shader.Find(shaderName);
- ShaderScriptableStripper scriptableStripper = new();
-
- // Test each individual function...
- TestStripUnusedShaders_Deferred(shader, expectedNoFeatures, expectedWithDeferredShading);
-
- // Test the parent function...
-
- // Strip unused variants enabled/disabled
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.AreEqual(expectedNoFeatures, scriptableStripper.StripUnusedShaders(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, stripUnusedVariants:false);
- helper.IsFalse(scriptableStripper.StripUnusedShaders(ref helper.data));
- }
-
- public void TestStripUnusedShaders_Deferred(Shader shader, bool expectedNoFeatures, bool expectedWithDeferredShading)
- {
- TestHelper helper;
-
- // Currently only StencilDeferred is stripped out (when deferred is not in use)
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.AreEqual(expectedNoFeatures, helper.stripper.StripUnusedShaders_Deferred(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DeferredShading);
- helper.AreEqual(expectedWithDeferredShading, helper.stripper.StripUnusedShaders_Deferred(ref helper.data));
- }
-
- /*****************************************************
- * Strip Unused passes...
- *****************************************************/
-
- [TestCase(null)]
- [TestCase("")]
- [TestCase("Universal Render Pipeline/Lit")]
- [TestCase("Universal Render Pipeline/Simple Lit")]
- [TestCase("Universal Render Pipeline/Unlit")]
- [TestCase("Universal Render Pipeline/Terrain/Lit")]
- [TestCase("Universal Render Pipeline/Particles/Lit")]
- [TestCase("Universal Render Pipeline/Particles/Simple Lit")]
- [TestCase("Universal Render Pipeline/Particles/Unlit")]
- [TestCase("Universal Render Pipeline/Baked Lit")]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree7")]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree7 Billboard")]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree8_PBRLit")]
- [TestCase("Universal Render Pipeline/Complex Lit")]
- [TestCase("Hidden/Universal Render Pipeline/BokehDepthOfField")]
- [TestCase("Hidden/Universal Render Pipeline/GaussianDepthOfField")]
- [TestCase("Hidden/Universal Render Pipeline/CameraMotionBlur")]
- [TestCase("Hidden/Universal Render Pipeline/PaniniProjection")]
- [TestCase("Hidden/Universal Render Pipeline/Bloom")]
- [TestCase("Hidden/Universal Render Pipeline/StencilDeferred")]
- [TestCase("Hidden/Universal Render Pipeline/UberPost")]
- [TestCase("Hidden/Universal Render Pipeline/ScreenSpaceShadows")]
- [TestCase("Hidden/Universal Render Pipeline/ScreenSpaceAmbientOcclusion")]
- [TestCase("Hidden/Universal Render Pipeline/DBufferClear")]
- [TestCase("Hidden/Universal Render Pipeline/CameraMotionVectors")]
- [TestCase("Hidden/Universal Render Pipeline/CopyDepth")]
- [TestCase("Hidden/Universal Render Pipeline/SubpixelMorphologicalAntialiasing")]
- public void TestStripUnusedPass(string shaderName)
- {
- Shader shader = Shader.Find(shaderName);
- TestHelper helper;
-
- // Check Nulls
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = null;
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- TestStripUnusedPass_2D(shader);
- TestStripUnusedPass_XR(shader);
- TestStripUnusedPass_ShadowCaster(shader);
- TestStripUnusedPass_Decals(shader);
- }
-
- public void TestStripUnusedPass_2D(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.strip2DPasses = false;
- helper.data.passName = ShaderScriptableStripper.kPassNameUniversal2D;
- helper.IsFalse(helper.stripper.StripUnusedPass_2D(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.strip2DPasses = true;
- helper.data.passName = ShaderScriptableStripper.kPassNameUniversal2D;
- helper.IsTrue(helper.stripper.StripUnusedPass_2D(ref helper.data));
- helper.IsTrue(helper.stripper.StripUnusedPass(ref helper.data));
- }
-
-
- public void TestStripUnusedPass_XR(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.stripUnusedXRVariants = false;
- helper.data.passName = ShaderScriptableStripper.kPassNameXRMotionVectors;
- helper.IsFalse(helper.stripper.StripUnusedPass_XRMotionVectors(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.stripUnusedXRVariants = true;
- helper.data.passName = ShaderScriptableStripper.kPassNameXRMotionVectors;
- helper.IsTrue(helper.stripper.StripUnusedPass_XRMotionVectors(ref helper.data));
- helper.IsTrue(helper.stripper.StripUnusedPass(ref helper.data));
- }
-
- public void TestStripUnusedPass_ShadowCaster(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passType = PassType.ShadowCaster;
- helper.IsTrue(helper.stripper.StripUnusedPass_ShadowCaster(ref helper.data));
- helper.IsTrue(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.MainLightShadows);
- helper.data.passType = PassType.ShadowCaster;
- helper.IsFalse(helper.stripper.StripUnusedPass_ShadowCaster(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightShadows);
- helper.data.passType = PassType.ShadowCaster;
- helper.IsFalse(helper.stripper.StripUnusedPass_ShadowCaster(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
- }
-
- public void TestStripUnusedPass_Decals(Shader shader)
- {
- TestHelper helper;
-
- // Currently only Decals are stripped in this part
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.isGLDevice = true;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- // DBuffer
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = DecalShaderPassNames.DBufferMesh;
- helper.IsTrue(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsTrue(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT1);
- helper.data.passName = DecalShaderPassNames.DBufferMesh;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT2);
- helper.data.passName = DecalShaderPassNames.DBufferMesh;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT3);
- helper.data.passName = DecalShaderPassNames.DBufferMesh;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = DecalShaderPassNames.DBufferProjector;
- helper.IsTrue(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsTrue(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT1);
- helper.data.passName = DecalShaderPassNames.DBufferProjector;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT2);
- helper.data.passName = DecalShaderPassNames.DBufferProjector;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT3);
- helper.data.passName = DecalShaderPassNames.DBufferProjector;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = DecalShaderPassNames.DecalMeshForwardEmissive;
- helper.IsTrue(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsTrue(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT1);
- helper.data.passName = DecalShaderPassNames.DecalMeshForwardEmissive;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT2);
- helper.data.passName = DecalShaderPassNames.DecalMeshForwardEmissive;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT3);
- helper.data.passName = DecalShaderPassNames.DecalMeshForwardEmissive;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = DecalShaderPassNames.DecalProjectorForwardEmissive;
- helper.IsTrue(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsTrue(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT1);
- helper.data.passName = DecalShaderPassNames.DecalProjectorForwardEmissive;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT2);
- helper.data.passName = DecalShaderPassNames.DecalProjectorForwardEmissive;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT3);
- helper.data.passName = DecalShaderPassNames.DecalProjectorForwardEmissive;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
-
- // Decal Screen Space
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = DecalShaderPassNames.DecalScreenSpaceMesh;
- helper.IsTrue(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsTrue(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalScreenSpace);
- helper.data.passName = DecalShaderPassNames.DecalScreenSpaceMesh;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = DecalShaderPassNames.DecalScreenSpaceProjector;
- helper.IsTrue(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsTrue(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalScreenSpace);
- helper.data.passName = DecalShaderPassNames.DecalScreenSpaceProjector;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
-
- // Decal Gbuffer
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = DecalShaderPassNames.DecalGBufferMesh;
- helper.IsTrue(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsTrue(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalGBuffer);
- helper.data.passName = DecalShaderPassNames.DecalGBufferMesh;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = DecalShaderPassNames.DecalGBufferProjector;
- helper.IsTrue(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsTrue(helper.stripper.StripUnusedPass(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalGBuffer);
- helper.data.passName = DecalShaderPassNames.DecalGBufferProjector;
- helper.IsFalse(helper.stripper.StripUnusedPass_Decals(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedPass(ref helper.data));
- }
-
-
- /*****************************************************
- * Strip Invalid Variant passes...
- *****************************************************/
-
- [TestCase(null, false, false, false)]
- [TestCase("", false, false, false)]
- [TestCase("Universal Render Pipeline/Lit", false, false, true)]
- [TestCase("Universal Render Pipeline/Simple Lit", false, false, true)]
- [TestCase("Universal Render Pipeline/Unlit", false, false, true)]
- [TestCase("Universal Render Pipeline/Terrain/Lit", false, true, true)]
- [TestCase("Universal Render Pipeline/Particles/Lit", false, false, true)]
- [TestCase("Universal Render Pipeline/Particles/Simple Lit", false, false, true)]
- [TestCase("Universal Render Pipeline/Particles/Unlit", false, false, true)]
- [TestCase("Universal Render Pipeline/Baked Lit", false, false, true)]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree7", false, false, true)]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree7 Billboard", false, false, true)]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree8_PBRLit", false, false, true)]
- [TestCase("Universal Render Pipeline/Complex Lit", false, false, true)]
- [TestCase("Hidden/Universal Render Pipeline/BokehDepthOfField", false, false, true)]
- [TestCase("Hidden/Universal Render Pipeline/GaussianDepthOfField", false, false, true)]
- [TestCase("Hidden/Universal Render Pipeline/CameraMotionBlur", false, false, true)]
- [TestCase("Hidden/Universal Render Pipeline/PaniniProjection", false, false, true)]
- [TestCase("Hidden/Universal Render Pipeline/Bloom", false, false, true)]
- [TestCase("Hidden/Universal Render Pipeline/StencilDeferred", false, false, true)]
- [TestCase("Hidden/Universal Render Pipeline/UberPost", false, false, true)]
- [TestCase("Hidden/Universal Render Pipeline/ScreenSpaceShadows", false, false, true)]
- [TestCase("Hidden/Universal Render Pipeline/ScreenSpaceAmbientOcclusion", false, false, true)]
- [TestCase("Hidden/Universal Render Pipeline/DBufferClear", false, false, true)]
- [TestCase("Hidden/Universal Render Pipeline/CameraMotionVectors", false, false, true)]
- [TestCase("Hidden/Universal Render Pipeline/CopyDepth", false, false, true)]
- [TestCase("Hidden/Universal Render Pipeline/SubpixelMorphologicalAntialiasing", false, false, true)]
- public void TestStripInvalidVariants(string shaderName, bool expectedTerrainHoles, bool expectedTerrainHolesWithAlphaTestOn, bool expectedSoftShadows)
- {
- Shader shader = Shader.Find(shaderName);
-
- TestStripInvalidVariants_HDR(shader);
- StripInvalidVariants_TerrainHoles(shader, expectedTerrainHoles, expectedTerrainHolesWithAlphaTestOn);
- TestStripInvalidVariants_Shadows(shader, expectedSoftShadows);
- }
-
- public void TestStripInvalidVariants_HDR(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRDisplaySupportEnabled = false;
- helper.data.IsHDRShaderVariantValid = false;
- helper.IsTrue(helper.stripper.StripInvalidVariants_HDR(ref helper.data));
- helper.IsTrue(helper.stripper.StripInvalidVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRDisplaySupportEnabled = false;
- helper.data.IsHDRShaderVariantValid = true;
- helper.IsFalse(helper.stripper.StripInvalidVariants_HDR(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRDisplaySupportEnabled = true;
- helper.data.IsHDRShaderVariantValid = false;
- helper.IsFalse(helper.stripper.StripInvalidVariants_HDR(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRDisplaySupportEnabled = true;
- helper.data.IsHDRShaderVariantValid = true;
- helper.IsFalse(helper.stripper.StripInvalidVariants_HDR(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalGBuffer);
- helper.data.IsHDRDisplaySupportEnabled = false;
- helper.data.IsHDRShaderVariantValid = false;
- helper.IsTrue(helper.stripper.StripInvalidVariants_HDR(ref helper.data));
- helper.IsTrue(helper.stripper.StripInvalidVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalGBuffer);
- helper.data.IsHDRDisplaySupportEnabled = false;
- helper.data.IsHDRShaderVariantValid = true;
- helper.IsFalse(helper.stripper.StripInvalidVariants_HDR(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalGBuffer);
- helper.data.IsHDRDisplaySupportEnabled = true;
- helper.data.IsHDRShaderVariantValid = false;
- helper.IsFalse(helper.stripper.StripInvalidVariants_HDR(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalGBuffer);
- helper.data.IsHDRDisplaySupportEnabled = true;
- helper.data.IsHDRShaderVariantValid = true;
- helper.IsFalse(helper.stripper.StripInvalidVariants_HDR(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
- }
-
- public void StripInvalidVariants_TerrainHoles(Shader shader, bool expectedTerrainHoles, bool expectedTerrainHolesWithAlphaTestOn)
- {
- TestHelper helper;
-
- // Disabled m_AlphaTestOn
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRShaderVariantValid = true;
- helper.AreEqual(expectedTerrainHoles, helper.stripper.StripInvalidVariants_TerrainHoles(ref helper.data));
- helper.AreEqual(expectedTerrainHoles, helper.stripper.StripInvalidVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.TerrainHoles);
- helper.data.IsHDRShaderVariantValid = true;
- helper.AreEqual(expectedTerrainHoles, helper.stripper.StripInvalidVariants_TerrainHoles(ref helper.data));
- helper.AreEqual(expectedTerrainHoles, helper.stripper.StripInvalidVariants(ref helper.data));
-
- // Enabled m_AlphaTestOn
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRShaderVariantValid = true;
- TestHelper.s_EnabledKeywords = new List<string>{ShaderKeywordStrings._ALPHATEST_ON};
- helper.AreEqual(expectedTerrainHolesWithAlphaTestOn, helper.stripper.StripInvalidVariants_TerrainHoles(ref helper.data));
- helper.AreEqual(expectedTerrainHolesWithAlphaTestOn, helper.stripper.StripInvalidVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.TerrainHoles);
- helper.data.IsHDRShaderVariantValid = true;
- TestHelper.s_EnabledKeywords = new List<string>{ShaderKeywordStrings._ALPHATEST_ON};
- helper.IsFalse(helper.stripper.StripInvalidVariants_TerrainHoles(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
- }
-
- public void TestStripInvalidVariants_Shadows(Shader shader, bool expectedSoftShadows)
- {
- TestHelper helper;
-
- // Soft Shadows
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRShaderVariantValid = true;
- helper.IsFalse(helper.stripper.StripInvalidVariants_Shadows(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRShaderVariantValid = true;
- TestHelper.s_EnabledKeywords = new List<string>{ShaderKeywordStrings.SoftShadows};
- helper.AreEqual(expectedSoftShadows, helper.stripper.StripInvalidVariants_Shadows(ref helper.data));
- helper.AreEqual(expectedSoftShadows, helper.stripper.StripInvalidVariants(ref helper.data));
-
- // MainLightShadows
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRShaderVariantValid = true;
- TestHelper.s_EnabledKeywords = new List<string>{ShaderKeywordStrings.MainLightShadows};
- helper.IsFalse(helper.stripper.StripInvalidVariants_Shadows(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRShaderVariantValid = true;
- TestHelper.s_EnabledKeywords = new List<string>{ShaderKeywordStrings.MainLightShadows, ShaderKeywordStrings.SoftShadows};
- helper.IsFalse(helper.stripper.StripInvalidVariants_Shadows(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
-
- // MainLightShadowCascades
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRShaderVariantValid = true;
- TestHelper.s_EnabledKeywords = new List<string>{ShaderKeywordStrings.MainLightShadowCascades};
- helper.IsFalse(helper.stripper.StripInvalidVariants_Shadows(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRShaderVariantValid = true;
- TestHelper.s_EnabledKeywords = new List<string>{ShaderKeywordStrings.MainLightShadowCascades, ShaderKeywordStrings.SoftShadows};
- helper.IsFalse(helper.stripper.StripInvalidVariants_Shadows(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
-
- // MainLightShadowScreen
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRShaderVariantValid = true;
- TestHelper.s_EnabledKeywords = new List<string>{ShaderKeywordStrings.MainLightShadowScreen};
- helper.IsFalse(helper.stripper.StripInvalidVariants_Shadows(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRShaderVariantValid = true;
- TestHelper.s_EnabledKeywords = new List<string>{ShaderKeywordStrings.MainLightShadowScreen, ShaderKeywordStrings.SoftShadows};
- helper.IsFalse(helper.stripper.StripInvalidVariants_Shadows(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
-
- // AdditionalLightShadows
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRShaderVariantValid = true;
- TestHelper.s_EnabledKeywords = new List<string>{ShaderKeywordStrings.AdditionalLightShadows};
- helper.IsFalse(helper.stripper.StripInvalidVariants_Shadows(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.IsHDRShaderVariantValid = true;
- TestHelper.s_EnabledKeywords = new List<string>{ShaderKeywordStrings.AdditionalLightShadows, ShaderKeywordStrings.SoftShadows};
- helper.IsFalse(helper.stripper.StripInvalidVariants_Shadows(ref helper.data));
- helper.IsFalse(helper.stripper.StripInvalidVariants(ref helper.data));
- }
-
-
-
- /*****************************************************
- * Unsupported Variants
- *****************************************************/
-
- [TestCase(null, false, false, false)]
- [TestCase("", false, false, false)]
- [TestCase("Universal Render Pipeline/Lit", true, true, true)]
- [TestCase("Universal Render Pipeline/Simple Lit", true, true, true)]
- [TestCase("Universal Render Pipeline/Unlit", true, true, true)]
- [TestCase("Universal Render Pipeline/Terrain/Lit", true, true, true)]
- [TestCase("Universal Render Pipeline/Particles/Lit", true, true, true)]
- [TestCase("Universal Render Pipeline/Particles/Simple Lit", true, true, true)]
- [TestCase("Universal Render Pipeline/Particles/Unlit", true, true, true)]
- [TestCase("Universal Render Pipeline/Baked Lit", true, true, true)]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree7", true, true, true)]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree7 Billboard", true, true, true)]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree8_PBRLit", true, true, true)]
- [TestCase("Universal Render Pipeline/Complex Lit", true, true, true)]
- [TestCase("Hidden/Universal Render Pipeline/BokehDepthOfField", true, true, true)]
- [TestCase("Hidden/Universal Render Pipeline/GaussianDepthOfField", true, true, true)]
- [TestCase("Hidden/Universal Render Pipeline/CameraMotionBlur", true, true, true)]
- [TestCase("Hidden/Universal Render Pipeline/PaniniProjection", true, true, true)]
- [TestCase("Hidden/Universal Render Pipeline/Bloom", true, true, true)]
- [TestCase("Hidden/Universal Render Pipeline/StencilDeferred", true, true, true)]
- [TestCase("Hidden/Universal Render Pipeline/UberPost", true, true, true)]
- [TestCase("Hidden/Universal Render Pipeline/ScreenSpaceShadows", true, true, true)]
- [TestCase("Hidden/Universal Render Pipeline/ScreenSpaceAmbientOcclusion", true, true, true)]
- [TestCase("Hidden/Universal Render Pipeline/DBufferClear", true, true, true)]
- [TestCase("Hidden/Universal Render Pipeline/CameraMotionVectors", true, true, true)]
- [TestCase("Hidden/Universal Render Pipeline/CopyDepth", true, true, true)]
- [TestCase("Hidden/Universal Render Pipeline/SubpixelMorphologicalAntialiasing", true, true, true)]
- public void TestStripUnsupportedVariants(string shaderName, bool expectedDirLightmap, bool expectedLightmapProbes, bool expectedEditorVizualization)
- {
- Shader shader = Shader.Find(shaderName);
-
- StripUnsupportedVariants_DirectionalLightmap(shader, expectedDirLightmap);
- StripUnsupportedVariants_EditorVisualization(shader, expectedEditorVizualization);
- }
-
- public void StripUnsupportedVariants_DirectionalLightmap(Shader shader, bool expectedDirLightmap)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.IsFalse(helper.stripper.StripUnsupportedVariants_DirectionalLightmap(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnsupportedVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>{ShaderKeywordStrings.DIRLIGHTMAP_COMBINED};
- helper.AreEqual(expectedDirLightmap, helper.stripper.StripUnsupportedVariants_DirectionalLightmap(ref helper.data));
- helper.AreEqual(expectedDirLightmap, helper.stripper.StripUnsupportedVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>{ShaderKeywordStrings.DIRLIGHTMAP_COMBINED, ShaderKeywordStrings.LIGHTMAP_ON};
- helper.IsFalse(helper.stripper.StripUnsupportedVariants_DirectionalLightmap(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnsupportedVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>{ShaderKeywordStrings.DIRLIGHTMAP_COMBINED, ShaderKeywordStrings.DYNAMICLIGHTMAP_ON};
- helper.IsFalse(helper.stripper.StripUnsupportedVariants_DirectionalLightmap(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnsupportedVariants(ref helper.data));
- }
-
- public void StripUnsupportedVariants_EditorVisualization(Shader shader, bool expectedEditorVizualization)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.IsFalse(helper.stripper.StripUnsupportedVariants_EditorVisualization(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnsupportedVariants(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.EDITOR_VISUALIZATION };
- helper.AreEqual(expectedEditorVizualization, helper.stripper.StripUnsupportedVariants_EditorVisualization(ref helper.data));
- helper.AreEqual(expectedEditorVizualization, helper.stripper.StripUnsupportedVariants(ref helper.data));
- }
-
-
- /*****************************************************
- * Unused Features
- *****************************************************/
-
- [TestCase(null)]
- [TestCase("")]
- [TestCase("Universal Render Pipeline/Lit")]
- [TestCase("Universal Render Pipeline/Simple Lit")]
- [TestCase("Universal Render Pipeline/Unlit")]
- [TestCase("Universal Render Pipeline/Terrain/Lit")]
- [TestCase("Universal Render Pipeline/Particles/Lit")]
- [TestCase("Universal Render Pipeline/Particles/Simple Lit")]
- [TestCase("Universal Render Pipeline/Particles/Unlit")]
- [TestCase("Universal Render Pipeline/Baked Lit")]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree7")]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree7 Billboard")]
- [TestCase("Universal Render Pipeline/Nature/SpeedTree8_PBRLit")]
- [TestCase("Universal Render Pipeline/Complex Lit")]
- [TestCase("Hidden/Universal Render Pipeline/BokehDepthOfField")]
- [TestCase("Hidden/Universal Render Pipeline/GaussianDepthOfField")]
- [TestCase("Hidden/Universal Render Pipeline/CameraMotionBlur")]
- [TestCase("Hidden/Universal Render Pipeline/PaniniProjection")]
- [TestCase("Hidden/Universal Render Pipeline/Bloom")]
- [TestCase("Hidden/Universal Render Pipeline/StencilDeferred")]
- [TestCase("Hidden/Universal Render Pipeline/UberPost")]
- [TestCase("Hidden/Universal Render Pipeline/ScreenSpaceShadows")]
- [TestCase("Hidden/Universal Render Pipeline/ScreenSpaceAmbientOcclusion")]
- [TestCase("Hidden/Universal Render Pipeline/DBufferClear")]
- [TestCase("Hidden/Universal Render Pipeline/CameraMotionVectors")]
- [TestCase("Hidden/Universal Render Pipeline/CopyDepth")]
- [TestCase("Hidden/Universal Render Pipeline/SubpixelMorphologicalAntialiasing")]
- [TestCase("Hidden/Universal Render Pipeline/LensFlareDataDriven")]
- [TestCase("Hidden/Universal Render Pipeline/LensFlareScreenSpace")]
- [TestCase("Hidden/Universal Render Pipeline/XR/XROcclusionMesh")]
- [TestCase("Hidden/Universal Render Pipeline/XR/XRMirrorView")]
- [TestCase("Hidden/Universal Render Pipeline/XR/XRMotionVector")]
- public void TestStripUnusedFeatures(string shaderName)
- {
- Shader shader = Shader.Find(shaderName);
-
- TestStripUnusedFeatures_DebugDisplay(shader);
- TestStripUnusedFeatures_ScreenCoordOverride(shader);
- TestStripUnusedFeatures_PunctualLightShadows(shader);
- TestStripUnusedFeatures_FoveatedRendering(shader);
- TestStripUnusedFeatures_DeferredRendering(shader);
- TestStripUnusedFeatures_MainLightShadows(shader);
- TestStripUnusedFeatures_AdditionalLightShadows(shader);
- TestStripUnusedFeatures_MixedLighting(shader);
- TestStripUnusedFeatures_SoftShadows(shader);
- TestStripUnusedFeatures_HDRGrading(shader);
- TestStripUnusedFeatures_UseFastSRGBLinearConversion(shader);
- TestStripUnusedFeatures_LightLayers(shader);
- TestStripUnusedFeatures_RenderPassEnabled(shader);
- TestStripUnusedFeatures_ReflectionProbes(shader);
- TestStripUnusedFeatures_ForwardPlus(shader);
- TestStripUnusedFeatures_AdditionalLights(shader);
- TestStripUnusedFeatures_ScreenSpaceOcclusion(shader);
- TestStripUnusedFeatures_DecalsDbuffer(shader);
- TestStripUnusedFeatures_DecalsNormalBlend(shader);
- TestStripUnusedFeatures_DecalLayers(shader);
- TestStripUnusedFeatures_WriteRenderingLayers(shader);
- TestStripUnusedFeatures_AccurateGbufferNormals(shader);
- TestStripUnusedFeatures_LightCookies(shader);
- TestStripUnusedFeatures_ProbesVolumes(shader);
- TestStripUnusedFeatures_SHAuto(shader);
- TestStripUnusedFeatures_DataDrivenLensFlare(shader);
- TestStripUnusedFeatures_ScreenSpaceLensFlare(shader);
- TestStripUnusedFeatures_XR(shader);
- }
-
- public void TestStripUnusedFeatures_DebugDisplay(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.stripDebugDisplayShaders = false;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.DEBUG_DISPLAY};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DebugDisplay(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.stripDebugDisplayShaders = false;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DEBUG_DISPLAY};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.DEBUG_DISPLAY};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DebugDisplay(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.stripDebugDisplayShaders = true;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.DEBUG_DISPLAY};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DebugDisplay(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.stripDebugDisplayShaders = true;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DEBUG_DISPLAY};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.DEBUG_DISPLAY};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DebugDisplay(ref helper.data));
- }
-
- public void TestStripUnusedFeatures_ScreenCoordOverride(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.stripScreenCoordOverrideVariants = false;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.SCREEN_COORD_OVERRIDE};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ScreenCoordOverride(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.stripScreenCoordOverrideVariants = false;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.SCREEN_COORD_OVERRIDE};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.SCREEN_COORD_OVERRIDE};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ScreenCoordOverride(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.stripScreenCoordOverrideVariants = true;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.SCREEN_COORD_OVERRIDE};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ScreenCoordOverride(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.stripScreenCoordOverrideVariants = true;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.SCREEN_COORD_OVERRIDE};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.SCREEN_COORD_OVERRIDE};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_ScreenCoordOverride(ref helper.data));
- }
-
- public void TestStripUnusedFeatures_PunctualLightShadows(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passType = PassType.ForwardBase;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_PunctualLightShadows(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passType = PassType.ShadowCaster;
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.CastingPunctualLightShadow };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_PunctualLightShadows(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.MainLightShadows);
- helper.data.passType = PassType.ShadowCaster;
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.CastingPunctualLightShadow };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_PunctualLightShadows(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.MainLightShadows);
- helper.data.passType = PassType.ShadowCaster;
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.CastingPunctualLightShadow };
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.CastingPunctualLightShadow };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_PunctualLightShadows(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.MainLightShadowsCascade);
- helper.data.passType = PassType.ShadowCaster;
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.CastingPunctualLightShadow };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_PunctualLightShadows(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.ScreenSpaceShadows);
- helper.data.passType = PassType.ShadowCaster;
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.CastingPunctualLightShadow };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_PunctualLightShadows(ref helper.data));
-
-
-
- helper = new TestHelper(shader, ShaderFeatures.MainLightShadows | ShaderFeatures.AdditionalLightShadows);
- helper.data.passType = PassType.ShadowCaster;
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.CastingPunctualLightShadow };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_PunctualLightShadows(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.MainLightShadows | ShaderFeatures.AdditionalLightShadows);
- helper.data.passType = PassType.ShadowCaster;
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.CastingPunctualLightShadow };
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.CastingPunctualLightShadow };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_PunctualLightShadows(ref helper.data));
- }
-
- public void TestStripUnusedFeatures_FoveatedRendering(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.shaderCompilerPlatform = ShaderCompilerPlatform.None;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_FoveatedRendering(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.shaderCompilerPlatform = ShaderCompilerPlatform.None;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.FoveatedRenderingNonUniformRaster};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_FoveatedRendering(ref helper.data));
- }
-
- public void TestStripUnusedFeatures_SHAuto(Shader shader)
- {
- TestHelper helper;
- List<string> shShaderKeywords = new List<string>() { ShaderKeywordStrings.EVALUATE_SH_VERTEX, ShaderKeywordStrings.EVALUATE_SH_MIXED };
-
- // None, should not strip any variant(stripping handled by ShaderKeywordFilter system instead).
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_PassKeywords = shShaderKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_SHAuto(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.EVALUATE_SH_VERTEX };
- TestHelper.s_PassKeywords = shShaderKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_SHAuto(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.EVALUATE_SH_MIXED };
- TestHelper.s_PassKeywords = shShaderKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_SHAuto(ref helper.data, ref helper.featureStripTool));
-
- // ShaderFeatures.AutoSHMode | AutoSHModePerVertex
- helper = new TestHelper(shader, ShaderFeatures.AutoSHMode | ShaderFeatures.AutoSHModePerVertex);
- TestHelper.s_PassKeywords = shShaderKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_SHAuto(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AutoSHMode | ShaderFeatures.AutoSHModePerVertex);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.EVALUATE_SH_VERTEX };
- TestHelper.s_PassKeywords = shShaderKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_SHAuto(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AutoSHMode | ShaderFeatures.AutoSHModePerVertex);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.EVALUATE_SH_MIXED };
- TestHelper.s_PassKeywords = shShaderKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_SHAuto(ref helper.data, ref helper.featureStripTool));
-
-
- // ShaderFeatures.AutoSHMode
- helper = new TestHelper(shader, ShaderFeatures.AutoSHMode);
- TestHelper.s_PassKeywords = shShaderKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_SHAuto(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AutoSHMode);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.EVALUATE_SH_VERTEX };
- TestHelper.s_PassKeywords = shShaderKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_SHAuto(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AutoSHMode);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.EVALUATE_SH_MIXED };
- TestHelper.s_PassKeywords = shShaderKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_SHAuto(ref helper.data, ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_ScreenSpaceLensFlare(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.ScreenSpaceLensFlare);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ScreenSpaceLensFlare(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- bool isLensFlareScreenSpace = shader != null && shader.name == "Hidden/Universal Render Pipeline/LensFlareScreenSpace";
- //We should strip the shader only if it's the lens flare one.
- helper.IsTrue(isLensFlareScreenSpace ? helper.stripper.StripUnusedFeatures_ScreenSpaceLensFlare(ref helper.data) : !helper.stripper.StripUnusedFeatures_ScreenSpaceLensFlare(ref helper.data));
- }
-
- public void TestStripUnusedFeatures_DataDrivenLensFlare(Shader shader)
- {
-
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.DataDrivenLensFlare);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DataDrivenLensFlare(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- bool isLensFlareDataDriven = shader != null && shader.name == "Hidden/Universal Render Pipeline/LensFlareDataDriven";
- //We should strip the shader only if it's the lens flare one.
- helper.IsTrue(isLensFlareDataDriven ? helper.stripper.StripUnusedFeatures_DataDrivenLensFlare(ref helper.data) : !helper.stripper.StripUnusedFeatures_DataDrivenLensFlare(ref helper.data));
- }
-
- public void TestStripUnusedFeatures_XR(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None, stripUnusedXRVariants: false);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_XROcclusionMesh(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedFeatures_XRMirrorView(ref helper.data));
- helper.IsFalse(helper.stripper.StripUnusedFeatures_XRMotionVector(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, stripUnusedXRVariants: true);
- bool isXROcclusion = shader != null && shader.name == "Hidden/Universal Render Pipeline/XR/XROcclusionMesh";
- bool isXRMirror = shader != null && shader.name == "Hidden/Universal Render Pipeline/XR/XRMirrorView";
- bool isXRMotionVector = shader != null && shader.name == "Hidden/Universal Render Pipeline/XR/XRMotionVector";
-
- //We should strip the shader only if it's the XR shader.
- helper.IsTrue(isXROcclusion ? helper.stripper.StripUnusedFeatures_XROcclusionMesh(ref helper.data) : !helper.stripper.StripUnusedFeatures_XROcclusionMesh(ref helper.data));
- helper.IsTrue(isXRMirror ? helper.stripper.StripUnusedFeatures_XRMirrorView(ref helper.data) : !helper.stripper.StripUnusedFeatures_XRMirrorView(ref helper.data));
- helper.IsTrue(isXRMotionVector ? helper.stripper.StripUnusedFeatures_XRMotionVector(ref helper.data) : !helper.stripper.StripUnusedFeatures_XRMotionVector(ref helper.data));
-
- }
-
- public void TestStripUnusedFeatures_DeferredRendering(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = ShaderScriptableStripper.kPassNameUniversal2D;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DeferredRendering(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = ShaderScriptableStripper.kPassNameGBuffer;
- helper.IsTrue(helper.stripper.StripUnusedFeatures_DeferredRendering(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DeferredShading);
- helper.data.passName = ShaderScriptableStripper.kPassNameUniversal2D;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DeferredRendering(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.DeferredShading);
- helper.data.passName = ShaderScriptableStripper.kPassNameGBuffer;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DeferredRendering(ref helper.data));
- }
-
- public void TestStripUnusedFeatures_MainLightShadows(Shader shader)
- {
- TestHelper helper;
- List<string> mainLightShadowKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadows, ShaderKeywordStrings.MainLightShadowCascades, ShaderKeywordStrings.MainLightShadowScreen };
-
- helper = new TestHelper(shader, ShaderFeatures.None, stripUnusedVariants:false);
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- // None
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadows };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowCascades };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowScreen };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- // MainLightShadows
- helper = new TestHelper(shader, ShaderFeatures.MainLightShadows);
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.MainLightShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadows };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.MainLightShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowCascades };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.MainLightShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowScreen };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- // MainLightShadowsCascade
- helper = new TestHelper(shader, ShaderFeatures.MainLightShadowsCascade);
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.MainLightShadowsCascade);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadows };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.MainLightShadowsCascade);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowCascades };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.MainLightShadowsCascade);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowScreen };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- // ScreenSpaceShadows
- helper = new TestHelper(shader, ShaderFeatures.ScreenSpaceShadows);
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ScreenSpaceShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadows };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ScreenSpaceShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowCascades };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ScreenSpaceShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowScreen };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
-
- // ShadowsKeepOffVariants
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- // ShaderFeatures.ShadowsKeepOffVariants
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants);
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadows };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowCascades };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowScreen };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- // ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.MainLightShadows
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.MainLightShadows);
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.MainLightShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadows };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.MainLightShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowCascades };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.MainLightShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowScreen };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- // ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.MainLightShadowsCascade
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.MainLightShadowsCascade);
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.MainLightShadowsCascade);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadows };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.MainLightShadowsCascade);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowCascades };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.MainLightShadowsCascade);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowScreen };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- // ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.ScreenSpaceShadows);
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.ScreenSpaceShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadows };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.ScreenSpaceShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowCascades };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.ScreenSpaceShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MainLightShadowScreen };
- TestHelper.s_PassKeywords = mainLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MainLightShadows(ref helper.data, ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_AdditionalLightShadows(Shader shader)
- {
- TestHelper helper;
- List<string> additionalLightShadowKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightShadows };
-
- // None
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_PassKeywords = additionalLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightShadows };
- TestHelper.s_PassKeywords = additionalLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLightShadows(ref helper.data, ref helper.featureStripTool));
-
- // AdditionalLightShadows
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightShadows);
- TestHelper.s_PassKeywords = additionalLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightShadows };
- TestHelper.s_PassKeywords = additionalLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLightShadows(ref helper.data, ref helper.featureStripTool));
-
-
- // ShadowsKeepOffVariants
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants);
- TestHelper.s_PassKeywords = additionalLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightShadows };
- TestHelper.s_PassKeywords = additionalLightShadowKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.AdditionalLightShadows);
- TestHelper.s_PassKeywords = additionalLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLightShadows(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ShadowsKeepOffVariants | ShaderFeatures.AdditionalLightShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightShadows };
- TestHelper.s_PassKeywords = additionalLightShadowKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLightShadows(ref helper.data, ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_MixedLighting(Shader shader)
- {
- TestHelper helper;
-
- // None
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MixedLighting(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MixedLightingSubtractive };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MixedLighting(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.LightmapShadowMixing };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MixedLighting(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ShadowsShadowMask };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_MixedLighting(ref helper.data));
-
- // MixedLighting
- helper = new TestHelper(shader, ShaderFeatures.MixedLighting);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MixedLighting(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.MixedLighting);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.MixedLightingSubtractive };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MixedLighting(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.MixedLighting);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.LightmapShadowMixing };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MixedLighting(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.MixedLighting);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ShadowsShadowMask };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_MixedLighting(ref helper.data));
- }
-
- public void TestStripUnusedFeatures_SoftShadows(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_SoftShadows(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.SoftShadows };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_SoftShadows(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.SoftShadows);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_SoftShadows(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.SoftShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.SoftShadows };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_SoftShadows(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.SoftShadows);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.SoftShadowsLow };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_SoftShadows(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_SoftShadowsQualityLevels(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.SoftShadowsLow };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_SoftShadowsQualityLevels(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.SoftShadowsLow);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.SoftShadowsLow };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_SoftShadowsQualityLevels(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.SoftShadowsLow);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.SoftShadowsLow};
- helper.data.stripSoftShadowQualityLevels = true;
- helper.IsTrue(helper.stripper.StripUnusedFeatures_SoftShadowsQualityLevels(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.SoftShadowsLow);
- helper.data.stripSoftShadowQualityLevels = true;
- helper.IsTrue(helper.stripper.StripUnusedFeatures_SoftShadowsQualityLevels(ref helper.data, ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_HDRGrading(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_HDRGrading(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.HDRGrading };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_HDRGrading(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.HdrGrading);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_HDRGrading(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.HdrGrading);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.HDRGrading };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_HDRGrading(ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_UseFastSRGBLinearConversion(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_UseFastSRGBLinearConversion(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.UseFastSRGBLinearConversion };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_UseFastSRGBLinearConversion(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.UseFastSRGBLinearConversion);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_UseFastSRGBLinearConversion(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.UseFastSRGBLinearConversion);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.UseFastSRGBLinearConversion };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_UseFastSRGBLinearConversion(ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_LightLayers(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_LightLayers(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.LightLayers };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_LightLayers(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.LightLayers);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_LightLayers(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.LightLayers);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.LightLayers };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_LightLayers(ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_RenderPassEnabled(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_RenderPassEnabled(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.RenderPassEnabled };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_RenderPassEnabled(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.RenderPassEnabled);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_RenderPassEnabled(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.RenderPassEnabled);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.RenderPassEnabled };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_RenderPassEnabled(ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_ReflectionProbes(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ReflectionProbes(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ReflectionProbeBlending };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_ReflectionProbes(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ReflectionProbeBoxProjection };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_ReflectionProbes(ref helper.featureStripTool));
-
-
- helper = new TestHelper(shader, ShaderFeatures.ReflectionProbeBlending);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ReflectionProbes(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ReflectionProbeBlending);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ReflectionProbeBlending };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ReflectionProbes(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ReflectionProbeBlending);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ReflectionProbeBoxProjection };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_ReflectionProbes(ref helper.featureStripTool));
-
-
- helper = new TestHelper(shader, ShaderFeatures.ReflectionProbeBoxProjection);
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ReflectionProbes(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ReflectionProbeBoxProjection);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ReflectionProbeBlending };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_ReflectionProbes(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ReflectionProbeBoxProjection);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ReflectionProbeBoxProjection };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ReflectionProbes(ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_ForwardPlus(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.ForwardPlus };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ForwardPlus(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ForwardPlus };
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.ForwardPlus };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_ForwardPlus(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ForwardPlus);
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.ForwardPlus };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_ForwardPlus(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ForwardPlus);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ForwardPlus };
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.ForwardPlus };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ForwardPlus(ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_AdditionalLights(Shader shader)
- {
- TestHelper helper;
- List<string> additionalLightKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsVertex, ShaderKeywordStrings.AdditionalLightsPixel };
-
- // None
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsVertex };
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsPixel };
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- // AdditionalLightsVertex
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsVertex);
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsVertex);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsVertex };
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsVertex);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsPixel };
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- // AdditionalLightsPixel
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsPixel);
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsPixel);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsVertex };
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsPixel);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsPixel };
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
-
- // AdditionalLightsKeepOffVariants
-
- // AdditionalLightsKeepOffVariants
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsKeepOffVariants);
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsKeepOffVariants);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsVertex };
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsKeepOffVariants);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsPixel };
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- // AdditionalLightsKeepOffVariants & AdditionalLightsVertex
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsKeepOffVariants | ShaderFeatures.AdditionalLightsVertex);
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsKeepOffVariants | ShaderFeatures.AdditionalLightsVertex);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsVertex };
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsKeepOffVariants | ShaderFeatures.AdditionalLightsVertex);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsPixel };
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- // AdditionalLightsKeepOffVariants & AdditionalLightsPixel
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsKeepOffVariants | ShaderFeatures.AdditionalLightsPixel);
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsKeepOffVariants | ShaderFeatures.AdditionalLightsPixel);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsVertex };
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AdditionalLightsKeepOffVariants | ShaderFeatures.AdditionalLightsPixel);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsPixel };
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
-
- // Forward Plus
- helper = new TestHelper(shader, ShaderFeatures.ForwardPlus);
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ForwardPlus);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsVertex };
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ForwardPlus);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.AdditionalLightsPixel };
- TestHelper.s_PassKeywords = additionalLightKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AdditionalLights(ref helper.data, ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_ScreenSpaceOcclusion(Shader shader)
- {
- TestHelper helper;
-
- // None
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.ScreenSpaceOcclusion};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ScreenSpaceOcclusion(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ScreenSpaceOcclusion };
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.ScreenSpaceOcclusion};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_ScreenSpaceOcclusion(ref helper.data, ref helper.featureStripTool));
-
- // ScreenSpaceOcclusion
- helper = new TestHelper(shader, ShaderFeatures.ScreenSpaceOcclusion);
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.ScreenSpaceOcclusion};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_ScreenSpaceOcclusion(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ScreenSpaceOcclusion);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ScreenSpaceOcclusion };
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.ScreenSpaceOcclusion};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ScreenSpaceOcclusion(ref helper.data, ref helper.featureStripTool));
-
- // After Opaque..
- helper = new TestHelper(shader, ShaderFeatures.ScreenSpaceOcclusionAfterOpaque);
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.ScreenSpaceOcclusion};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ScreenSpaceOcclusion(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ScreenSpaceOcclusionAfterOpaque);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ScreenSpaceOcclusion };
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.ScreenSpaceOcclusion};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_ScreenSpaceOcclusion(ref helper.data, ref helper.featureStripTool));
-
- // ScreenSpaceOcclusion
- helper = new TestHelper(shader, ShaderFeatures.ScreenSpaceOcclusionAfterOpaque | ShaderFeatures.ScreenSpaceOcclusion);
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.ScreenSpaceOcclusion};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ScreenSpaceOcclusion(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ScreenSpaceOcclusionAfterOpaque | ShaderFeatures.ScreenSpaceOcclusion);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ScreenSpaceOcclusion };
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.ScreenSpaceOcclusion};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ScreenSpaceOcclusion(ref helper.data, ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_DecalsDbuffer(Shader shader)
- {
- TestHelper helper;
- List<string> passKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1, ShaderKeywordStrings.DBufferMRT2, ShaderKeywordStrings.DBufferMRT3};
-
- // No Features + Not GL Device
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT2};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1, ShaderKeywordStrings.DBufferMRT2};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1, ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT2, ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- // DBufferMRT1 + Not GL Device
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT1);
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT1);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT1);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT2};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT1);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT1);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1, ShaderKeywordStrings.DBufferMRT2};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT1);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1, ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT1);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT2, ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- // DBufferMRT2 + Not GL Device
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT2);
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT2);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT2);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT2};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT2);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT2);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1, ShaderKeywordStrings.DBufferMRT2};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT2);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1, ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT2);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT2, ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- // DBufferMRT3 + Not GL Device
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT3);
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT3);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT3);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT2};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT3);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT3);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1, ShaderKeywordStrings.DBufferMRT2};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT3);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1, ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DBufferMRT3);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT2, ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- // No Features + GL Device
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.isGLDevice = true;
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.isGLDevice = true;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.isGLDevice = true;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT2};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.isGLDevice = true;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.isGLDevice = true;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1, ShaderKeywordStrings.DBufferMRT2};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.isGLDevice = true;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT1, ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.isGLDevice = true;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DBufferMRT2, ShaderKeywordStrings.DBufferMRT3};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsDbuffer(ref helper.data, ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_DecalsNormalBlend(Shader shader)
- {
- TestHelper helper;
- List<string> passKeywords = new List<string>() {ShaderKeywordStrings.DecalNormalBlendLow, ShaderKeywordStrings.DecalNormalBlendMedium, ShaderKeywordStrings.DecalNormalBlendHigh};
-
- // ShaderFeatures.None
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalNormalBlendLow};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalNormalBlendMedium};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalNormalBlendHigh};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- // ShaderFeatures.DecalNormalBlendLow
- helper = new TestHelper(shader, ShaderFeatures.DecalNormalBlendLow);
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalNormalBlendLow);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalNormalBlendLow};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalNormalBlendLow);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalNormalBlendMedium};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalNormalBlendLow);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalNormalBlendHigh};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- // ShaderFeatures.DecalNormalBlendMedium
- helper = new TestHelper(shader, ShaderFeatures.DecalNormalBlendMedium);
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalNormalBlendMedium);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalNormalBlendLow};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalNormalBlendMedium);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalNormalBlendMedium};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalNormalBlendMedium);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalNormalBlendHigh};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- // ShaderFeatures.DecalNormalBlendHigh
- helper = new TestHelper(shader, ShaderFeatures.DecalNormalBlendHigh);
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalNormalBlendHigh);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalNormalBlendLow};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalNormalBlendHigh);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalNormalBlendMedium};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalNormalBlendHigh);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalNormalBlendHigh};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DecalsNormalBlend(ref helper.data, ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_DecalLayers(Shader shader)
- {
- TestHelper helper;
-
- // Not GL Device
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.DecalLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DecalLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.DecalLayers};
- helper.AreEqual(shader != null,helper.stripper.StripUnusedFeatures_DecalLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalLayers);
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.DecalLayers};
- helper.AreEqual(shader != null,helper.stripper.StripUnusedFeatures_DecalLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalLayers);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.DecalLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DecalLayers(ref helper.data, ref helper.featureStripTool));
-
- // GL Device
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.isGLDevice = true;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.DecalLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DecalLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.isGLDevice = true;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.DecalLayers};
- helper.AreEqual(shader != null,helper.stripper.StripUnusedFeatures_DecalLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalLayers);
- helper.data.isGLDevice = true;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.DecalLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_DecalLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.DecalLayers);
- helper.data.isGLDevice = true;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.DecalLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.DecalLayers};
- helper.AreEqual(shader != null,helper.stripper.StripUnusedFeatures_DecalLayers(ref helper.data, ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_WriteRenderingLayers(Shader shader)
- {
- TestHelper helper;
-
- // No Features + Not GL Device
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = ShaderScriptableStripper.kPassNameDepthNormals;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = ShaderScriptableStripper.kPassNameDepthNormals;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = ShaderScriptableStripper.kPassNameForwardLit;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = ShaderScriptableStripper.kPassNameForwardLit;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = ShaderScriptableStripper.kPassNameGBuffer;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.passName = ShaderScriptableStripper.kPassNameGBuffer;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- // OpaqueWriteRenderingLayers + Not GL Device
- helper = new TestHelper(shader, ShaderFeatures.OpaqueWriteRenderingLayers);
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.OpaqueWriteRenderingLayers);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.OpaqueWriteRenderingLayers);
- helper.data.passName = ShaderScriptableStripper.kPassNameDepthNormals;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.OpaqueWriteRenderingLayers);
- helper.data.passName = ShaderScriptableStripper.kPassNameDepthNormals;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.OpaqueWriteRenderingLayers);
- helper.data.passName = ShaderScriptableStripper.kPassNameForwardLit;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.OpaqueWriteRenderingLayers);
- helper.data.passName = ShaderScriptableStripper.kPassNameForwardLit;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.OpaqueWriteRenderingLayers);
- helper.data.passName = ShaderScriptableStripper.kPassNameGBuffer;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.OpaqueWriteRenderingLayers);
- helper.data.passName = ShaderScriptableStripper.kPassNameGBuffer;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- // GBufferWriteRenderingLayers + Not GL Device
- helper = new TestHelper(shader, ShaderFeatures.GBufferWriteRenderingLayers);
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.GBufferWriteRenderingLayers);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.GBufferWriteRenderingLayers);
- helper.data.passName = ShaderScriptableStripper.kPassNameDepthNormals;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.GBufferWriteRenderingLayers);
- helper.data.passName = ShaderScriptableStripper.kPassNameDepthNormals;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.GBufferWriteRenderingLayers);
- helper.data.passName = ShaderScriptableStripper.kPassNameForwardLit;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.GBufferWriteRenderingLayers);
- helper.data.passName = ShaderScriptableStripper.kPassNameForwardLit;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.GBufferWriteRenderingLayers);
- helper.data.passName = ShaderScriptableStripper.kPassNameGBuffer;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.GBufferWriteRenderingLayers);
- helper.data.passName = ShaderScriptableStripper.kPassNameGBuffer;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
-
- // GL Device
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.isGLDevice = true;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.isGLDevice = true;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings.WriteRenderingLayers};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_WriteRenderingLayers(ref helper.data, ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_AccurateGbufferNormals(Shader shader)
- {
- TestHelper helper;
-
- // Not Vulkan
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.shaderCompilerPlatform = ShaderCompilerPlatform.None;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings._GBUFFER_NORMALS_OCT};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AccurateGbufferNormals(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.shaderCompilerPlatform = ShaderCompilerPlatform.None;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings._GBUFFER_NORMALS_OCT};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings._GBUFFER_NORMALS_OCT};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AccurateGbufferNormals(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AccurateGbufferNormals);
- helper.data.shaderCompilerPlatform = ShaderCompilerPlatform.None;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings._GBUFFER_NORMALS_OCT};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AccurateGbufferNormals(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AccurateGbufferNormals);
- helper.data.shaderCompilerPlatform = ShaderCompilerPlatform.None;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings._GBUFFER_NORMALS_OCT};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings._GBUFFER_NORMALS_OCT};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AccurateGbufferNormals(ref helper.data, ref helper.featureStripTool));
-
- // Vulkan
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.shaderCompilerPlatform = ShaderCompilerPlatform.Vulkan;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings._GBUFFER_NORMALS_OCT};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AccurateGbufferNormals(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.data.shaderCompilerPlatform = ShaderCompilerPlatform.Vulkan;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings._GBUFFER_NORMALS_OCT};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings._GBUFFER_NORMALS_OCT};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AccurateGbufferNormals(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AccurateGbufferNormals);
- helper.data.shaderCompilerPlatform = ShaderCompilerPlatform.Vulkan;
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings._GBUFFER_NORMALS_OCT};
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_AccurateGbufferNormals(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.AccurateGbufferNormals);
- helper.data.shaderCompilerPlatform = ShaderCompilerPlatform.Vulkan;
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings._GBUFFER_NORMALS_OCT};
- TestHelper.s_PassKeywords = new List<string>() {ShaderKeywordStrings._GBUFFER_NORMALS_OCT};
- helper.IsFalse(helper.stripper.StripUnusedFeatures_AccurateGbufferNormals(ref helper.data, ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_LightCookies(Shader shader)
- {
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.LightCookies };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_LightCookies(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.LightCookies };
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.LightCookies };
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_LightCookies(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.LightCookies);
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.LightCookies };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_LightCookies(ref helper.data, ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.LightCookies);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.LightCookies };
- TestHelper.s_PassKeywords = new List<string>() { ShaderKeywordStrings.LightCookies };
- helper.IsFalse(helper.stripper.StripUnusedFeatures_LightCookies(ref helper.data, ref helper.featureStripTool));
- }
-
- public void TestStripUnusedFeatures_ProbesVolumes(Shader shader)
- {
- TestHelper helper;
- List<string> passKeywords = new List<string>() { ShaderKeywordStrings.ProbeVolumeL1, ShaderKeywordStrings.ProbeVolumeL2 };
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ProbesVolumes(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ProbeVolumeL1 };
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_ProbesVolumes(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ProbeVolumeL2 };
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_ProbesVolumes(ref helper.featureStripTool));
-
- // L1 Enabled
- helper = new TestHelper(shader, ShaderFeatures.ProbeVolumeL1);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ProbesVolumes(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ProbeVolumeL1);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ProbeVolumeL1 };
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ProbesVolumes(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ProbeVolumeL1);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ProbeVolumeL2 };
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_ProbesVolumes(ref helper.featureStripTool));
-
- // L2 Enabled
- helper = new TestHelper(shader, ShaderFeatures.ProbeVolumeL2);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ProbesVolumes(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ProbeVolumeL2);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ProbeVolumeL1 };
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(shader != null, helper.stripper.StripUnusedFeatures_ProbesVolumes(ref helper.featureStripTool));
-
- helper = new TestHelper(shader, ShaderFeatures.ProbeVolumeL2);
- TestHelper.s_EnabledKeywords = new List<string>() { ShaderKeywordStrings.ProbeVolumeL2 };
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripUnusedFeatures_ProbesVolumes(ref helper.featureStripTool));
- }
-
-
- [TestCase(null)]
- [TestCase("")]
- [TestCase("Hidden/Universal Render Pipeline/UberPost")]
- [TestCase("Hidden/Universal Render Pipeline/BokehDepthOfField")]
- [TestCase("Hidden/Universal Render Pipeline/GaussianDepthOfField")]
- [TestCase("Hidden/Universal Render Pipeline/CameraMotionBlur")]
- [TestCase("Hidden/Universal Render Pipeline/PaniniProjection")]
- [TestCase("Hidden/Universal Render Pipeline/Bloom")]
- public void TestStripVolumeFeatures(string shaderName)
- {
- Shader shader = Shader.Find(shaderName);
- TestStripVolumeFeatures_UberPostShader(shader);
- TestStripVolumeFeatures_BokehDepthOfFieldShader(shader);
- TestStripVolumeFeatures_GaussianDepthOfFieldShader(shader);
- TestStripVolumeFeatures_CameraMotionBlurShader(shader);
- TestStripVolumeFeatures_PaniniProjectionShader(shader);
- TestStripVolumeFeatures_BloomShader(shader);
- }
-
- public void TestStripVolumeFeatures_UberPostShader(Shader shader)
- {
- bool isCorrectShader = shader == Shader.Find("Hidden/Universal Render Pipeline/UberPost");
- TestHelper helper;
- List<string> passKeywords = new List<string>()
- {
- ShaderKeywordStrings.Distortion,
- ShaderKeywordStrings.ChromaticAberration,
- ShaderKeywordStrings.BloomLQ,
- ShaderKeywordStrings.BloomHQ,
- ShaderKeywordStrings.BloomLQDirt,
- ShaderKeywordStrings.BloomHQDirt,
- ShaderKeywordStrings.TonemapACES,
- ShaderKeywordStrings.TonemapNeutral,
- ShaderKeywordStrings.FilmGrain,
- };
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- // Lens Distortion
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.Distortion};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(isCorrectShader, helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:VolumeFeatures.LensDistortion);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:VolumeFeatures.LensDistortion);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.Distortion};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- // Chromatic Aberration
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.ChromaticAberration};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(isCorrectShader, helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:VolumeFeatures.ChromaticAberration);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:VolumeFeatures.ChromaticAberration);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.ChromaticAberration};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- // Bloom LQ
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.BloomLQ};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(isCorrectShader, helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:TestHelper.s_AllBloomFeatures);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:TestHelper.s_AllBloomFeatures);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.BloomLQ};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- // Bloom HQ
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.BloomHQ};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(isCorrectShader, helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:TestHelper.s_AllBloomFeatures);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:TestHelper.s_AllBloomFeatures);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.BloomHQ};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- // Bloom LQ Dirt
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.BloomLQDirt};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(isCorrectShader, helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:TestHelper.s_AllBloomFeatures);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:TestHelper.s_AllBloomFeatures);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.BloomLQDirt};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- // Bloom HQ Dirt
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.BloomHQDirt};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(isCorrectShader, helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:TestHelper.s_AllBloomFeatures);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:TestHelper.s_AllBloomFeatures);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.BloomHQDirt};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- // Tonemap ACES
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.TonemapACES};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(isCorrectShader, helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:VolumeFeatures.ToneMapping);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:VolumeFeatures.ToneMapping);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.TonemapACES};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- // Tonemap Neutral
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.TonemapNeutral};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(isCorrectShader, helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:VolumeFeatures.ToneMapping);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:VolumeFeatures.ToneMapping);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.TonemapNeutral};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- // Film Grain
- helper = new TestHelper(shader, ShaderFeatures.None);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.FilmGrain};
- TestHelper.s_PassKeywords = passKeywords;
- helper.AreEqual(isCorrectShader, helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:VolumeFeatures.FilmGrain);
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:VolumeFeatures.FilmGrain);
- TestHelper.s_EnabledKeywords = new List<string>() {ShaderKeywordStrings.FilmGrain};
- TestHelper.s_PassKeywords = passKeywords;
- helper.IsFalse(helper.stripper.StripVolumeFeatures_UberPostShader(ref helper.data));
- }
-
- public void TestStripVolumeFeatures_BokehDepthOfFieldShader(Shader shader)
- {
- bool isCorrectShader = shader == Shader.Find("Hidden/Universal Render Pipeline/BokehDepthOfField");
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.AreEqual(isCorrectShader, helper.stripper.StripVolumeFeatures_BokehDepthOfFieldShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:VolumeFeatures.DepthOfField);
- helper.IsFalse(helper.stripper.StripVolumeFeatures_BokehDepthOfFieldShader(ref helper.data));
- }
-
- public void TestStripVolumeFeatures_GaussianDepthOfFieldShader(Shader shader)
- {
- bool isCorrectShader = shader == Shader.Find("Hidden/Universal Render Pipeline/GaussianDepthOfField");
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.AreEqual(isCorrectShader, helper.stripper.StripVolumeFeatures_GaussianDepthOfFieldShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:VolumeFeatures.DepthOfField);
- helper.IsFalse(helper.stripper.StripVolumeFeatures_GaussianDepthOfFieldShader(ref helper.data));
- }
-
- public void TestStripVolumeFeatures_CameraMotionBlurShader(Shader shader)
- {
- bool isCorrectShader = shader == Shader.Find("Hidden/Universal Render Pipeline/CameraMotionBlur");
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.AreEqual(isCorrectShader, helper.stripper.StripVolumeFeatures_CameraMotionBlurShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:VolumeFeatures.CameraMotionBlur);
- helper.IsFalse(helper.stripper.StripVolumeFeatures_CameraMotionBlurShader(ref helper.data));
- }
-
- public void TestStripVolumeFeatures_PaniniProjectionShader(Shader shader)
- {
- bool isCorrectShader = shader == Shader.Find("Hidden/Universal Render Pipeline/PaniniProjection");
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.AreEqual(isCorrectShader, helper.stripper.StripVolumeFeatures_PaniniProjectionShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:VolumeFeatures.PaniniProjection);
- helper.IsFalse(helper.stripper.StripVolumeFeatures_PaniniProjectionShader(ref helper.data));
- }
-
- public void TestStripVolumeFeatures_BloomShader(Shader shader)
- {
- bool isCorrectShader = shader == Shader.Find("Hidden/Universal Render Pipeline/Bloom");
- TestHelper helper;
-
- helper = new TestHelper(shader, ShaderFeatures.None);
- helper.AreEqual(isCorrectShader, helper.stripper.StripVolumeFeatures_BloomShader(ref helper.data));
-
- helper = new TestHelper(shader, ShaderFeatures.None, volumeFeatures:TestHelper.s_AllBloomFeatures);
- helper.IsFalse(helper.stripper.StripVolumeFeatures_BloomShader(ref helper.data));
- }
- }
- }
|