Commit Graph

100 Commits (6306fed7f749837f2a780c883743af3a116a5465)

Author SHA1 Message Date
Adel KARA SLIMANE 6306fed7f7 Add mangoplot script
Displays frame time distributions from local files

Signed-off-by: Adel KARA SLIMANE <adel.ks@zegrapher.com>
1 year ago
FlightlessMango 12a86ef36e meson: prefer system cmocka 1 year ago
FlightlessMango 5fa7087f78 Bump to 0.6.9 1 year ago
FlightlessMango f74fc5779f use minhook subproject instead of module 1 year ago
Emil Velikov bc282cf300 meson: remove use_system_vulkan/vulkan_datadir
Newer versions of the XML and headers don't play nice. In particular the
VK_LAYER_EXPORT macro was removed and the XML was reworked quite
significantly, so our generator no longer works.

I was able to port newer version of the generator scripts from Mesa
(where these were copied from originally), although these new scripts
don't work with the old XML.

Just drop the meson knobs and always use the subproject version. In
practical terms this is identical to what Mesa also does... So Debian
DFSG should not be _too_ upset.

Closes: https://github.com/flightlessmango/MangoHud/issues/927
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
1 year ago
Emil Velikov 5c86369758 meson: explicitly annotate version.h as dependency
Currently we list the custom_target (aka vcs_tag() as part of the
sources. Although since it's not an explicit dependency meson/ninja are
free to compile the C/C++ files, before the file is generated.

Closes: https://github.com/flightlessmango/MangoHud/issues/862
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
1 year ago
Emil Velikov 08c26d595f meson: do not pick system vulkan, when explicitly disabled
For this to actually work, we also need to set dep_vulkan for all users.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov 047bc2e7f7 tests: make it work aka hide HUDElements
Currently the test is pulling an external reference to HUDElements,
which is unresolved so the test fails to link.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov eecd451068 meson: build with -Werror=missing-declarations
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov 581b6b3375 meson: move util_files next to its user
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov cf314e6c9f meson: use xx.get_supported_arguments()
This construct allows meson to check the argument in parallel, but more
importantly it also knows about the "-Wno-" workaround and applies it as
needed.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov e77fb741c6 meson: drop -Wno-format-truncation
No longer needed

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Emil Velikov 270beefdf3 meson: drop no_override_init_args
No longer needed

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
1 year ago
Bill Li 8ea3f86dbf add missing include to test 1 year ago
FlightlessMango ddbb4f5be1 intel: use json for parsing intel_gpu_top output 2 years ago
FlightlessMango abb7cdcb6e test: amdgpu: fix renamed test 2 years ago
FlightlessMango cb7d2a2447 amdgpu tests 2 years ago
FlightlessMango ed6a427751 tests: cmocka subproject 2 years ago
Stephan Lachnit b8b6d61b25 Build mangoapp and mangohudctl for any CPU architecture
On 32-bit-only machines, building these for the 32-bit architecture makes sense.

Signed-off-by: Simon McVittie <smcv@debian.org>
2 years ago
FlightlessMango efdcc6d2f5 Bump to 0.6.8 2 years ago
jackun e5d52c202e
Add meson install_tags, bump meson to 0.60 2 years ago
jackun 50720d2215
Install data files only if `include_doc` option is set 2 years ago
Stephan Lachnit e1ffa0f858 meson.build: allow system nlohmann_json to satisfy dependency
Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
2 years ago
jackun 58e277a8b7
Disable werror and tests for spdlog 2 years ago
jackun 77bb7fd756
Disable werror for Dear ImGui
GCC 7.5:
../../subprojects/imgui-1.81/imgui.h:1642:80: warning: assuming signed overflow does not occur when assuming that (X - c) <= X is always true [-Wstrict-overflow]
     inline T&           operator[](int i)                   { IM_ASSERT(i >= 0 && i < Size); return Data[i]; }
2 years ago
FlightlessMango 663bbd05a6 Bump to 0.6.7 2 years ago
FlightlessMango 4341843117 nlohmann_json wrap 2 years ago
Emil Velikov 68ce8f81cc Remove libdrm_amdgpu metrics
There are two alternatives - hwmon entries and gpu_metrics sysfs file.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
Emil Velikov e3977ad648 meson: increase the warning_level to 2
The default is 1, which effectively omits -Wextra.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
Emil Velikov a5d5091f0e meson: build with -Wno-unused-parameter
Otherwise we get a ton of warnings about unused function parameters.
The existing -Qunused-arguments seems to be clang specific.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2 years ago
FlightlessMango 4d76ad5161 Fix some uglyness in meson build 3 years ago
FlightlessMango 67a4918439 Only check for glfw dep if mangoapp 3 years ago
FlightlessMango e0fe8b6930 Fix issue with imgui options 3 years ago
FlightlessMango d99d6c8bd4 Bump version to 0.6.6 3 years ago
FlightlessMango cd215854ce Mangoapp: meson option 3 years ago
FlightlessMango 4e3a40c6ef mangoapp + gamescope shm 3 years ago
jackun 67e5d790d1
Build and link to spdlog as static lib
Speeds up compiling a bit
3 years ago
jackun 6dee0948a5
Require meson >=0.54 for `default_library` option. 3 years ago
jackun a82e27d978
Use spdlog macros so logging can be completely disabled during compile-time 3 years ago
jackun 2f807a4c0d
Add `spdlog` wrap and logging 3 years ago
jackun c093f9823e
Use libdrm_amdgpu for amdgpu sensor info, if available
Using plain `open` as `drmOpen` needs bus id check which needs interface 1.4 ioctl which gives EPERM cause only DRM_MASTER can call it :(

https://github.com/clbr/radeontop/issues/48#issuecomment-493792404
3 years ago
FlightlessMango e42002c57b Bump version to 0.6.5 3 years ago
FlightlessMango 7bddec9397 bump to v0.6.4 3 years ago
jackun 5f54a9cfe6
Bump to v0.6.3 3 years ago
Kira Bruneau d8a1ddf253
meson: Add vulkan_datadir option (#522)
This option enables using system Vulkan headers when it doesn't share
the same datadir as MangoHud. This is specifically an issue in NixOS
where packages are built into their own isolated directories in
/nix/store.

For example:
/nix/store/9g28nz6zh484144mzw670bx82y1ka49a-vulkan-headers-1.2.162.0/share/vulkan/registry/vk.xml

This is currently worked around in the Nix package, by symlinking the
vulkan-headers into MangoHud's install directory:

5debc57760/pkgs/tools/graphics/mangohud/default.nix (L66-L70)

Although, this hack causes the vulkan-headers to be included as a
runtime dependency when they're only needed at build time.

I tried to figure out a way to resolve the datadir automatically, but
found that just adding a new option is probably the best solution for
the following reasons:

- The vulkan.pc file used to resolve dep_vulkan doesn't contain any
information about the datadir.

- The share directory could be resolved relative to the vulkan include
directory and that would solve the specific issue for Nix, but the
datadir could be installed anywhere and that wouldn't be a general
solution.

- I couldn't find a way to resolve the data dir using the XDG Base
Directory Specification because meson doesn't provide a way to access
the necessary environment variables.

https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
3 years ago
flightlessmango af57e0cb2d
Merge pull request #445 from stephanlachnit/p/build-source-rework
imgui wrap from WrapDB and build-source.sh rework
3 years ago
flightlessmango 206c55ef2e Bump version to v0.6.2 3 years ago
Stephan Lachnit b0ee2f749c
imgui wrap from Wrap DB and build-source.sh rework
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
3 years ago
jackun 53cca5e723
Merge remote-tracking branch 'origin/master' into develop 3 years ago
Aidan Harris 0a29c7369a
Explicitly test for the mako python module
Some distros (Gentoo) support multiple versions of python3 and mako may
not be built for all of the implementations. Testing for the module
early will make sure meson bails out if the module cannot be
found.
3 years ago