From a93aba600b1c5d019b680b9f4ff3fa85d5d43a60 Mon Sep 17 00:00:00 2001 From: allusive-dev Date: Tue, 19 Sep 2023 17:47:33 +1000 Subject: Fixed broken files/code and other errors --- src/diagnostic.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/diagnostic.c (limited to 'src/diagnostic.c') diff --git a/src/diagnostic.c b/src/diagnostic.c new file mode 100644 index 0000000..d275b1a --- /dev/null +++ b/src/diagnostic.c @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: MPL-2.0 +// Copyright (c) 2018 Yuxuan Shui + +#include +#include +#include + +#include "backend/driver.h" +#include "diagnostic.h" +#include "config.h" +#include "picom.h" +#include "common.h" + +void print_diagnostics(session_t *ps, const char *config_file, bool compositor_running) { + printf("**Version:** " COMPTON_VERSION "\n"); + //printf("**CFLAGS:** %s\n", "??"); + printf("\n### Extensions:\n\n"); + printf("* Shape: %s\n", ps->shape_exists ? "Yes" : "No"); + printf("* XRandR: %s\n", ps->randr_exists ? "Yes" : "No"); + printf("* Present: %s\n", ps->present_exists ? "Present" : "Not Present"); + printf("\n### Misc:\n\n"); + printf("* Use Overlay: %s\n", ps->overlay != XCB_NONE ? "Yes" : "No"); + if (ps->overlay == XCB_NONE) { + if (compositor_running) { + printf(" (Another compositor is already running)\n"); + } else if (session_redirection_mode(ps) != XCB_COMPOSITE_REDIRECT_MANUAL) { + printf(" (Not in manual redirection mode)\n"); + } else { + printf("\n"); + } + } +#ifdef __FAST_MATH__ + printf("* Fast Math: Yes\n"); +#endif + printf("* Config file used: %s\n", config_file ?: "None"); + printf("\n### Drivers (inaccurate):\n\n"); + print_drivers(ps->drivers); + + for (int i = 0; i < NUM_BKEND; i++) { + if (backend_list[i] && backend_list[i]->diagnostics) { + printf("\n### Backend: %s\n\n", BACKEND_STRS[i]); + auto data = backend_list[i]->init(ps); + if (!data) { + printf(" Cannot initialize this backend\n"); + } else { + backend_list[i]->diagnostics(data); + backend_list[i]->deinit(data); + } + } + } +} + +// vim: set noet sw=8 ts=8 : -- cgit v1.2.3