File tree Expand file tree Collapse file tree 3 files changed +18
-2
lines changed
Packages/com.unity.render-pipelines.core
Runtime/RenderGraph/Compiler Expand file tree Collapse file tree 3 files changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -901,6 +901,10 @@ void DetectMemoryLessResources()
901901 {
902902 using ( new ProfilingScope ( ProfilingSampler . Get ( NativeCompilerProfileId . NRPRGComp_DetectMemorylessResources ) ) )
903903 {
904+ // No need to go further if we don't support memoryless textures
905+ if ( ! SystemInfo . supportsMemorylessTextures )
906+ return ;
907+
904908 // Native renderpasses and create/destroy lists have now been set-up. Detect memoryless resources, i.e resources that are created/destroyed
905909 // within the scope of an nrp
906910 foreach ( ref readonly var nativePass in contextData . NativePasses )
Original file line number Diff line number Diff line change @@ -854,7 +854,7 @@ public void MemorylessWorks()
854854 Assert . AreEqual ( 2 , firstUsed . Count ) ;
855855 Assert . AreEqual ( renderTargets . extraTextures [ 0 ] . handle . index , firstUsed [ 1 ] . index ) ;
856856 ref var info = ref result . contextData . UnversionedResourceData ( firstUsed [ 1 ] ) ;
857- Assert . AreEqual ( true , info . memoryLess ) ;
857+ Assert . AreEqual ( SystemInfo . supportsMemorylessTextures , info . memoryLess ) ;
858858
859859 // Pass 1 : last used = {depthBuffer, extraTextures[0], backBuffer}
860860 List < ResourceHandle > lastUsed = new List < ResourceHandle > ( ) ;
Original file line number Diff line number Diff line change 66using UnityEngine . TestTools ;
77using Unity . Collections ;
88using UnityEngine . Rendering . RendererUtils ;
9+ using System . Text . RegularExpressions ;
910
1011#if UNITY_EDITOR
1112using UnityEditor ;
@@ -1079,6 +1080,11 @@ public void RenderGraphMultisampledShaderResolvePassWorks()
10791080 {
10801081 m_RenderGraphTestPipeline . recordRenderGraphBody = ( context , camera , cmd ) =>
10811082 {
1083+ if ( ! SystemInfo . supportsMultisampledShaderResolve )
1084+ {
1085+ return ; // Skip the test if the platform does not support multisampled shader resolve
1086+ }
1087+
10821088 var colorTexDesc = new TextureDesc ( Vector2 . one , false , false )
10831089 {
10841090 width = 4 ,
@@ -2023,8 +2029,14 @@ public void CastToRTHandle_WithMemorylessResource()
20232029 transientColorRTHandle = ( RTHandle ) data . transientColorOutputHandle ;
20242030 } ) ;
20252031
2032+ if ( ! SystemInfo . supportsMemorylessTextures )
2033+ {
2034+ Assert . IsTrue ( createdDepthRTHandle . rt . memorylessMode == RenderTextureMemoryless . None ) ;
2035+ Assert . IsTrue ( createdColorRTHandle . rt . memorylessMode == RenderTextureMemoryless . None ) ;
2036+ Assert . IsTrue ( transientColorRTHandle . rt . memorylessMode == RenderTextureMemoryless . None ) ;
2037+ }
20262038 // And let's make sure that the RTHandles are memoryless, i.e. no memory is allocated in system memory
2027- if ( msaaSamples != MSAASamples . None )
2039+ else if ( msaaSamples != MSAASamples . None )
20282040 {
20292041 Assert . IsTrue ( createdDepthRTHandle . rt . memorylessMode == ( RenderTextureMemoryless . Depth | RenderTextureMemoryless . MSAA ) ) ;
20302042 Assert . IsTrue ( createdColorRTHandle . rt . memorylessMode == ( RenderTextureMemoryless . Color | RenderTextureMemoryless . MSAA ) ) ;
You can’t perform that action at this time.
0 commit comments