24 lines
1.1 KiB
Diff
24 lines
1.1 KiB
Diff
--- a/types/scene/wlr_scene.c
|
|
+++ b/types/scene/wlr_scene.c
|
|
@@ -2117,6 +2117,21 @@
|
|
};
|
|
scene_node_get_size(node, &dst_box.width, &dst_box.height);
|
|
transform_output_box(&dst_box, data);
|
|
+
|
|
+ // WHY: prove real effect-node presence separately from accepted IPC.
|
|
+ // CONTRACT: trace only a private copy; identities are process-local.
|
|
+ // INVARIANT: read-only logging changes no render or cache decision.
|
|
+ if (node->type == WLR_SCENE_NODE_SHADOW || node->type == WLR_SCENE_NODE_BLUR
|
|
+ || node->type == WLR_SCENE_NODE_OPTIMIZED_BLUR) {
|
|
+ const pixman_box32_t *box = pixman_region32_extents(&render_region);
|
|
+ int dirty = node->type == WLR_SCENE_NODE_OPTIMIZED_BLUR
|
|
+ ? wlr_scene_optimized_blur_from_node(node)->dirty : -1;
|
|
+ wlr_log(WLR_INFO, "FX_TRACE output=%s type=%d node=%p enabled=%d "
|
|
+ "dst=%d,%d %dx%d draw=%d,%d..%d,%d dirty=%d",
|
|
+ data->output->output->name, node->type, (void *)node, node->enabled,
|
|
+ dst_box.x, dst_box.y, dst_box.width, dst_box.height,
|
|
+ box->x1, box->y1, box->x2, box->y2, dirty);
|
|
+ }
|
|
|
|
pixman_region32_t opaque;
|
|
pixman_region32_init(&opaque);
|