Commit Graph

332 Commits

Author SHA1 Message Date
jackun
c75232389b
A little more "atomic" cpu temp update for hud renderer; whitespace 2020-08-11 21:47:49 +03:00
FlightlessMango
ce80203ee6 Minimal hud for recording 2020-08-09 08:39:49 +02:00
FlightlessMango
a06e01c7ef Merge branch 'develop' 2020-08-02 08:28:24 +02:00
FlightlessMango
4fd1c5f3e7 Fixed some basic errors 2020-08-02 08:25:04 +02:00
FlightlessMango
9445ab4acc Warning that permit_upload = 0 2020-08-02 01:19:25 +02:00
FlightlessMango
6a443f35ac Upload multiple logs 2020-08-02 01:10:21 +02:00
jackun
fc62624b7b
Recalculate right alignment offset if font scale changes 2020-07-31 22:51:55 +03:00
flightlessmango
c046c250d8
Merge branch 'develop' into benchmark-percentages 2020-07-23 11:16:59 +00:00
jackun
55430d7571
Initialized fps limiter or wait for 300 years 2020-07-17 00:41:09 +03:00
Lars Krämer
7cc76142f1 Tidy up DBus helper classes
make sure metadata is up-tp-date when switching players (WIP)
2020-07-07 01:28:04 +02:00
Lars Krämer
6484e09f01 Implement wrapper class for DBusMessageIter
Implement for_each-style helpers for common constructions
Reimplement most of the DBus message parsing in terms of these
2020-07-07 01:28:04 +02:00
Lars Krämer
5850643db4 Change the media player functionality to allow changing active media
player
2020-07-07 01:27:46 +02:00
larskraemer
a28931ef6b
General cleanup (#272)
* Cleanup unused struct fields, use uniform include guards
2020-07-06 20:31:40 +03:00
flightlessmango
eafa62356b
Merge branch 'develop' into benchmark-percentages 2020-06-30 04:39:08 +02:00
Lars Krämer
0b29a7ea06 Remove conflict in render_imgui 2020-06-29 16:43:25 +02:00
Lars Krämer
329725c134 Move Log uploading; Cleanup 2020-06-29 16:33:21 +02:00
Lars Krämer
4101237fdd Move logging functionality into a class 2020-06-29 16:33:17 +02:00
jackun
c63037efb5
Use 1-channel font textures; glyph ranges support; vulkan image descriptors and "helper" functions
* To save some memory, use just 1-channel alpha-only textures
* Add some sort of wider glyph ranges support
* Chop single-ish vulkan font image uploading function into separate reusable helper functions
* Use descriptor set for ImTextureID but probably use texture array and push constants for "fast-path" if need arises
2020-06-29 17:15:50 +03:00
Lars Krämer
20221217d4 Frame-timing using chrono 2020-06-24 20:14:24 +02:00
Lars Krämer
22026cbc60 Create MesaClock class, use chrono classes for time points/durations 2020-06-24 14:41:34 +02:00
Kingsley McDonald
0e1fe708c8 make use of new float parsing function
i've also moved the input validation checks to the config parser, so that
warnings aren't displayed in the terminal output every time a benchmark is
run with an invalid percentile entry.
2020-06-23 19:01:55 +01:00
Kingsley McDonald
aa77a351de implement configurable benchmark percentiles. 2020-06-23 18:46:43 +01:00
FlightlessMango
e957358786 Force a hw values update on log start 2020-06-21 13:44:12 +02:00
jackun
44060c2b80
Force blacklist re-check at certain points
Wine preloader that executed a non-blacklisted app may execute a blacklisted app,
or vice versa, and previous check applies to new app too.
2020-06-21 14:18:56 +03:00
FlightlessMango
a9463ae06c Start logging after first update 2020-06-20 17:17:54 +02:00
Alan Witkowski
61a443bd50
add .csv extension to log file and rename function that generates the log filename suffix 2020-06-19 18:57:42 +03:00
larskraemer
ecd84c8cc0
Logging options (#234)
* Added config options for logging

* Documentation

* Log everything

* Add RAM/VRAM usage to the log

* add loggingOn-check for memory usage

* Always init GPU stats

* Move functions from logging.h to logging.cpp, remove params from writeFile
2020-06-19 18:32:04 +03:00
jackun
66ddada43c
Fix readlink overloading for fortified musl
Issue #231
2020-06-19 16:15:49 +03:00
FlightlessMango
e2ec80d84e Upload log keybind setup 2020-06-19 13:59:19 +02:00
FlightlessMango
f14c9a7587 Moved exec function in to logging.h 2020-06-19 13:56:45 +02:00
FlightlessMango
8e34e752e5 Merge branch 'master' into develop 2020-06-18 18:15:45 +02:00
Kingsley McDonald
6178c5859c adjust benchHeight for 0.1% and fix percentages. 2020-06-18 15:32:59 +01:00
Kingsley McDonald
053a1d8a44 add 0.1% lows to the brief benchmark overlay 2020-06-18 13:35:46 +01:00
jackun
5ec6519832
Add media_player_order to set media player metadata order 2020-06-13 22:00:36 +03:00
FlightlessMango
b9c00fc510 Check pci.ids without gpu_stats 2020-06-12 04:21:19 +02:00
FlightlessMango
38a78fa01e Fix logging window if bg alpha is 0 2020-06-12 04:16:39 +02:00
Rémi Verschelde
f915d890f2 Fix -Wformat-security warning with GCC 10.1 2020-06-11 13:47:24 +02:00
FlightlessMango
0728d49a1d Fix width with no params 2020-06-11 13:50:08 +02:00
FlightlessMango
df631a2343 Reduced width with io rw 2020-06-11 12:33:07 +02:00
FlightlessMango
e9b1b70ebc Fixed nextRow for gpu_power 2020-06-11 09:03:24 +02:00
FlightlessMango
135f3a5009 Fixing compiler warnings and removing control 2020-06-11 08:58:29 +02:00
FlightlessMango
59268a34b3 Always do nextRow() with core_clock 2020-06-11 08:54:11 +02:00
FlightlessMango
bc5d41f921 Changed IO rd/wr to rw 2020-06-11 08:03:58 +02:00
FlightlessMango
4a5e05c979 Trim gpuName from pci.ids 2020-06-11 07:58:19 +02:00
FlightlessMango
572ba69e3e More width fixing 2020-06-11 04:50:39 +02:00
jackun
b68f78028d
Fix "IO RD/RW" typo
Also micro-micro-micro optimization, probably: move READ/WRITE if statement before WRITE
as you'd probably find it more useful than just WRITE.
2020-06-10 22:00:55 +03:00
jackun
1495b1e88f
ifdef guard nvml header 2020-06-09 14:16:02 +03:00
jackun
953c8d0e0f
Add meson option with_nvml 2020-06-09 13:44:41 +03:00
jackun
2220cb9d74
Decouple engine_version from fps 2020-06-06 13:00:59 +03:00
jackun
16b05dfc5e
Show gpu core clock or power usage in 4th column or both on next row if both are enabled 2020-06-06 12:50:13 +03:00
jackun
b837ce930e
[whitespace] fix indentation from gpu_name to arch 2020-06-05 15:46:37 +03:00
FlightlessMango
db151bb236 Add log_interval check to per frame log write 2020-06-05 06:14:47 +02:00
FlightlessMango
d8727110b0 Replaced log_period env with log_interval param 2020-06-04 00:52:11 +02:00
FlightlessMango
128fbd4b88 Per frame logging use output_file and date 2020-06-04 00:47:01 +02:00
FlightlessMango
33a5ad6571 Format gpu_text and cpu_text in textColored 2020-06-01 20:18:15 +02:00
FlightlessMango
dd1667bf3e Fixed typo 2020-06-01 03:49:34 +02:00
FlightlessMango
2d0ba9a076 Params to override cpu/gpu text 2020-06-01 02:08:35 +02:00
jackun
c04658456a
Wider glyph ranges for custom font; media player text scaling with font_scale_media_player param 2020-05-24 16:49:11 +03:00
FlightlessMango
c254347688 Use histogram in benchmark too 2020-05-24 17:28:29 +02:00
FlightlessMango
ac926bbfd5 Added histogram param 2020-05-24 17:17:17 +02:00
FlightlessMango
078617f999 Added param for engine version 2020-05-23 23:16:08 +02:00
jackun
ff48525313
Consolidated amdgpu file handles to a struct and add gpu_power param to show power usage for amdgpu/nvml 2020-05-22 15:44:34 +03:00
jackun
5057a47b05
Potential buffer overflow, use snprintf instead 2020-05-21 20:23:33 +03:00
jackun
159305bbc7
Use display_time instead of recalculating 2020-05-21 20:19:46 +03:00
FlightlessMango
1d375fd155 Removed crosshair 2020-05-20 18:21:14 +02:00
FlightlessMango
434aa04356 Fixed bench position even more 2020-05-19 12:57:17 +02:00
FlightlessMango
7f9bb2e6b8 Fixed mistake in bench positioning 2020-05-19 12:38:03 +02:00
FlightlessMango
54f83ee3d6 Corrected position and sizing for quick bench 2020-05-18 01:09:24 +02:00
FlightlessMango
22c25b6247 Fixo typo in quick benchmark 2020-05-17 16:33:57 +02:00
jackun
c5bb35c10d
Merge branch '159' into develop 2020-05-17 15:24:47 +03:00
FlightlessMango
92b86ad8bf Added plot graph to quick benchmark 2020-05-17 15:51:43 +02:00
Valters
1afea91dab
Add multi hotkey 2020-05-17 15:19:20 +03:00
FlightlessMango
75f9128ce5 Redesigned logging, adding quick benchmark 2020-05-16 13:35:50 +02:00
FlightlessMango
927fee0f59 No need to add version for nvidia twice 2020-05-13 10:54:00 +02:00
jackun
40255b62f9
Fix get_device_name, don't substr if no '[' in gpu name 2020-05-12 22:56:20 +03:00
jackun
2622270e5c
Init remote control params even if blacklisted 2020-05-12 20:40:16 +03:00
jackun
d694a61d21
Add media_player_name and media_player_color params
Allows to set "main" media player and text color
2020-05-11 22:05:13 +03:00
jackun
6c2b00ffb7
Append driver version 2020-05-10 15:46:40 +03:00
jackun
768297b430
[editorconfig] Apply whitespace rules 2020-05-10 15:18:59 +03:00
FlightlessMango
bc0a0aa53e No need to save deviceName for later 2020-05-10 16:09:05 +02:00
jackun
2308a4228a
Fix vulkan device name 2020-05-10 14:44:04 +03:00
FlightlessMango
31b01aab9f Uncommented most of prop.driverVersion code 2020-05-10 08:56:41 +02:00
FlightlessMango
848b296477 Display vulkan driver
Co-authored-by: Georg Lehmann <dadschoorse@gmail.com>
2020-05-10 02:22:44 +02:00
FlightlessMango
f3422af562 Param gpu_name 2020-05-10 02:21:39 +02:00
FlightlessMango
1ddcc531ff Get device name from pci.ids and display it 2020-05-10 01:43:08 +02:00
FlightlessMango
ed62155310 Parse pci.ids
Co-authored-by: jackun <jack.un@gmail.com>
2020-05-10 01:40:56 +02:00
FlightlessMango
a2cc14f738 Get deviceID 2020-05-10 01:36:09 +02:00
FlightlessMango
3f4949f593 Added top-center overlay position 2020-05-04 06:54:25 +02:00
FlightlessMango
9cf6c502d2 Missing brackets for versions in render_imgui 2020-05-02 20:20:10 +02:00
FlightlessMango
e170e64f9c [Params] Version option 2020-05-02 18:39:39 +02:00
jackun
0ab53a1c06
Move MANGOHUD_PCI_DEV to config file param 'pci_dev'
Relax format requirements as long as it loosely resembles 'domain🚌slot.func' format.
2020-05-02 17:40:05 +03:00
FlightlessMango
bff9958284 Changed pthreads to std::thread 2020-05-01 23:55:21 +02:00
Sporif
1e1dcd3a98 Fix vulkan driver version shown for Nvidia and Intel on Windows 2020-04-30 14:38:22 +01:00
jackun
29e5c4e460
Show device's name and vulkan driver version 2020-04-28 18:06:39 +03:00
jackun
8b855e3251
Fix mul/div order when normalizing io stats to sample per second as fps_sampling_period is also an integer. 2020-04-28 17:25:34 +03:00
Sporif
61ef9244e9 Disable dlsym hooking by default and fix LD_PRELOAD propagation to new processes
This allows `mangohud steam` to work
2020-04-18 17:53:41 +01:00
Sporif
c4a00704cf Separate out blacklist implementation 2020-04-18 17:53:41 +01:00
Georg Lehmann
1eca184157
Vulkan Overlay: Don't try to change the image layout to present twice
The render pass already does the transition.
The pipeline barrier is still needed to transfer the queue family ownership.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3740>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3740>
2020-04-18 18:37:27 +03:00
jackun
88188ee1da
[dbus] Generalize a bit more but still give Spotify special treatment, keep track of 'org.mpris.MediaPlayer2' service providers
Keeps and draws spotify's and other player's metadata separately.
Keep track of 'org.mpris.MediaPlayer2' service providers so when
a player that was the last metadata sender quits, we can stop
showing its metadata on overlay.
2020-04-13 03:02:52 +03:00
jackun
b40fb95a04
[OpenGL] Better version parsing and fix gl version checks for vertex arrays 2020-04-12 16:25:35 +03:00
jackun
a9311bb578
Allow to specify gpu with pci bus id by setting env var MANGOHUD_PCI_DEV=xxxx:xx:xx:x where x's are "domain🚌slot.function" 2020-04-11 00:34:33 +03:00
jackun
e5a256bfc0
Move DBus init to overlay_params so it can be enabled/disabled on the fly from a single place 2020-04-10 22:39:43 +03:00
FlightlessMango
d454ff43a2 Hide all hud elements on no_display 2020-04-05 13:20:15 +02:00
jackun
8024736253
Add DBus loader, combined ticker for Spotify metadata 2020-04-04 23:50:57 +03:00
FlightlessMango
d975278396
Dbus with spotify 2020-04-04 20:51:53 +03:00
jackun
2f034c6d1e
Use X11 loader functions instead of linking to X11 libs 2020-04-02 03:09:49 +03:00
jackun
049e960589
Add 'use_xnvctrl' feature to allow building without libXNVCtrl support 2020-03-30 22:48:56 +03:00
Lionel Landwerlin
1fc94600e9
vulkan/overlay: Add a workaround semaphore for application presenting without one
When an application calls vkQueuePresent() on a different queue than
the one we run our drawing on and it doesn't give a semaphore to wait
on, let's insert our own semaphore so that we don't race the
application's drawing.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2540
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3893>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3893>
2020-03-27 02:24:54 +02:00
jackun
32ae051434
Add Bethesda launcher to blacklist 2020-03-25 22:51:21 +02:00
Sporif
c24d9015cd
Blacklist support
Initial blacklist: Battle.net.exe, EpicGamesLauncher.exe, IGOProxy.exe, IGOProxy64.exe, Origin.exe, Steam.exe

Signed-off-by: jackun <jack.un@gmail.com>
2020-03-25 17:11:33 +02:00
jackun
cf17f70dab
Remove unused statistics related code 2020-03-24 21:38:08 +02:00
jackun
e72a7bdd76
[config] Try to set notifier file descriptor to non-blocking mode; add start/stop_notifier functions
If setting to non-blocking fails, just closing the fd should kill it anyway
2020-03-24 00:02:42 +02:00
jackun
2ab386d70a
Fix double definition 2020-03-23 21:19:03 +02:00
FlightlessMango
a84f5ef178 Show mangohud arch in hud 2020-03-23 20:12:11 +01:00
FlightlessMango
c9558eec50 Merge branch 'xnvctrl' into develop 2020-03-23 18:05:13 +01:00
jackun
ae3a155e22
Keep engine name per vulkan instance 2020-03-23 18:59:39 +02:00
jackun
f92a2a07db
GiB not GB 2020-03-21 21:47:50 +02:00
jackun
fbae1dfcc0
More checks for XNVCtrl support. Favor NVML but fallback to XNVCtrl if supported. 2020-03-20 16:36:00 +02:00
jackun
1915352c86
Draw versions after table so they don't get clipped 2020-03-18 18:55:51 +02:00
jackun
6ad6bffade
Use ImGui's DisplaySize so display size for layer positioning etc can be set the same way for vulkan and OpenGL 2020-03-17 15:00:20 +02:00
jackun
3d46ccafe1
Show OpenGL version below engine name too to avoid it getting clipped 2020-03-17 14:58:27 +02:00
jackun
8aa0783b4a
Show vulkan/opengl version
OpenGL glGetIntegerv(GL_[MAJOR|MINOR]_VERSION) don't work on versions < 3.0 though
2020-03-17 00:24:04 +02:00
FlightlessMango
8fb13e23e4 Resize window when reloading config 2020-03-16 18:41:48 +01:00
jackun
a0f5cb56a2
[config] Guard overlay_params from the thread with mutex 2020-03-16 18:52:03 +02:00
jackun
34184abf2e
[config] loop in the notifier thread and reload configuration file if it is changed 2020-03-16 18:35:01 +02:00
FlightlessMango
c5dad16612 Listen for modify on config file 2020-03-16 16:48:12 +01:00
FlightlessMango
b0e1fe9321 [params] set targetFrameTime in params.cpp 2020-03-15 17:09:03 +01:00
jackun
abef561573
Disable CPU stat(s) if it failed to initialize 2020-03-14 23:15:03 +02:00
FlightlessMango
b3286cbe48 check if opengl/vulkan with is_vulkan bool 2020-03-14 18:29:43 +01:00
jackun
13e57578c3
Fix update_hud_info indentation 2020-03-14 19:11:34 +02:00
jackun
154380e056
Don't update time if not enabled 2020-03-14 19:10:38 +02:00
jackun
9a7a4d99e0
Don't update CPU freq/temp if not enabled 2020-03-14 18:48:04 +02:00
jackun
6bbc89a9cc
Don't update CPU stats if not enabled 2020-03-14 18:41:50 +02:00
jackun
16552b25e3 Don't update RAM/IO stats if not enabled 2020-03-14 18:38:18 +02:00
jackun
57f3b3470d
Remove param_unit() 2020-03-13 18:25:22 +02:00
FlightlessMango
e24f5dfc8b added log_duration param and updated readme 2020-03-13 16:27:45 +01:00
FlightlessMango
8641392ca7 added MANGOHUD_FONT to params as font_file 2020-03-13 16:18:47 +01:00
FlightlessMango
d1bdf71580 added MANGOHUD_OUTPUT to params as output_file 2020-03-13 16:06:57 +01:00
jackun
05d61ee77e
Init CPUStats just once 2020-03-13 16:08:36 +02:00
FlightlessMango
e68dd48f3f forgot one refresh_config 2020-03-13 15:07:44 +01:00
FlightlessMango
fe69ec2955 changed refresh_config to reload_cfg 2020-03-13 14:57:11 +01:00
jackun
373bba5fcf
Keep time outside the table or it gets clipped if using too fancy a format 2020-03-11 12:11:16 +02:00
FlightlessMango
8bf8723ad5 added param text_color 2020-03-11 06:20:18 +01:00
FlightlessMango
77b3033cc7 Removed frametime_alpha and replace it with an overall alpha for text and frametime 2020-03-11 06:07:41 +01:00
FlightlessMango
88ad5de2ab Fix so preloading doesn't break vulkan layer 2020-03-10 08:27:27 +01:00
FlightlessMango
163c76bea7 added param background_color 2020-03-10 07:48:04 +01:00
FlightlessMango
906a8cde23 added param frametime_color 2020-03-10 06:30:37 +01:00
FlightlessMango
a2735693ba Merge opengl into develop 2020-03-10 06:19:18 +01:00
FlightlessMango
755558ecb9 added param io_color 2020-03-10 05:01:31 +01:00
FlightlessMango
d8b3c3c81f params for changing color of cpu, gpu, vram, ram and engine text 2020-03-10 04:51:27 +01:00