checkpoint: preserve user-gated FW closeout fixes
This commit is contained in:
parent
a2f2eb7d78
commit
b8befded8b
22 changed files with 1005 additions and 198 deletions
|
|
@ -202,11 +202,11 @@ internal sealed partial class RetailPViewPassExecutor
|
|||
/// </summary>
|
||||
internal sealed class WalkProductionLeafRenderer : IWalkFrameLeafRenderer
|
||||
{
|
||||
private readonly RetailPViewPassExecutor _passes;
|
||||
private readonly RetailPViewFrameInput _frame;
|
||||
private readonly ClipFrameAssembly _clipAssembly;
|
||||
private readonly Action _clearInteriorDepth;
|
||||
private readonly Action _drawExitSeals;
|
||||
private RetailPViewPassExecutor _passes = null!;
|
||||
private RetailPViewFrameInput _frame = null!;
|
||||
private ClipFrameAssembly _clipAssembly = null!;
|
||||
private Action _clearInteriorDepth = null!;
|
||||
private Action _drawExitSeals = null!;
|
||||
private readonly HashSet<uint> _singleCellScratch = new();
|
||||
private readonly List<uint> _singleCellListScratch = new();
|
||||
private readonly Dictionary<uint, int> _singleCellClipScratch = new(1);
|
||||
|
|
@ -217,10 +217,24 @@ internal sealed class WalkProductionLeafRenderer : IWalkFrameLeafRenderer
|
|||
ClipFrameAssembly clipAssembly,
|
||||
Action clearInteriorDepth,
|
||||
Action drawExitSeals)
|
||||
=> Reset(passes, frame, clipAssembly, clearInteriorDepth, drawExitSeals);
|
||||
|
||||
/// <summary>
|
||||
/// FW6 allocation closeout: bind the retained leaf and its retained
|
||||
/// one-cell collections to the current frame. Replay is synchronous, so
|
||||
/// no frame may outlive these references.
|
||||
/// </summary>
|
||||
internal void Reset(
|
||||
RetailPViewPassExecutor passes,
|
||||
RetailPViewFrameInput frame,
|
||||
ClipFrameAssembly clipAssembly,
|
||||
Action clearInteriorDepth,
|
||||
Action drawExitSeals)
|
||||
{
|
||||
_passes = passes ?? throw new ArgumentNullException(nameof(passes));
|
||||
_frame = frame ?? throw new ArgumentNullException(nameof(frame));
|
||||
_clipAssembly = clipAssembly;
|
||||
_clipAssembly = clipAssembly
|
||||
?? throw new ArgumentNullException(nameof(clipAssembly));
|
||||
_clearInteriorDepth = clearInteriorDepth
|
||||
?? throw new ArgumentNullException(nameof(clearInteriorDepth));
|
||||
_drawExitSeals = drawExitSeals
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue