From patchwork Wed Jul 3 12:10:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yordan Karadzhov X-Patchwork-Id: 11029415 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EC878112C for ; Wed, 3 Jul 2019 12:10:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DD1D52847E for ; Wed, 3 Jul 2019 12:10:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D1E4A286AE; Wed, 3 Jul 2019 12:10:58 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 56F8528574 for ; Wed, 3 Jul 2019 12:10:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726457AbfGCMK6 (ORCPT ); Wed, 3 Jul 2019 08:10:58 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:46442 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726217AbfGCMK6 (ORCPT ); Wed, 3 Jul 2019 08:10:58 -0400 Received: by mail-wr1-f67.google.com with SMTP id n4so2489041wrw.13 for ; Wed, 03 Jul 2019 05:10:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=V/XInzqLeRVzuLBbY/CqJ+blJLzxw++kYRUTh9pvT3o=; b=UUjHHTsZA0uGSRFne6inM3naTQchLILV+S4zGQy0HhFmRHxNCFMsO11/MnfpmIbl2V Kj+LoasuYLIWQzyi238r825KsoDItT2RTrQFGjXLv5d9NvF7BAxHJJLDsSdf9h2IP+j9 G9NfJAkWycPrnr5TcIbzXDAGM8Df4A9BxdJqqQUnekZ2jaJbNhHr/uwMucMClBCmlduR nRQ4BcrGYJhhIpz3a5VaqcDkM7d+qM2dslW1qfYmISeCUGDkXXW3+Vv5uUNiZ9IT+d0y j1xxGdUizBt9M3iU7BCmVoigMiRPbT9pspFx8DUUzMkbKcA6xeUa4BVdvFhK1diHT1yp yO8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=V/XInzqLeRVzuLBbY/CqJ+blJLzxw++kYRUTh9pvT3o=; b=hqjmmo4fnrjoMMdI6/f9GlioKGy/3hIdjbnrwkybUokPZFQGXnnHGdxteGjsChsaBX yoDO8Rv0ZvG64qRgDEyQrj5zTxPfR+kxvFZtVBCtcdZM4ktwbllcT8pj+yOK8RYlp1jj oNzpa4fj4KzN8ibRJ6gCCcEyGS2odB3K1Vt8YXM8b3xU0bVYEtrZEE4M/H72vgnG05GL gmMKV++bO5IXYV95NI1t3rmUZMPUSvHzAnfU3omGQj/F4ATaMf5RYWcoGdGyIcn1rWtB XGHe0HP2E/aOAhxmSEOSMS8dIJR6m25ZbP8D1Nwc57i91Pf4iEYbxfnB0wR7mnaXfzgm jZ3w== X-Gm-Message-State: APjAAAWdsLHiaW6QsaajyqKUQwtFAOsrg8SBGHnhxsf2L8Lo5uPCVqTe KYQ3CoAWGuDQKMxMpJD3pAM= X-Google-Smtp-Source: APXvYqx0aiCHE3H14oGZ+Rp7K8t7ILJrIHX3I6fjeNQySxEEyH43BrjqpKYFoSZrT1uyMgZYgi5ODw== X-Received: by 2002:adf:f408:: with SMTP id g8mr4060818wro.256.1562155855385; Wed, 03 Jul 2019 05:10:55 -0700 (PDT) Received: from mamba.eng.vmware.com ([146.247.46.5]) by smtp.gmail.com with ESMTPSA id u18sm2321587wmd.19.2019.07.03.05.10.54 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Wed, 03 Jul 2019 05:10:55 -0700 (PDT) From: "Yordan Karadzhov (VMware)" To: rostedt@goodmis.org Cc: linux-trace-devel@vger.kernel.org, "Yordan Karadzhov (VMware)" , Slavomir Kaslev Subject: [RFC PATCH v2 5/5] kernel-shark: Drop Freeglut as a compulsory dependency Date: Wed, 3 Jul 2019 15:10:23 +0300 Message-Id: <20190703121023.16655-6-y.karadz@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190703121023.16655-1-y.karadz@gmail.com> References: <20190703121023.16655-1-y.karadz@gmail.com> MIME-Version: 1.0 Sender: linux-trace-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-trace-devel@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Freeglut is not a necessary dependency for programs like the KernelShark GUI that are using Qt for window and OpenGL context management. Currently it is been used only by the data plotting example (dataplot.cpp). Suggested-by: Slavomir Kaslev Signed-off-by: Yordan Karadzhov (VMware) --- kernel-shark/build/deff.h.cmake | 3 +++ kernel-shark/examples/CMakeLists.txt | 10 +++++++--- kernel-shark/src/CMakeLists.txt | 4 ++-- kernel-shark/src/KsGLWidget.cpp | 4 ---- kernel-shark/src/KsPlotTools.cpp | 4 ---- kernel-shark/src/libkshark-plot.c | 17 ++++++++--------- kernel-shark/src/libkshark-plot.h | 2 +- 7 files changed, 21 insertions(+), 23 deletions(-) diff --git a/kernel-shark/build/deff.h.cmake b/kernel-shark/build/deff.h.cmake index efee2a1..e3543ca 100644 --- a/kernel-shark/build/deff.h.cmake +++ b/kernel-shark/build/deff.h.cmake @@ -23,6 +23,9 @@ /** "pkexec" executable. */ #cmakedefine DO_AS_ROOT "@DO_AS_ROOT@" +/** GLUT has been found. */ +#cmakedefine GLUT_FOUND + #ifdef __cplusplus #include diff --git a/kernel-shark/examples/CMakeLists.txt b/kernel-shark/examples/CMakeLists.txt index 824b21c..74898c0 100644 --- a/kernel-shark/examples/CMakeLists.txt +++ b/kernel-shark/examples/CMakeLists.txt @@ -16,9 +16,13 @@ message(STATUS "confogio") add_executable(confio configio.c) target_link_libraries(confio kshark) -message(STATUS "dataplot") -add_executable(dplot dataplot.cpp) -target_link_libraries(dplot kshark-plot) +if (GLUT_FOUND) + + message(STATUS "dataplot") + add_executable(dplot dataplot.cpp) + target_link_libraries(dplot kshark-plot) + +endif (GLUT_FOUND) message(STATUS "widgetdemo") add_executable(widgetdemo widgetdemo.cpp) diff --git a/kernel-shark/src/CMakeLists.txt b/kernel-shark/src/CMakeLists.txt index 36ce884..8c8f988 100644 --- a/kernel-shark/src/CMakeLists.txt +++ b/kernel-shark/src/CMakeLists.txt @@ -38,7 +38,7 @@ if (_DEVEL) endif (_DEVEL) -if (OPENGL_FOUND AND GLUT_FOUND) +if (OPENGL_FOUND) message(STATUS "libkshark-plot") add_library(kshark-plot SHARED libkshark-plot.c @@ -65,7 +65,7 @@ if (OPENGL_FOUND AND GLUT_FOUND) endif (_DEVEL) -endif (OPENGL_FOUND AND GLUT_FOUND) +endif (OPENGL_FOUND) if (Qt5Widgets_FOUND AND Qt5Network_FOUND) diff --git a/kernel-shark/src/KsGLWidget.cpp b/kernel-shark/src/KsGLWidget.cpp index ce68052..37819d3 100644 --- a/kernel-shark/src/KsGLWidget.cpp +++ b/kernel-shark/src/KsGLWidget.cpp @@ -9,10 +9,6 @@ * @brief OpenGL widget for plotting trace graphs. */ -// OpenGL -#include -#include - // KernelShark #include "KsGLWidget.hpp" #include "KsUtils.hpp" diff --git a/kernel-shark/src/KsPlotTools.cpp b/kernel-shark/src/KsPlotTools.cpp index a8eddcd..152ec47 100644 --- a/kernel-shark/src/KsPlotTools.cpp +++ b/kernel-shark/src/KsPlotTools.cpp @@ -16,10 +16,6 @@ #include #include -// OpenGL -#include -#include - // KernelShark #include "KsPlotTools.hpp" diff --git a/kernel-shark/src/libkshark-plot.c b/kernel-shark/src/libkshark-plot.c index 1982494..32e2ae9 100644 --- a/kernel-shark/src/libkshark-plot.c +++ b/kernel-shark/src/libkshark-plot.c @@ -19,6 +19,7 @@ // KernelShark #include "libkshark-plot.h" +#include "KsCmakeDef.hpp" /* * STB TrueType (single-file public domain library) @@ -31,6 +32,10 @@ #define STBTT_STATIC #include "stb_truetype.h" +#ifdef GLUT_FOUND + +#include + /** * @brief Create an empty scene for drawing. * @@ -55,17 +60,11 @@ void ksplot_make_scene(int width, int height) /* Open the screen window. */ glutCreateWindow("KernelShark Plot"); - /* - * Set the origin of the coordinate system to be the top left corner. - * The "Y" coordinate is inverted. - */ - gluOrtho2D(0, width, height, 0); - glViewport(0, 0, width, height); - - glMatrixMode(GL_PROJECTION); - glLoadIdentity(); + ksplot_resize_opengl(width, height); } +#endif // GLUT_FOUND + /** * @brief Initialize OpenGL. * diff --git a/kernel-shark/src/libkshark-plot.h b/kernel-shark/src/libkshark-plot.h index 1895bee..2c44787 100644 --- a/kernel-shark/src/libkshark-plot.h +++ b/kernel-shark/src/libkshark-plot.h @@ -16,8 +16,8 @@ #include // OpenGL -#include #include +#include /* * STB TrueType (single-file public domain library)