diff --git a/managed/CMakeLists.txt b/managed/CMakeLists.txt index 36b731a9..bd3f850d 100644 --- a/managed/CMakeLists.txt +++ b/managed/CMakeLists.txt @@ -200,10 +200,8 @@ set(XCENGINE_SCRIPT_CORE_SOURCES set(XCENGINE_RENDER_PIPELINES_UNIVERSAL_SOURCES # Rendering renderer model ${CMAKE_CURRENT_SOURCE_DIR}/XCEngine.ScriptCore/Rendering/Renderer/RenderingData.cs - ${CMAKE_CURRENT_SOURCE_DIR}/XCEngine.ScriptCore/Rendering/Renderer/RendererCameraRequestContext.cs ${CMAKE_CURRENT_SOURCE_DIR}/XCEngine.ScriptCore/Rendering/Renderer/RendererBackedRenderPipeline.cs ${CMAKE_CURRENT_SOURCE_DIR}/XCEngine.ScriptCore/Rendering/Renderer/RendererBackedRenderPipelineAsset.cs - ${CMAKE_CURRENT_SOURCE_DIR}/XCEngine.ScriptCore/Rendering/Renderer/RendererRecordingContext.cs ${CMAKE_CURRENT_SOURCE_DIR}/XCEngine.ScriptCore/Rendering/Renderer/RendererDrivenRenderPipeline.cs ${CMAKE_CURRENT_SOURCE_DIR}/XCEngine.ScriptCore/Rendering/Renderer/RenderPassEvent.cs ${CMAKE_CURRENT_SOURCE_DIR}/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRenderPass.cs diff --git a/managed/GameScripts/RenderPipelineApiProbe.cs b/managed/GameScripts/RenderPipelineApiProbe.cs index ec77f2a5..8f5772ce 100644 --- a/managed/GameScripts/RenderPipelineApiProbe.cs +++ b/managed/GameScripts/RenderPipelineApiProbe.cs @@ -33,18 +33,18 @@ namespace Gameplay internal sealed class SceneInjectionPass : ScriptableRenderPass { - private readonly Func m_recordAction; + private readonly Func m_recordAction; public SceneInjectionPass( RenderPassEvent passEvent, - Func recordAction) + Func recordAction) { renderPassEvent = passEvent; m_recordAction = recordAction; } protected override bool RecordRenderGraph( - RendererRecordingContext context, + ScriptableRenderContext context, RenderingData renderingData) { return context != null && @@ -57,12 +57,12 @@ namespace Gameplay internal sealed class ScenePhasePass : ScriptableRenderPass { - private readonly Func m_recordAction; + private readonly Func m_recordAction; private readonly Action m_onRecorded; public ScenePhasePass( RenderPassEvent passEvent, - Func recordAction, + Func recordAction, Action onRecorded = null) { renderPassEvent = passEvent; @@ -71,7 +71,7 @@ namespace Gameplay } protected override bool RecordRenderGraph( - RendererRecordingContext context, + ScriptableRenderContext context, RenderingData renderingData) { bool recorded = context != null && @@ -90,18 +90,18 @@ namespace Gameplay internal sealed class FullscreenPass : ScriptableRenderPass { - private readonly Func m_recordAction; + private readonly Func m_recordAction; public FullscreenPass( RenderPassEvent passEvent, - Func recordAction) + Func recordAction) { renderPassEvent = passEvent; m_recordAction = recordAction; } protected override bool RecordRenderGraph( - RendererRecordingContext context, + ScriptableRenderContext context, RenderingData renderingData) { return context != null && @@ -429,7 +429,7 @@ namespace Gameplay } protected override bool RecordRenderGraph( - RendererRecordingContext context, + ScriptableRenderContext context, RenderingData renderingData) { if (context == null || @@ -660,7 +660,7 @@ namespace Gameplay } protected override bool RecordRenderGraph( - RendererRecordingContext context, + ScriptableRenderContext context, RenderingData renderingData) { if (context == null || @@ -809,7 +809,7 @@ namespace Gameplay } protected override void ConfigureCameraRenderRequest( - RendererCameraRequestContext context) + ScriptableRenderPipelineCameraRequestContext context) { if (context != null && context.hasDirectionalShadow) diff --git a/managed/GameScripts/ScriptableRenderContextApiSurfaceProbe.cs b/managed/GameScripts/ScriptableRenderContextApiSurfaceProbe.cs index 9a595ab0..19686c36 100644 --- a/managed/GameScripts/ScriptableRenderContextApiSurfaceProbe.cs +++ b/managed/GameScripts/ScriptableRenderContextApiSurfaceProbe.cs @@ -1,7 +1,6 @@ using System.Reflection; using XCEngine; using XCEngine.Rendering; -using XCEngine.Rendering.Renderer; namespace Gameplay { @@ -12,12 +11,10 @@ namespace Gameplay public bool HasPublicContextRecordOpaqueScenePhase; public bool HasPublicContextRecordBeforeOpaqueInjection; public bool HasPublicContextRecordShaderVectorFullscreenPass; - public bool HasPublicRendererRecordOpaqueScenePhase; - public bool HasPublicRendererRecordShaderVectorFullscreenPass; public bool HasPublicCameraRequestContextHasDirectionalShadow; public bool HasPublicCameraRequestContextClearDirectionalShadow; - public bool HasPublicRendererCameraRequestContextHasDirectionalShadow; - public bool HasPublicRendererCameraRequestContextClearDirectionalShadow; + public bool HasRendererRecordingContextType; + public bool HasRendererCameraRequestContextType; public void Start() { @@ -25,12 +22,8 @@ namespace Gameplay BindingFlags.Instance | BindingFlags.Public; System.Type contextType = typeof(ScriptableRenderContext); - System.Type rendererContextType = - typeof(RendererRecordingContext); System.Type cameraRequestContextType = typeof(ScriptableRenderPipelineCameraRequestContext); - System.Type rendererCameraRequestContextType = - typeof(RendererCameraRequestContext); HasPublicContextRecordScene = contextType.GetMethod( @@ -48,14 +41,6 @@ namespace Gameplay contextType.GetMethod( "RecordShaderVectorFullscreenPass", PublicInstanceMethodFlags) != null; - HasPublicRendererRecordOpaqueScenePhase = - rendererContextType.GetMethod( - "RecordOpaqueScenePhase", - PublicInstanceMethodFlags) != null; - HasPublicRendererRecordShaderVectorFullscreenPass = - rendererContextType.GetMethod( - "RecordShaderVectorFullscreenPass", - PublicInstanceMethodFlags) != null; HasPublicCameraRequestContextHasDirectionalShadow = cameraRequestContextType.GetProperty( "hasDirectionalShadow", @@ -64,14 +49,12 @@ namespace Gameplay cameraRequestContextType.GetMethod( "ClearDirectionalShadow", PublicInstanceMethodFlags) != null; - HasPublicRendererCameraRequestContextHasDirectionalShadow = - rendererCameraRequestContextType.GetProperty( - "hasDirectionalShadow", - PublicInstanceMethodFlags) != null; - HasPublicRendererCameraRequestContextClearDirectionalShadow = - rendererCameraRequestContextType.GetMethod( - "ClearDirectionalShadow", - PublicInstanceMethodFlags) != null; + HasRendererRecordingContextType = + System.Type.GetType( + "XCEngine.Rendering.Renderer.RendererRecordingContext, XCEngine.RenderPipelines.Universal") != null; + HasRendererCameraRequestContextType = + System.Type.GetType( + "XCEngine.Rendering.Renderer.RendererCameraRequestContext, XCEngine.RenderPipelines.Universal") != null; } } } diff --git a/managed/XCEngine.ScriptCore/Rendering/Core/ScriptableRenderContext.cs b/managed/XCEngine.ScriptCore/Rendering/Core/ScriptableRenderContext.cs index 0b69a09d..b68c38cb 100644 --- a/managed/XCEngine.ScriptCore/Rendering/Core/ScriptableRenderContext.cs +++ b/managed/XCEngine.ScriptCore/Rendering/Core/ScriptableRenderContext.cs @@ -73,61 +73,61 @@ namespace XCEngine.Rendering m_nativeHandle); } - internal bool RecordOpaqueScenePhase() + public bool RecordOpaqueScenePhase() { return RecordScenePhaseInternal( RecordedScenePhase.Opaque); } - internal bool RecordSkyboxScenePhase() + public bool RecordSkyboxScenePhase() { return RecordScenePhaseInternal( RecordedScenePhase.Skybox); } - internal bool RecordTransparentScenePhase() + public bool RecordTransparentScenePhase() { return RecordScenePhaseInternal( RecordedScenePhase.Transparent); } - internal bool RecordBeforeOpaqueInjection() + public bool RecordBeforeOpaqueInjection() { return RecordSceneInjectionPointInternal( RecordedSceneInjectionPoint.BeforeOpaque); } - internal bool RecordAfterOpaqueInjection() + public bool RecordAfterOpaqueInjection() { return RecordSceneInjectionPointInternal( RecordedSceneInjectionPoint.AfterOpaque); } - internal bool RecordBeforeSkyboxInjection() + public bool RecordBeforeSkyboxInjection() { return RecordSceneInjectionPointInternal( RecordedSceneInjectionPoint.BeforeSkybox); } - internal bool RecordAfterSkyboxInjection() + public bool RecordAfterSkyboxInjection() { return RecordSceneInjectionPointInternal( RecordedSceneInjectionPoint.AfterSkybox); } - internal bool RecordBeforeTransparentInjection() + public bool RecordBeforeTransparentInjection() { return RecordSceneInjectionPointInternal( RecordedSceneInjectionPoint.BeforeTransparent); } - internal bool RecordAfterTransparentInjection() + public bool RecordAfterTransparentInjection() { return RecordSceneInjectionPointInternal( RecordedSceneInjectionPoint.AfterTransparent); } - internal bool RecordColorScaleFullscreenPass( + public bool RecordColorScaleFullscreenPass( Vector4 colorScale) { return RecordFullscreenPassInternal( @@ -137,7 +137,7 @@ namespace XCEngine.Rendering colorScale); } - internal bool RecordShaderVectorFullscreenPass( + public bool RecordShaderVectorFullscreenPass( string shaderPath, Vector4 vectorPayload, string passName = null) diff --git a/managed/XCEngine.ScriptCore/Rendering/Core/ScriptableRenderPipelineCameraRequestContext.cs b/managed/XCEngine.ScriptCore/Rendering/Core/ScriptableRenderPipelineCameraRequestContext.cs index 7e3b706e..76690f87 100644 --- a/managed/XCEngine.ScriptCore/Rendering/Core/ScriptableRenderPipelineCameraRequestContext.cs +++ b/managed/XCEngine.ScriptCore/Rendering/Core/ScriptableRenderPipelineCameraRequestContext.cs @@ -21,12 +21,12 @@ namespace XCEngine.Rendering .Rendering_ScriptableRenderPipelineCameraRequestContext_GetRenderedRequestCount( m_nativeHandle); - internal bool hasDirectionalShadow => + public bool hasDirectionalShadow => InternalCalls .Rendering_ScriptableRenderPipelineCameraRequestContext_GetHasDirectionalShadow( m_nativeHandle); - internal void ClearDirectionalShadow() + public void ClearDirectionalShadow() { InternalCalls .Rendering_ScriptableRenderPipelineCameraRequestContext_ClearDirectionalShadow( diff --git a/managed/XCEngine.ScriptCore/Rendering/FirstParty/ColorScalePostProcessRendererFeature.cs b/managed/XCEngine.ScriptCore/Rendering/FirstParty/ColorScalePostProcessRendererFeature.cs index 0f909bd5..d912ea6d 100644 --- a/managed/XCEngine.ScriptCore/Rendering/FirstParty/ColorScalePostProcessRendererFeature.cs +++ b/managed/XCEngine.ScriptCore/Rendering/FirstParty/ColorScalePostProcessRendererFeature.cs @@ -18,7 +18,7 @@ namespace XCEngine.Rendering.FirstParty } protected override bool RecordRenderGraph( - RendererRecordingContext context, + ScriptableRenderContext context, RenderingData renderingData) { return context != null && diff --git a/managed/XCEngine.ScriptCore/Rendering/FirstParty/DisableDirectionalShadowRendererFeature.cs b/managed/XCEngine.ScriptCore/Rendering/FirstParty/DisableDirectionalShadowRendererFeature.cs index f47a4a9d..08ec100a 100644 --- a/managed/XCEngine.ScriptCore/Rendering/FirstParty/DisableDirectionalShadowRendererFeature.cs +++ b/managed/XCEngine.ScriptCore/Rendering/FirstParty/DisableDirectionalShadowRendererFeature.cs @@ -8,7 +8,7 @@ namespace XCEngine.Rendering.FirstParty : ScriptableRendererFeature { public override void ConfigureCameraRenderRequest( - RendererCameraRequestContext context) + ScriptableRenderPipelineCameraRequestContext context) { if (context != null && context.hasDirectionalShadow) diff --git a/managed/XCEngine.ScriptCore/Rendering/FirstParty/ForwardRenderer.cs b/managed/XCEngine.ScriptCore/Rendering/FirstParty/ForwardRenderer.cs index aa0e5100..e9f6b761 100644 --- a/managed/XCEngine.ScriptCore/Rendering/FirstParty/ForwardRenderer.cs +++ b/managed/XCEngine.ScriptCore/Rendering/FirstParty/ForwardRenderer.cs @@ -7,18 +7,18 @@ namespace XCEngine.Rendering.FirstParty { internal sealed class ForwardSceneRecordingPass : ScriptableRenderPass { - private readonly Func m_recordAction; + private readonly Func m_recordAction; public ForwardSceneRecordingPass( RenderPassEvent passEvent, - Func recordAction) + Func recordAction) { renderPassEvent = passEvent; m_recordAction = recordAction; } protected override bool RecordRenderGraph( - RendererRecordingContext context, + ScriptableRenderContext context, RenderingData renderingData) { return context != null && diff --git a/managed/XCEngine.ScriptCore/Rendering/Renderer/RendererBackedRenderPipelineAsset.cs b/managed/XCEngine.ScriptCore/Rendering/Renderer/RendererBackedRenderPipelineAsset.cs index 504f3ed0..2f7454a5 100644 --- a/managed/XCEngine.ScriptCore/Rendering/Renderer/RendererBackedRenderPipelineAsset.cs +++ b/managed/XCEngine.ScriptCore/Rendering/Renderer/RendererBackedRenderPipelineAsset.cs @@ -26,10 +26,8 @@ namespace XCEngine.Rendering.Renderer ResolveRendererData(); if (rendererData != null) { - RendererCameraRequestContext rendererContext = - new RendererCameraRequestContext(context); rendererData.ConfigureCameraRenderRequestInstance( - rendererContext); + context); } } diff --git a/managed/XCEngine.ScriptCore/Rendering/Renderer/RendererCameraRequestContext.cs b/managed/XCEngine.ScriptCore/Rendering/Renderer/RendererCameraRequestContext.cs deleted file mode 100644 index 9742d182..00000000 --- a/managed/XCEngine.ScriptCore/Rendering/Renderer/RendererCameraRequestContext.cs +++ /dev/null @@ -1,39 +0,0 @@ -using XCEngine; -using XCEngine.Rendering; - -namespace XCEngine.Rendering.Renderer -{ - public sealed class RendererCameraRequestContext - { - private readonly ScriptableRenderPipelineCameraRequestContext - m_requestContext; - - internal RendererCameraRequestContext( - ScriptableRenderPipelineCameraRequestContext requestContext) - { - m_requestContext = requestContext; - } - - public int renderedBaseCameraCount => - m_requestContext != null - ? m_requestContext.renderedBaseCameraCount - : 0; - - public int renderedRequestCount => - m_requestContext != null - ? m_requestContext.renderedRequestCount - : 0; - - public bool hasDirectionalShadow => - m_requestContext != null && - m_requestContext.hasDirectionalShadow; - - public void ClearDirectionalShadow() - { - if (m_requestContext != null) - { - m_requestContext.ClearDirectionalShadow(); - } - } - } -} diff --git a/managed/XCEngine.ScriptCore/Rendering/Renderer/RendererRecordingContext.cs b/managed/XCEngine.ScriptCore/Rendering/Renderer/RendererRecordingContext.cs deleted file mode 100644 index 30e8bde3..00000000 --- a/managed/XCEngine.ScriptCore/Rendering/Renderer/RendererRecordingContext.cs +++ /dev/null @@ -1,97 +0,0 @@ -using XCEngine; -using XCEngine.Rendering; - -namespace XCEngine.Rendering.Renderer -{ - public sealed class RendererRecordingContext - { - private readonly ScriptableRenderContext m_renderContext; - - internal RendererRecordingContext( - ScriptableRenderContext renderContext) - { - m_renderContext = renderContext; - } - - public bool RecordScene() - { - return m_renderContext != null && - m_renderContext.RecordScene(); - } - - public bool RecordOpaqueScenePhase() - { - return m_renderContext != null && - m_renderContext.RecordOpaqueScenePhase(); - } - - public bool RecordSkyboxScenePhase() - { - return m_renderContext != null && - m_renderContext.RecordSkyboxScenePhase(); - } - - public bool RecordTransparentScenePhase() - { - return m_renderContext != null && - m_renderContext.RecordTransparentScenePhase(); - } - - public bool RecordBeforeOpaqueInjection() - { - return m_renderContext != null && - m_renderContext.RecordBeforeOpaqueInjection(); - } - - public bool RecordAfterOpaqueInjection() - { - return m_renderContext != null && - m_renderContext.RecordAfterOpaqueInjection(); - } - - public bool RecordBeforeSkyboxInjection() - { - return m_renderContext != null && - m_renderContext.RecordBeforeSkyboxInjection(); - } - - public bool RecordAfterSkyboxInjection() - { - return m_renderContext != null && - m_renderContext.RecordAfterSkyboxInjection(); - } - - public bool RecordBeforeTransparentInjection() - { - return m_renderContext != null && - m_renderContext.RecordBeforeTransparentInjection(); - } - - public bool RecordAfterTransparentInjection() - { - return m_renderContext != null && - m_renderContext.RecordAfterTransparentInjection(); - } - - public bool RecordColorScaleFullscreenPass( - Vector4 colorScale) - { - return m_renderContext != null && - m_renderContext.RecordColorScaleFullscreenPass( - colorScale); - } - - public bool RecordShaderVectorFullscreenPass( - string shaderPath, - Vector4 vectorPayload, - string passName = null) - { - return m_renderContext != null && - m_renderContext.RecordShaderVectorFullscreenPass( - shaderPath, - vectorPayload, - passName); - } - } -} - diff --git a/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRenderPass.cs b/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRenderPass.cs index 06352ff7..8e31ea2f 100644 --- a/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRenderPass.cs +++ b/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRenderPass.cs @@ -23,7 +23,7 @@ namespace XCEngine.Rendering.Renderer } internal bool Record( - RendererRecordingContext context, + ScriptableRenderContext context, RenderingData renderingData) { return RecordRenderGraph( @@ -32,7 +32,7 @@ namespace XCEngine.Rendering.Renderer } protected abstract bool RecordRenderGraph( - RendererRecordingContext context, + ScriptableRenderContext context, RenderingData renderingData); internal static bool TryResolveStage( diff --git a/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRenderer.cs b/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRenderer.cs index 87932bad..ecdaa876 100644 --- a/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRenderer.cs +++ b/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRenderer.cs @@ -81,8 +81,6 @@ namespace XCEngine.Rendering.Renderer RenderingData renderingData = new RenderingData(context); - RendererRecordingContext recordingContext = - new RendererRecordingContext(context); BuildPassQueue(renderingData); bool recordedAnyPass = false; @@ -96,7 +94,7 @@ namespace XCEngine.Rendering.Renderer } if (!renderPass.Record( - recordingContext, + context, renderingData)) { return false; diff --git a/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRendererData.cs b/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRendererData.cs index ccc0d932..db8a2a21 100644 --- a/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRendererData.cs +++ b/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRendererData.cs @@ -23,7 +23,7 @@ namespace XCEngine.Rendering.Renderer } internal void ConfigureCameraRenderRequestInstance( - RendererCameraRequestContext context) + ScriptableRenderPipelineCameraRequestContext context) { ConfigureCameraRenderRequest(context); @@ -72,7 +72,7 @@ namespace XCEngine.Rendering.Renderer } protected virtual void ConfigureCameraRenderRequest( - RendererCameraRequestContext context) + ScriptableRenderPipelineCameraRequestContext context) { } diff --git a/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRendererFeature.cs b/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRendererFeature.cs index 7cb10dbe..0e259ef1 100644 --- a/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRendererFeature.cs +++ b/managed/XCEngine.ScriptCore/Rendering/Renderer/ScriptableRendererFeature.cs @@ -16,7 +16,7 @@ namespace XCEngine.Rendering.Renderer } public virtual void ConfigureCameraRenderRequest( - RendererCameraRequestContext context) + ScriptableRenderPipelineCameraRequestContext context) { } diff --git a/tests/scripting/test_mono_script_runtime.cpp b/tests/scripting/test_mono_script_runtime.cpp index b78a9c0c..145200d4 100644 --- a/tests/scripting/test_mono_script_runtime.cpp +++ b/tests/scripting/test_mono_script_runtime.cpp @@ -1135,7 +1135,7 @@ TEST_F( TEST_F( MonoScriptRuntimeTest, - ScriptableRenderContextPublicApiSurfaceKeepsRendererHelpersOutOfCore) { + ScriptableRenderContextPublicApiSurfaceUsesDirectContextModel) { Scene* runtimeScene = CreateScene("ScriptableRenderContextApiSurfaceScene"); GameObject* selectionObject = @@ -1155,12 +1155,10 @@ TEST_F( bool hasPublicContextRecordOpaqueScenePhase = false; bool hasPublicContextRecordBeforeOpaqueInjection = false; bool hasPublicContextRecordShaderVectorFullscreenPass = false; - bool hasPublicRendererRecordOpaqueScenePhase = false; - bool hasPublicRendererRecordShaderVectorFullscreenPass = false; bool hasPublicCameraRequestContextHasDirectionalShadow = false; bool hasPublicCameraRequestContextClearDirectionalShadow = false; - bool hasPublicRendererCameraRequestContextHasDirectionalShadow = false; - bool hasPublicRendererCameraRequestContextClearDirectionalShadow = false; + bool hasRendererRecordingContextType = false; + bool hasRendererCameraRequestContextType = false; EXPECT_TRUE(runtime->TryGetFieldValue( selectionScript, @@ -1178,14 +1176,6 @@ TEST_F( selectionScript, "HasPublicContextRecordShaderVectorFullscreenPass", hasPublicContextRecordShaderVectorFullscreenPass)); - EXPECT_TRUE(runtime->TryGetFieldValue( - selectionScript, - "HasPublicRendererRecordOpaqueScenePhase", - hasPublicRendererRecordOpaqueScenePhase)); - EXPECT_TRUE(runtime->TryGetFieldValue( - selectionScript, - "HasPublicRendererRecordShaderVectorFullscreenPass", - hasPublicRendererRecordShaderVectorFullscreenPass)); EXPECT_TRUE(runtime->TryGetFieldValue( selectionScript, "HasPublicCameraRequestContextHasDirectionalShadow", @@ -1196,23 +1186,21 @@ TEST_F( hasPublicCameraRequestContextClearDirectionalShadow)); EXPECT_TRUE(runtime->TryGetFieldValue( selectionScript, - "HasPublicRendererCameraRequestContextHasDirectionalShadow", - hasPublicRendererCameraRequestContextHasDirectionalShadow)); + "HasRendererRecordingContextType", + hasRendererRecordingContextType)); EXPECT_TRUE(runtime->TryGetFieldValue( selectionScript, - "HasPublicRendererCameraRequestContextClearDirectionalShadow", - hasPublicRendererCameraRequestContextClearDirectionalShadow)); + "HasRendererCameraRequestContextType", + hasRendererCameraRequestContextType)); EXPECT_TRUE(hasPublicContextRecordScene); - EXPECT_FALSE(hasPublicContextRecordOpaqueScenePhase); - EXPECT_FALSE(hasPublicContextRecordBeforeOpaqueInjection); - EXPECT_FALSE(hasPublicContextRecordShaderVectorFullscreenPass); - EXPECT_TRUE(hasPublicRendererRecordOpaqueScenePhase); - EXPECT_TRUE(hasPublicRendererRecordShaderVectorFullscreenPass); - EXPECT_FALSE(hasPublicCameraRequestContextHasDirectionalShadow); - EXPECT_FALSE(hasPublicCameraRequestContextClearDirectionalShadow); - EXPECT_TRUE(hasPublicRendererCameraRequestContextHasDirectionalShadow); - EXPECT_TRUE(hasPublicRendererCameraRequestContextClearDirectionalShadow); + EXPECT_TRUE(hasPublicContextRecordOpaqueScenePhase); + EXPECT_TRUE(hasPublicContextRecordBeforeOpaqueInjection); + EXPECT_TRUE(hasPublicContextRecordShaderVectorFullscreenPass); + EXPECT_TRUE(hasPublicCameraRequestContextHasDirectionalShadow); + EXPECT_TRUE(hasPublicCameraRequestContextClearDirectionalShadow); + EXPECT_FALSE(hasRendererRecordingContextType); + EXPECT_FALSE(hasRendererCameraRequestContextType); } TEST_F(