aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/perfprofiler
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.0'Eike Ziller2021-08-301-0/+4
|\ | | | | | | | | | | | | | | | | | | Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs qtcreator_ide_branding.pri src/plugins/android/androidconfigurations.cpp Change-Id: Icd2b0fda2b2653656285bbbe457c30c9cd414d3f
| * Update scenegraph API check in isUsableLaszlo Agocs2021-08-261-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | Do not test for OpenGL-through-QRhi, but rather for anything-through-QRhi. The implementation of the profiler views is not tied to OpenGL anymore. That said, QQuickWidget implies using OpenGL as of now, so in practice we will always have OpenGL at best, but update the tests now to be better prepared for the future. Change-Id: Ic43eac1c5cf0e2ce2ef35cdd8a29b475884a5af8 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | Merge remote-tracking branch 'origin/5.0'Eike Ziller2021-08-201-1/+1
|\| | | | | | | Change-Id: I370268624bd6e91e7b44fa236e913f5f55867e17
| * Tracing/QmlProfiler/PerfProfiler: Fix qt_add_qml_module callAlessandro Portale2021-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes the failing configuration against a recent Qt (post 6.2-Beta2) build: CMake Error at QTDIR/qtbase/lib/cmake/Qt6Qml/Qt6QmlMacros.cmake:196 (message): PLUGIN_TARGET must also be provided when NO_CREATE_PLUGIN_TARGET is used. If you want to disable creating a plugin altogether, use the NO_PLUGIN option instead. Change-Id: If1dbfb09bda8e8cdd07cc575076dd6ccec1a4d39 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Use more FileUtils based file dialogshjk2021-08-192-21/+19
| | | | | | | | | | Change-Id: I1e7ec0493c26afe58e17afb8923a2b1023f6dcd4 Reviewed-by: David Schulz <david.schulz@qt.io>
* | Utils: Introduce a FilePath constructor from char arrayshjk2021-08-172-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | Similar to QT_RESTRICTED_CAST_FROM_ASCII to avoid the need for decorations in user code. At the same time, drop some convenience constructors and functions in CommandLine and Icon essentially serving the same purpose. Change-Id: Ida4e5ac19c2da0a4298a97b2a8e1511d56bbb79d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | ProjectExplorer: Use Utils::CommandLine in ProjectExplorer::Runnablehjk2021-08-133-15/+9
|/ | | | | | Change-Id: Id965f1f9047dcbc3ea5c9ddaa550d12668cf8ae6 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Tracing/QmlProfiler: Port shaders to Qt 6Alessandro Portale2021-08-111-0/+1
| | | | | | | | | | | | | | | | | | | For each shader in Tracing and QmlProfiler: - Add a vert/frag variant in Vulkan style GLSL - Include the shader via qt_add_shaders - Implement RHI/Qt6-specific code for loading the shaders and for updating the uniform buffer - Set the material's QSGMaterial::CustomCompileStep flag to affect the z value the same way as the Qt 5 code does Building of Tracing, QmlProfiler, etc. with Qt 6 depends on the Qt Shader tools being installed. Fixes: QTCREATORBUG-20575 Change-Id: I9aba5a777da9a549da0cdd0a217dfcb346c72e58 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* QmlProfiler/PerfProfiler: Restore support for Qt >= 6.2Alessandro Portale2021-07-161-4/+4
| | | | | | | | | | First (try to) add the target as Qt Creator plugin, *then* check whether it exists. Amends: 5aff1419fa0ebee1e94e7a47b467a3dd289fec34 Change-Id: Ia7c318c0ffb7bbaa21159ddf9de88b80ad0033cb Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Restore support for CMake < 3.11Alessandro Portale2021-07-151-8/+11
| | | | | | | | | | | Prior to CMake 3.11, the SOURCES could not be omitted when calling add_executable. This change ensures that SOURCES are passed, at least when building against Qt < 6.2. Change-Id: I83bd82fe12364523ce6954d145b632df7210d118 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Introduce DeviceManager::defaultDesktopDevice()hjk2021-07-051-3/+1
| | | | | | | Just syntactic sugar to make doing the right thing less painful. Change-Id: Ia51cda20e5395925215f226b9a379af66fddfd8b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Don't call qt_add_qml_module with inexistent TARGETAlessandro Portale2021-07-021-0/+4
| | | | | | | | | | | | If the passed TARGET does not exist (because it had been disabled in the CMake configuration), qt_add_qml_module will create it for the user. That created target is by itself incomplete and breaks the build. So, don't call qt_add_qml_module with inexistent TARGET. Fixes: QTCREATORBUG-25960 Change-Id: I646eb2176befb0fd5fe06e184ebd0cee32e18ab2 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* PerfProfiler: Add qml, register types via qt_add_qml_moduleAlessandro Portale2021-06-285-39/+74
| | | | | | | | | | | | | Use the CMake-based qml API to create the "QtCreator.PerfProfiler" module. This uses qt_add_qml_module, which was introduced with Qt 6.2. For Qt 6.1 and below, everything compiles and runs like before this change. Change-Id: I7e3a9e544e52592b5daf0117ce415583ab97dafe Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Tracing: Add qml, register types via qt_add_qml_moduleAlessandro Portale2021-06-223-2/+6
| | | | | | | | | | | Use the CMake-based qml API to create the "QtCreator.Tracing" module. This uses qt_add_qml_module, which was introduced with Qt 6.2. For Qt 6.1 and below, everything compiles and runs like before this change. Change-Id: I4d63f9f724d0628cfaab9d1164c0d575f15d15aa Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Tracing/QmlProfiler/CtfVisualizer/PerfProfiler: Compile with Qt 6Alessandro Portale2021-06-091-0/+1
| | | | | | | | | | | | | | | | | | | This makes the tracing lib, its tests and the three plugins which depend on the lib compile with Qt 6. The rectangles are not yet shown most likely because some OpenGL specific code was #ifdef-ed for Qt 6. That code needs to be reimplemented on top of the new Scenegraph API, using the RHI instead of direct OpenGL in a follow-up patch. An assertion failure in QQuickWidget::createFramebufferObject() needs to be fixed as-well. The code still builds and runs assertion free (and the autotests pass) when built against Qt 5. Task-number: QTCREATORBUG-20575 Change-Id: I47ebb477823de2f0d27329dac7c292a466cea1d7 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Tracing/QmlProfiler/Perfprofiler: Merge modulesAlessandro Portale2021-06-083-8/+8
| | | | | | | | | | | | Move Tracing Qml Types into the "QtCreator.Tracing" module. Move QmlProfiler Qml Types into the "QtCreator.QmlProfiler" module. Move PerfProfiler Qml Types into the "QtCreator.PerfProfiler" module. And tst_flamegraphview ones into QtCreator.TstTracingFlameGraphView. ... in preparation to register the types declaratively. Change-Id: Ic0e3863d09b3426fa5b7419116625ad49b817dcf Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Utils: Move process arguments class out of QtcProcesshjk2021-05-112-3/+3
| | | | | | | | | | | | The main QtcProcess interface is nowadays a CommandLine, with no explicit references left to QtcProcess::Arguments and related static helper functions, so it only clutters the QtcProcess class interface So move these items out of QtcProcess, later potentially to a separate file pair. Change-Id: I45c300b656f5b30e2e2717232c855fdd97c2d1d7 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Core: Add a default parameter to various ICore::*path functionshjk2021-04-271-4/+2
| | | | | | | | Saves some code on the user side. Change-Id: I32cd220b6e533f5497a1865f9c34ab9db4cfda79 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ICore: Change some path API to use FilePathEike Ziller2021-04-261-2/+2
| | | | | | Change-Id: Id841d6177206a021c9e606ce560b47d1ae6e52b9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: hjk <hjk@qt.io>
* Analyzer: Base ISettingsAspect on Utils::AspectContainerhjk2021-04-122-23/+8
| | | | | Change-Id: Ib4c19d0cb167911dc50d989771dd53f3569db087 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Provide a method to set total cell span for aspectshjk2021-04-092-2/+2
| | | | | | | | | | Only row span used currently in some base aspects, can be extended once needed. Used in the Perf config widget to correct recent change. Change-Id: I37fae178cbfb8d493e0232e53e877d0e317ec9f2 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* PerfProfiler: Fix compileChristian Stenger2021-04-091-1/+0
| | | | | | | Amends a3a6d1813f0b5b13d92715b4193476219ca66f88. Change-Id: I1faa26a962ed5b6d698e2d24adcb216e71da9bc7 Reviewed-by: David Schulz <david.schulz@qt.io>
* Perf: Partially aspectify settingshjk2021-04-0810-350/+146
| | | | | Change-Id: I605bfcd94e95cce753f42528586829072aea5663 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CMake build/Qt6: Automatically disable build of profilersEike Ziller2021-03-051-0/+1
| | | | | | | | | | Tracing library does not build with Qt 6. Disable that automatically and also the plugins that depend on it. Add some feature info for the Tracing library, though we usually do not add feature information for libraries in general. Change-Id: I51b6993e30ec69d63a031c7bf404ea3887e14d84 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Use qAsConst with non-const Qt containers in range-loopsAlessandro Portale2021-02-171-1/+1
| | | | | | | ... in various places Change-Id: Ic6c0c1b9437a1ed402105c7a14a1f5f9454a68d4 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* OutputFormatter: Reduce usages of DebugFormatChristian Stenger2021-01-211-1/+1
| | | | | | | | | | | | | | This is usually used in a wrong or at least misleading way. Replace most of the usages by newly introduced GeneralMessageFormat as most of the replaced usages just print to General Messages and using any of the existing formats would change the layout of the text. Except for some special debug output inside the valgrind plugin that can use one of the existing formats which also makes it easier to spot them and the runners which print QC internal output. Task-number: QTCREATORBUG-24560 Change-Id: I824dc4250b2f3e4656bab8676b45c98e3407d59c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use new, more evocative MessageManager APIEike Ziller2020-12-161-3/+2
| | | | | | | At various places where semantics doesn't change. Change-Id: Ib4d4a5c9f067e109126c6de88257f9e198a71447 Reviewed-by: hjk <hjk@qt.io>
* Use Q_ENUM instead of obsoleted Q_ENUMSJarek Kobus2020-12-111-1/+1
| | | | | | | | | | | It fixes the following warning: Use Q_ENUM instead of Q_ENUMS [clazy-qenums] In addition, it amends 8588cf268f774dbbc242f0805669787c7bc310ac where WidgetStyle got removed. Change-Id: I4d72dd762a2f18ba8886360b3581b4ef19bf4c5e Reviewed-by: hjk <hjk@qt.io>
* Don't call non-const method on temporary containerJarek Kobus2020-12-081-1/+1
| | | | | | | | ...as it may detach. Fix the following clazy warning: Don't call QList::first() on temporary [clazy-detaching-temporary]. Change-Id: I667c122c42ccfc1344508154466d9c1dc6ae6166 Reviewed-by: hjk <hjk@qt.io>
* Don't access static functions/fields via instanceAlessandro Portale2020-11-191-3/+3
| | | | | | | Courtesy of readability-static-accessed-through-instance Change-Id: I71f54244f1e091315dac2943d9e1bfad6efa56a9 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Add missing "final" to unexported/unshared classesAlessandro Portale2020-11-182-6/+6
| | | | | Change-Id: I84d5fc39d7ef5588a20545854d0cfd0b993db090 Reviewed-by: hjk <hjk@qt.io>
* PerfProfiler: Fix test generated dataChristian Stenger2020-11-021-2/+2
| | | | | | | Amends 67c800af6e8797. Change-Id: I8e8bda0373ec70bda94f2fef74710d6125dfcace Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* PerfProfiler: Compile fix for Qt5hjk2020-10-081-1/+1
| | | | | | | Amends 67c800af6e879757e6b78de7b47844050a84b941. Change-Id: Ia0bb003d3e83027d060c97a1bcf8758db00d9281 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* PerfProfiler: Some Qt6 compilationhjk2020-10-083-10/+13
| | | | | | | | Remaining issues operator<<(DataStream &...), the timeline dependency and qmlRegisterType. Change-Id: I51556e67cd93cb8bdced569ca509929705da80b4 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* PerfProfiler: Some compile fixes with Qt6hjk2020-08-203-4/+4
| | | | | | Task-number: QTCREATORBUG-24098 Change-Id: I9d3260034051dd15e7d5892e3300f5f719bdf5ca Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Replace QT_USE_FAST_{OPERATOR_PLUS,CONCATENTION} by QT_USE_QSTRINGBUILDERhjk2020-08-071-3/+4
| | | | | | | | | | QT_USE_FAST_CONCATENATION doesn't do anything nowadays. Using QT_USE_QSTRINGBUILDER is the same as QT_USE_FAST_OPERATOR_PLUS for QStrings and enables more QStringBuilder use for QByteArrays. Change-Id: Ibd297817c50d86661d47822799f989447249af1b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* PerfProfiler: Fix qbs buildChristian Kandeler2020-08-031-0/+1
| | | | | Change-Id: Ic4552c6ccaf04d2d46dd736e0f5ada3e2fcda874 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Use IDE_DISPLAY_NAMERobert Loehning2020-08-031-2/+5
| | | | | | Change-Id: If8ae9399a40a460b535faeec2320d1450e5099c5 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Core/Utils: Migrate further to Utils::Idhjk2020-07-061-1/+1
| | | | | | | The coreplugin/id.h header is kept for downstream for now. Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Use dialogParent() instead of mainWindow()Eike Ziller2020-06-023-10/+10
| | | | | | | | | | There are very few reasons to use mainWindow() directly. Especially for modal dialogs, using dialogParent() is important, since that guarantees the stacking order in case of other dialogs currently being open. Change-Id: I7ad2c23c5034b43195eb35cfe405932a7ea003e6 Reviewed-by: hjk <hjk@qt.io>
* Check for selection support of clipboardChristian Stenger2020-05-141-1/+2
| | | | | | | | | | Setting the data on a non-supported MIME data will fail and get deleted. Checking beforehand gets rid of a warning printed by QClipboard. Change-Id: I5b5a371ce5b904f61a1aed5ea21a98908155357b Reviewed-by: hjk <hjk@qt.io>
* Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-04-141-1/+0
|\ | | | | | | | | | | | | | | | | | | Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs qtcreator_ide_branding.pri src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp Change-Id: I34c3d1fd5be90537e37d15e00b1a0d455d1bf81d
| * Remove unused QTC_PLUGIN_REVISION macrosEike Ziller2020-04-091-1/+0
| | | | | | | | | | | | | | These were used when the plugins were in separate repositories Change-Id: Iba06bb1e197e96271f6157b70ffb382b016147f1 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* | PerfProfiler: Add hint how to make perf workRobert Loehning2020-04-021-1/+2
| | | | | | | | | | | | | | Change-Id: I9cef8826163a7f716717470e5b7edfd13699f75c Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-02-271-1/+1
|\| | | | | | | Change-Id: I4523ea36332772a310fd462df55683c93c61bb18
| * ProjectExplorer: Disentangle ProjectExplorer::updateRunActionshjk2020-02-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enforces a linear pass through [static] ProjectExplorerPlugin::updateRunActions ProjectExplorerPluginPrivate::doUpdateRunAction [emit] ProjectExplorerPluginPrivate::runActionsUpdated instead of the previous direct emission of the signal from user code and connecting also the internal update to it. This is meant to simplify reasoning about execution order and maybe to help elimimating double executation. Change-Id: Id8cc41a46d9dec06afb5514855f2ae80560f3695 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-02-261-2/+2
|\| | | | | | | Change-Id: I3e7049da2c3da6f784e3cb3407c22ada556e5d24
| * Misc: Fix MSVC warningsOrgad Shaneh2020-02-251-2/+2
| | | | | | | | | | | | | | | | | | | | C4573: the usage of 'QObject::connect' requires the compiler to capture 'this' but the current default capture mode does not allow it and implicit conversions from size_t to int Change-Id: If9b4ba3103cadd5b2a38ba7072d05aa1488a87bb Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: hjk <hjk@qt.io>
* | ProjectExplorer: Introduce ToolChainKitAspect::{c,cxx}ToolChainhjk2020-02-191-14/+13
|/ | | | | | | | | Special accessors to the repeatedly used C and C++ cases to denoise and slim down user code. Plus some code cosmetics nearby. Change-Id: Iba4662bd4731d8c4256e658529f39d5c995691ce Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Provide an empty default IPlugin::extensionsInitialized()hjk2020-02-072-5/+0
| | | | | | | And remove all empy re-implementations. Change-Id: I19f0b4e55c042c96693ecb89766f97f0a97b54ae Reviewed-by: Eike Ziller <eike.ziller@qt.io>