Lock URP runtime invalidation to asset and renderer data state
This commit is contained in:
@@ -221,6 +221,10 @@ Managed SRP assets 通过 `GraphicsSettings.renderPipelineAsset` 选择,并通
|
||||
`SceneDrawBackend`。
|
||||
- Managed resource/version invalidation 是正确性的一部分。如果 managed asset、renderer data 或 feature
|
||||
修改 runtime state,调用 `SetDirty` 或本地 invalidation helper,确保 native runtime caches 被释放。
|
||||
当前 runtime version 也会兜底 hash `UniversalRenderPipelineAsset` 的 shadow/final-color settings,以及
|
||||
`UniversalRendererData` 自身的 main-scene、shadow-caster 和 depth-prepass block settings;新增可序列化
|
||||
renderer data/asset settings 时,必须把影响 request、planning、stage manifest 或 pass queue 的字段纳入
|
||||
对应 runtime hash。
|
||||
|
||||
### URP Model
|
||||
|
||||
@@ -232,6 +236,9 @@ package。
|
||||
renderer index,然后委托给 renderer data。
|
||||
- `ScriptableRendererData` 拥有持久 renderer instance 和 renderer feature collection。Renderer data dirty
|
||||
state 会释放 renderer setup cache,并递增 runtime state version。
|
||||
- `ScriptableRendererData` 的 runtime state version 不只来自 feature collection。`UniversalRendererData`
|
||||
已把 `mainScene`、`shadowCaster` 和 `depthPrepass` block settings 纳入 hash;这些 settings 改变时必须
|
||||
触发 renderer cache 释放和 pass queue/stage manifest 重建。
|
||||
- `ScriptableRenderer` 按 stage 构建 `m_activePassQueue`。它依次调用 feature `SetupRenderPasses`、feature
|
||||
`AddRenderPasses`,再调用 renderer-owned `AddRenderPasses`;passes 按 `RenderPassEvent` 顺序插入,并归组到
|
||||
`RendererBlocks`。
|
||||
@@ -378,6 +385,9 @@ Scene data 每个 camera frame 提取一次,然后由 pipeline 调整。
|
||||
- URP stage planning 已收口到 renderer active pass queue 派生的 per-`framePlanId` 快照和 stage manifest。
|
||||
Stage support 和 stage recording 现在消费 planning 阶段保存的快照,关闭了 feature planning hook、
|
||||
support probe 和 recording 各自重建 pass queue 的重复事实源。
|
||||
- URP runtime-state invalidation 已覆盖 asset-level shadow/final-color settings 和 renderer-data-level
|
||||
main-scene/shadow-caster/depth-prepass block settings。配置变更会通过 runtime resource version 释放
|
||||
renderer caches,并让后续 planning 重新生成 pass queue 快照和 stage manifest。
|
||||
- Public managed RenderGraph raster authoring 已存在;internal fullscreen kernels 仍是 URP implementation
|
||||
details。
|
||||
- Public managed `SetRenderFunc` 已从 recording-time 调用改为 RenderGraph execution-time 调用;
|
||||
|
||||
Reference in New Issue
Block a user