( composition: WindowCompositionFunction, events: CompositorEventController, snapshot: WaylandWindowSnapshot, )
| 2370 | transform: reevaluated.transform, |
| 2371 | managedWindow: reevaluated.managedWindow, |
| 2372 | windowEffects: evaluateWindowEffects(effectConfig, windowId, entry), |
| 2373 | dirtyNodeIds: [], |
| 2374 | managedWindowOnly: true, |
| 2375 | nextPollInMs: hasWindowAnimations(windowId) ? 0 : peekNextPollDelay(), |
| 2376 | }; |
| 2377 | } |
| 2378 | |
| 2379 | const dirtyNodeIds = takeDirtyWindowNodeIds(windowId); |
| 2380 | const dirtyUniformBindingKeys = |
| 2381 | takeDirtyWindowShaderUniformBindingKeys(windowId); |
| 2382 | if (updated && !forceFullReevaluation) { |
| 2383 | debugLabel("evaluate-cached-updated-tree", { |
| 2384 | windowId, |
| 2385 | dirtyNodeIds, |
| 2386 | labels: summarizeSerializedLabels(updated.serialized), |
| 2387 | }); |
| 2388 | return { |
| 2389 | serialized: updated.serialized, |
| 2390 | treeUpdate: "full", |
| 2391 | transform: updated.transform, |
| 2392 | managedWindow: updated.managedWindow, |
| 2393 | windowEffects: evaluateWindowEffects(effectConfig, windowId, entry), |
| 2394 | dirtyNodeIds, |
| 2395 | nextPollInMs: hasWindowAnimations(windowId) ? 0 : peekNextPollDelay(), |
| 2396 | }; |
| 2397 | } |
| 2398 | if ( |
| 2399 | !forceFullReevaluation && |
| 2400 | dirtyNodeIds.length === 0 && |
| 2401 | dirtyUniformBindingKeys.length > 0 |
| 2402 | ) { |
| 2403 | const uniformPatches = entry.cache.readShaderUniformPatches( |
| 2404 | dirtyUniformBindingKeys, |
| 2405 | ); |
| 2406 | if (uniformPatches !== null && uniformPatches.length > 0) { |
| 2407 | return { |
| 2408 | treeUpdate: "uniforms", |
| 2409 | uniformPatches, |
no test coverage detected