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()
901
901
{
902
902
using ( new ProfilingScope ( ProfilingSampler . Get ( NativeCompilerProfileId . NRPRGComp_DetectMemorylessResources ) ) )
903
903
{
904
+ // No need to go further if we don't support memoryless textures
905
+ if ( ! SystemInfo . supportsMemorylessTextures )
906
+ return ;
907
+
904
908
// Native renderpasses and create/destroy lists have now been set-up. Detect memoryless resources, i.e resources that are created/destroyed
905
909
// within the scope of an nrp
906
910
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()
854
854
Assert . AreEqual ( 2 , firstUsed . Count ) ;
855
855
Assert . AreEqual ( renderTargets . extraTextures [ 0 ] . handle . index , firstUsed [ 1 ] . index ) ;
856
856
ref var info = ref result . contextData . UnversionedResourceData ( firstUsed [ 1 ] ) ;
857
- Assert . AreEqual ( true , info . memoryLess ) ;
857
+ Assert . AreEqual ( SystemInfo . supportsMemorylessTextures , info . memoryLess ) ;
858
858
859
859
// Pass 1 : last used = {depthBuffer, extraTextures[0], backBuffer}
860
860
List < ResourceHandle > lastUsed = new List < ResourceHandle > ( ) ;
Original file line number Diff line number Diff line change 6
6
using UnityEngine . TestTools ;
7
7
using Unity . Collections ;
8
8
using UnityEngine . Rendering . RendererUtils ;
9
+ using System . Text . RegularExpressions ;
9
10
10
11
#if UNITY_EDITOR
11
12
using UnityEditor ;
@@ -1079,6 +1080,11 @@ public void RenderGraphMultisampledShaderResolvePassWorks()
1079
1080
{
1080
1081
m_RenderGraphTestPipeline . recordRenderGraphBody = ( context , camera , cmd ) =>
1081
1082
{
1083
+ if ( ! SystemInfo . supportsMultisampledShaderResolve )
1084
+ {
1085
+ return ; // Skip the test if the platform does not support multisampled shader resolve
1086
+ }
1087
+
1082
1088
var colorTexDesc = new TextureDesc ( Vector2 . one , false , false )
1083
1089
{
1084
1090
width = 4 ,
@@ -2023,8 +2029,14 @@ public void CastToRTHandle_WithMemorylessResource()
2023
2029
transientColorRTHandle = ( RTHandle ) data . transientColorOutputHandle ;
2024
2030
} ) ;
2025
2031
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
+ }
2026
2038
// 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 )
2028
2040
{
2029
2041
Assert . IsTrue ( createdDepthRTHandle . rt . memorylessMode == ( RenderTextureMemoryless . Depth | RenderTextureMemoryless . MSAA ) ) ;
2030
2042
Assert . IsTrue ( createdColorRTHandle . rt . memorylessMode == ( RenderTextureMemoryless . Color | RenderTextureMemoryless . MSAA ) ) ;
You can’t perform that action at this time.
0 commit comments