Tighten URP pass queue snapshot ownership

This commit is contained in:
2026-04-27 15:21:57 +08:00
parent c0b829cd6a
commit 66d968c3ce
22 changed files with 849 additions and 51 deletions

View File

@@ -432,6 +432,11 @@ namespace XCEngine
Rendering_ScriptableRenderContext_GetRendererIndex(
ulong nativeHandle);
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern ulong
Rendering_ScriptableRenderContext_GetFramePlanId(
ulong nativeHandle);
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern int
Rendering_ScriptableRenderContext_GetSourceColorTextureHandle(
@@ -557,6 +562,11 @@ namespace XCEngine
Rendering_ScriptableRenderPipelinePlanningContext_GetRendererIndex(
ulong nativeHandle);
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern ulong
Rendering_ScriptableRenderPipelinePlanningContext_GetFramePlanId(
ulong nativeHandle);
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern bool
Rendering_ScriptableRenderPipelinePlanningContext_IsStageRequested(

View File

@@ -23,6 +23,11 @@ namespace XCEngine.Rendering
.Rendering_ScriptableRenderContext_GetRendererIndex(
m_nativeHandle);
public ulong framePlanId =>
InternalCalls
.Rendering_ScriptableRenderContext_GetFramePlanId(
m_nativeHandle);
public RenderGraphTextureHandle sourceColorTexture =>
RenderGraphTextureHandle.FromNativeIndex(
InternalCalls

View File

@@ -34,6 +34,16 @@ namespace XCEngine.Rendering
return SupportsStageRenderGraph(stage);
}
protected virtual bool SupportsStageRenderGraphContextual(
CameraFrameStage stage,
int rendererIndex,
ulong framePlanId)
{
return SupportsStageRenderGraphContextual(
stage,
rendererIndex);
}
protected virtual bool RecordStageRenderGraph(
ScriptableRenderContext context)
{

View File

@@ -20,6 +20,11 @@ namespace XCEngine.Rendering
.Rendering_ScriptableRenderPipelinePlanningContext_GetRendererIndex(
m_nativeHandle);
public ulong framePlanId =>
InternalCalls
.Rendering_ScriptableRenderPipelinePlanningContext_GetFramePlanId(
m_nativeHandle);
public bool IsStageRequested(
CameraFrameStage stage)
{