test(rendering): prove managed forward pipeline scene render path
This commit is contained in:
@@ -29,6 +29,27 @@ namespace Gameplay
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ManagedForwardRenderPipelineProbeAsset
|
||||
: ScriptableRenderPipelineAsset
|
||||
{
|
||||
public static int CreatePipelineCallCount;
|
||||
|
||||
protected override ScriptableRenderPipeline CreatePipeline()
|
||||
{
|
||||
CreatePipelineCallCount++;
|
||||
return new ManagedForwardRenderPipelineProbe();
|
||||
}
|
||||
|
||||
protected override void ConfigureCameraFramePlan(
|
||||
ScriptableRenderPipelinePlanningContext context)
|
||||
{
|
||||
context.ClearPostProcessStage();
|
||||
context.RequestPostProcessStage(
|
||||
CameraFrameColorSource.MainSceneColor,
|
||||
false);
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ManagedPlannedFullscreenRenderPipelineProbeAsset
|
||||
: ScriptableRenderPipelineAsset
|
||||
{
|
||||
@@ -124,6 +145,64 @@ namespace Gameplay
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ManagedForwardRenderPipelineProbe
|
||||
: ScriptableRenderPipeline
|
||||
{
|
||||
public static int SupportsMainSceneCallCount;
|
||||
public static int SupportsPostProcessCallCount;
|
||||
public static int RecordMainSceneCallCount;
|
||||
public static int RecordBuiltinForwardMainSceneCallCount;
|
||||
public static int RecordPostProcessCallCount;
|
||||
|
||||
protected override bool SupportsStageRenderGraph(
|
||||
CameraFrameStage stage)
|
||||
{
|
||||
if (stage == CameraFrameStage.MainScene)
|
||||
{
|
||||
SupportsMainSceneCallCount++;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (stage == CameraFrameStage.PostProcess)
|
||||
{
|
||||
SupportsPostProcessCallCount++;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
protected override bool RecordStageRenderGraph(
|
||||
ScriptableRenderContext context)
|
||||
{
|
||||
if (context == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (context.stage == CameraFrameStage.MainScene)
|
||||
{
|
||||
RecordMainSceneCallCount++;
|
||||
bool recorded = context.RecordBuiltinForwardMainScene();
|
||||
if (recorded)
|
||||
{
|
||||
RecordBuiltinForwardMainSceneCallCount++;
|
||||
}
|
||||
|
||||
return recorded;
|
||||
}
|
||||
|
||||
if (context.stage == CameraFrameStage.PostProcess)
|
||||
{
|
||||
RecordPostProcessCallCount++;
|
||||
return context.RecordBuiltinColorScaleFullscreenPass(
|
||||
new Vector4(1.03f, 0.98f, 0.94f, 1.0f));
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ManagedPlannedFullscreenRenderPipelineProbe
|
||||
: ScriptableRenderPipeline
|
||||
{
|
||||
@@ -192,4 +271,43 @@ namespace Gameplay
|
||||
typeof(ManagedRenderPipelineProbeAsset);
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ManagedForwardRenderPipelineRuntimeSelectionProbe
|
||||
: MonoBehaviour
|
||||
{
|
||||
public int ObservedCreatePipelineCallCount;
|
||||
public int ObservedSupportsMainSceneCallCount;
|
||||
public int ObservedSupportsPostProcessCallCount;
|
||||
public int ObservedRecordMainSceneCallCount;
|
||||
public int ObservedRecordBuiltinForwardMainSceneCallCount;
|
||||
public int ObservedRecordPostProcessCallCount;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
ManagedForwardRenderPipelineProbeAsset.CreatePipelineCallCount = 0;
|
||||
ManagedForwardRenderPipelineProbe.SupportsMainSceneCallCount = 0;
|
||||
ManagedForwardRenderPipelineProbe.SupportsPostProcessCallCount = 0;
|
||||
ManagedForwardRenderPipelineProbe.RecordMainSceneCallCount = 0;
|
||||
ManagedForwardRenderPipelineProbe.RecordBuiltinForwardMainSceneCallCount = 0;
|
||||
ManagedForwardRenderPipelineProbe.RecordPostProcessCallCount = 0;
|
||||
GraphicsSettings.renderPipelineAssetType =
|
||||
typeof(ManagedForwardRenderPipelineProbeAsset);
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
ObservedCreatePipelineCallCount =
|
||||
ManagedForwardRenderPipelineProbeAsset.CreatePipelineCallCount;
|
||||
ObservedSupportsMainSceneCallCount =
|
||||
ManagedForwardRenderPipelineProbe.SupportsMainSceneCallCount;
|
||||
ObservedSupportsPostProcessCallCount =
|
||||
ManagedForwardRenderPipelineProbe.SupportsPostProcessCallCount;
|
||||
ObservedRecordMainSceneCallCount =
|
||||
ManagedForwardRenderPipelineProbe.RecordMainSceneCallCount;
|
||||
ObservedRecordBuiltinForwardMainSceneCallCount =
|
||||
ManagedForwardRenderPipelineProbe.RecordBuiltinForwardMainSceneCallCount;
|
||||
ObservedRecordPostProcessCallCount =
|
||||
ManagedForwardRenderPipelineProbe.RecordPostProcessCallCount;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user