swayfx-mosaic/tooling/probes/step20c-saved-transaction-buffer/scenefx-saved-trace.patch

23 lines
913 B
Diff

--- a/types/scene/wlr_scene.c
+++ b/types/scene/wlr_scene.c
@@ -2108,6 +2108,20 @@
return;
}
+ if (node->type == WLR_SCENE_NODE_BUFFER && getenv("SAVED_TRACE")) {
+ struct timespec ts;
+ clock_gettime(CLOCK_MONOTONIC, &ts);
+ struct wlr_scene_buffer *sb = wlr_scene_buffer_from_node(node);
+ struct pixman_box32 *box = pixman_region32_extents(&render_region);
+ fprintf(stderr, "SB_RENDER ns=%lld node=%p buffer=%p parent=%p visible=%d,%d,%d,%d damage=%d,%d,%d,%d\n",
+ (long long)ts.tv_sec * 1000000000LL + ts.tv_nsec,
+ (void *)node, (void *)sb->buffer, (void *)node->parent,
+ pixman_region32_extents(&node->visible)->x1,
+ pixman_region32_extents(&node->visible)->y1,
+ pixman_region32_extents(&node->visible)->x2,
+ pixman_region32_extents(&node->visible)->y2,
+ box->x1, box->y1, box->x2, box->y2);
+ }
int x = entry->x - data->logical.x;
int y = entry->y - data->logical.y;