Commit Graph

799 Commits

Author SHA1 Message Date
FlightlessMango
ac821df7fa Win32 basic d3d11 present hook 2020-09-07 07:49:14 +02:00
FlightlessMango
86703ee364 Win32 keybinds 2020-09-07 07:26:53 +02:00
FlightlessMango
dd741cdda3 Assume MangoHud.conf in C:\ root on win32 2020-09-07 07:10:34 +02:00
FlightlessMango
2f55f52011 Allow blacklist for unix too 2020-09-07 06:37:27 +02:00
FlightlessMango
ab90abe4d4 De-linuxify vulkan 2020-09-07 06:36:35 +02:00
FlightlessMango
ab469dee78 Win32 dxgi cleaning up debugging 2020-09-07 04:40:30 +02:00
FlightlessMango
bf9132bba1 Win32 nvapi gpu usage 2020-09-07 04:38:55 +02:00
FlightlessMango
7dd6792772 Win32 nvapi gpu usage 2020-09-07 04:38:35 +02:00
FlightlessMango
2ebb381166 Win32 d3d_shared 2020-09-06 13:55:02 +02:00
FlightlessMango
cbd87585b4 Win32 cpu usage 2020-09-06 13:52:18 +02:00
FlightlessMango
ff5d85a4a5 Win32 overlay_params 2020-09-06 13:44:19 +02:00
FlightlessMango
ed466d3c9d Fix some more linux vs win compatability 2020-09-06 11:41:31 +02:00
FlightlessMango
21e8d8c402 Move calc benchmark into overlay 2020-09-06 10:58:16 +02:00
FlightlessMango
785b37534d win32 file_utils 2020-09-06 10:56:24 +02:00
FlightlessMango
c3fc0f10b0 Start separating vulkan, keybinds, overlay and font 2020-09-06 10:30:57 +02:00
FlightlessMango
1c5baef992 Move try_log into update_hud() and fix formatting 2020-09-06 07:56:29 +02:00
FlightlessMango
968f3ab20c Cleaning up d3d12 hook 2020-09-06 07:54:10 +02:00
FlightlessMango
896a6117a2 Actually use minhook for kiero 2020-09-06 07:53:51 +02:00
FlightlessMango
1263b8d954 Build with windows_deps 2020-09-06 07:50:31 +02:00
FlightlessMango
9391822da5 Basic d3d12 present hook 2020-09-05 11:16:20 +02:00
FlightlessMango
8d3e8b5205 Add kiero to win 2020-09-05 08:09:42 +02:00
FlightlessMango
3ffa1bed7a Windows attach dll 2020-09-05 07:51:36 +02:00
FlightlessMango
b7aa6a997b Separate unix and windows in meson 2020-09-05 07:42:39 +02:00
FlightlessMango
c337fddc58 Move try_log() into render_imgui 2020-09-02 09:44:39 +02:00
FlightlessMango
c4a7d3002b Moved try_log() outside of no_display 2020-09-02 07:52:28 +02:00
FlightlessMango
d0c9176d6d Log frametime as nanoseconds 2020-09-02 07:50:56 +02:00
FlightlessMango
9ddd075b18 Get actual frametime for logs 2020-09-02 07:50:26 +02:00
jackun
cec98369ae
Include array, explicitly 2020-08-25 07:58:56 +03:00
FlightlessMango
3dc3c82522 Add frametime to log 2020-08-21 20:16:00 +02:00
FlightlessMango
c1a255260f Add recording circle to render_mango 2020-08-20 01:14:20 +02:00
jackun
60940e5a02
[OpenGL] Just "refcount" by glXCreate/DestroyContext calls; recreate "lost" objects 2020-08-18 19:16:15 +03:00
FlightlessMango
0230efee8b Small adjustments to render_mango 2020-08-17 20:57:15 +02:00
jackun
ba6346110c
[OpenGL] Enable color mask
Maybe previous state needs to be restored afterwards?
2020-08-17 20:39:39 +03:00
jackun
e56b7ded15
Use setenvinstead as putenv makes Lutris' wine crash for some reason (threading?) 2020-08-16 19:54:20 +03:00
FlightlessMango
4f64e1403a Deprecation message for output_file 2020-08-16 15:11:53 +02:00
FlightlessMango
500fba7f6c Fix for memory leak in source 1 games 2020-08-16 15:03:00 +02:00
Alessandro Toia
632f1e7000
Add wine and wine colors to overlay 2020-08-16 14:57:35 +03:00
FlightlessMango
a8b874cd2d [NVML] Only get pci info once 2020-08-15 16:35:04 +02:00
FlightlessMango
ac85815d82 Changed output_file to output_folder 2020-08-15 15:14:55 +02:00
FlightlessMango
8a39043a13 Merge branch 'master' into develop 2020-08-15 14:04:30 +02:00
jackun
443271f0b5
Convert hud color params to linear for sRGB image formats 2020-08-13 18:20:45 +03:00
jackun
6f176a3f3b
Fix cpu usage formatting (float parsed as int) 2020-08-12 22:50:49 +03:00
jackun
c75232389b
A little more "atomic" cpu temp update for hud renderer; whitespace 2020-08-11 21:47:49 +03:00
FlightlessMango
759c4aeed1 No need to 0 cpu temp every tick 2020-08-11 20:40:18 +02:00
FlightlessMango
ce80203ee6 Minimal hud for recording 2020-08-09 08:39:49 +02:00
jackun
fcefc07966
Load libnvidia-ml and libXNVCtrl on demand 2020-08-04 21:43:09 +03:00
jackun
a173989b1c
Make build.sh compatible with \$LIB 2020-08-04 19:51:00 +03:00
Stephan Lachnit
d712d35aaf
simplify cross arch preloading
This commit does a couple of things. In the mangohud launch script, the library will be found using $LIB with ld, so the correct path is selected depending on the cpu arch. The same is done for mangohud.json (vulkan layer). In addition some now unused files have been deleted.

Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-08-04 18:36:16 +03:00
jackun
6ee225ed66
Clear cpu temp hwmon path if no supported sensor is found 2020-08-03 20:37:32 +03: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
b07db5d3ef
[dbus] Don't clear metadata when reloading config file 2020-07-31 23:05:50 +03: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
5ce6bcb79c
Set target frametime only if fps_limit > 0 2020-07-17 01:14:09 +03:00
jackun
55430d7571
Initialized fps limiter or wait for 300 years 2020-07-17 00:41:09 +03:00
jackun
bb50e6a637
[dbus] Use "xesam:url" to force metadata update
If file has no other metadata, clear old metadata by using
"xesam:url" to detect new file being played.
2020-07-16 14:24:03 +03:00
jackun
f74b4bccd9
[dbus] always update metadata if no forced player
Otherwise it stays in "paused" state if resuming play.
2020-07-16 14:22:00 +03:00
jackun
d581a9ce2b
Merge pull request #264 from larskraemer/media_player_autodetect
Media Player autodetect
2020-07-16 14:02:32 +03:00
Stephan Lachnit
acf2d88fbc Import Dear ImGui files as subproject
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-07-09 00:55:10 +03:00
Lars Krämer
a393c05829 Fix auto-switching bug
Debug output under ifdef NDEBUG
2020-07-07 01:29:37 +02:00
Lars Krämer
6dd08c89bc Use fallback only if no player was requested;
Request no player by default
2020-07-07 01:29:37 +02:00
Lars Krämer
9a34b55498 Move interactions with main_metadata into separate functions
More tidying up of the helper classes
2020-07-07 01:29:35 +02: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
72b86b4371 Fix some weird behaviour with non-spotify media players
Add DBusMessage_wrap to wrap/hide some dbus_message_* calls
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
4bf7a3f2f0 Make DBus signal handling more event-based 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
jackun
8eba5e2ed2
[OpenGL] Use GL_R8 for font textures
Randomly getting squares with GL_ALPHA for some reason
2020-06-30 02:06:01 +03: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
5fe5ac5f3d
Build script and fixes for Steam Runtime SDK 2020-06-29 17:30:45 +03: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
jackun
e0832c7e02
Re-add config file watch in case of IN_DELETE_SELF 2020-06-29 14:38:47 +03:00
jackun
068157f3d8
Fix cpu fallback temp sensor logic
Break the for loop either way so `path` still points to sensor module's hwmon folder.
2020-06-25 17:29:26 +03:00
jackun
62efa4acc4
[OpenGL] Simplify if check 2020-06-25 16:51:24 +03:00
jackun
d0999ab01b
[OpenGL] Workaround: Merge version and shader strings for Feral games
FIXME: GLAD loads Feral's version of glShaderSource,
2020-06-25 16:51:24 +03:00
jackun
2db83f4e18
[OpenGL] Check if font texture is valid and regenerate if not 2020-06-25 16:51:14 +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
979c4d32ca oops! i didn't save changes from the merge conflict >.< 2020-06-23 18:51:51 +01:00
Kingsley McDonald
aa77a351de implement configurable benchmark percentiles. 2020-06-23 18:46:43 +01:00
jackun
0d03b5a150
meson: use gnu_symbol_visibility argument
This uses a meson builtin to handle -fvisibility=hidden.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>
2020-06-21 22:55:13 +03:00
FlightlessMango
118a105aa4 Check often if logUpdate has occured 2020-06-21 13:47:22 +02: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
fbd60a102f Forgotten debugging in logging 2020-06-20 17:35:21 +02:00
FlightlessMango
a9463ae06c Start logging after first update 2020-06-20 17:17:54 +02:00
FlightlessMango
0f171dbd9c Added labels to log csv file 2020-06-20 14:05:21 +02:00
jackun
03ec318d00
Make find_*_ptr function pointers static 2020-06-19 23:44:57 +03:00
jackun
2da02ee553
Try to limit exported symbols with --version-script 2020-06-19 23:42:30 +03: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
jackun
612d3b761d
Merge pull request #237 from larskraemer/float_parser
First implementation of custom float parsing
2020-06-19 18:49:57 +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
FlightlessMango
99cefe96a5 Created logging.cpp 2020-06-19 16:28:55 +02:00
jackun
66ddada43c
Fix readlink overloading for fortified musl
Issue #231
2020-06-19 16:15:49 +03:00
jackun
6887abbea8
Just <limits.h> 2020-06-19 16:01:18 +03:00
jackun
edf9f95517
Use std::locale::classic with confiog file ifstream, just in case 2020-06-19 16:01:18 +03:00
FlightlessMango
916ef02eb2 Revert "Add readlink.c to meson"
This reverts commit 56933049d0.
2020-06-19 14:48:38 +02:00
FlightlessMango
b614734ab6 Revert "Trying to fix issue #231 musl"
This reverts commit 01233e5f1f.
2020-06-19 14:47:24 +02:00
FlightlessMango
56933049d0 Add readlink.c to meson 2020-06-19 14:23:43 +02:00
FlightlessMango
01233e5f1f Trying to fix issue #231 musl 2020-06-19 14:22:09 +02:00
FlightlessMango
8f22ebae44 Also check for pci.ids in /usr/share/misc/ 2020-06-19 14:05:46 +02:00
FlightlessMango
e2ec80d84e Upload log keybind setup 2020-06-19 13:59:19 +02:00
FlightlessMango
8d6ff5bd25 upload log functions 2020-06-19 13:59:07 +02:00
FlightlessMango
6a28a8f7f1 Track log files for current session 2020-06-19 13:58:53 +02:00
FlightlessMango
064c285f31 permit_upload and upload_log params 2020-06-19 13:57:44 +02:00
FlightlessMango
f14c9a7587 Moved exec function in to logging.h 2020-06-19 13:56:45 +02:00
Lars Krämer
3421ad269a Use locale::classic 2020-06-19 13:44:25 +02:00
jackun
441f1d3f3f
Use std::locale::classic() in parse_float() 2020-06-19 14:43:28 +03:00
jackun
d9a09670d8
Replace std::stoi with something that doesn't throw 2020-06-19 13:47:52 +03:00
jackun
e1fb2fbf88
Parse floats in C locale, hopefully 2020-06-19 13:47:30 +03:00
Lars Krämer
4d22927776 Use a stringstream 2020-06-19 12:07:16 +02:00
Lars Krämer
01df8149ab sign bug 2020-06-19 04:26:41 +02:00
Lars Krämer
b8571c27e2 First implementation of custom float parsing 2020-06-19 03:36:55 +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
Stephan Lachnit
d956f60f86 remove old system nvml build option
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-06-12 13:37:12 +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
71cbd66afb Fixing cpu temp for core 2 duo CPUs 2020-06-11 14:02:56 +02:00
FlightlessMango
d41909321a More width fixing 2020-06-11 13:59:15 +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
FlightlessMango
816d6ca515 Fixing hud width issues 2020-06-11 04:48:26 +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
FlightlessMango
6d1ed9751d Changed default keybinds 2020-06-10 08:34:37 +02:00
Valters
40017bc1e6
Change blacklist type (#204)
* Set blacklist to std::vector<std::string>

Fix some strange crashes.

Co-authored-by: jackun <jack.un@gmail.com>
2020-06-09 19:00:35 +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
a236af66ee
Lock metadata mutexes in case they are cleared by inotify thread 2020-06-08 19:09:10 +03:00
jackun
467c53d22f
Keep track of notifier thread to make sure it exits before notify_thread struct is freed 2020-06-08 19:08:01 +03:00
jackun
31f9cce720
[COMMENTED] Make inotify monitor new per-app config file or if delete, the main config file again
Needs to be triggered by main config file change.
FIXME what if there's no config file?
2020-06-08 19:03:20 +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
91ccde4969
[blacklist] Add SocialClubHelper.exe
No much difference but at least doesn't spam log as much
2020-06-06 12:35:55 +03:00
FlightlessMango
3d503c9f29 Don't enable histogram with full param 2020-06-06 00:49:24 +02:00
jackun
b837ce930e
[whitespace] fix indentation from gpu_name to arch 2020-06-05 15:46:37 +03:00
jackun
1f81889d1b
Show bitness in library loaders 2020-06-05 15:28:30 +03:00
FlightlessMango
db151bb236 Add log_interval check to per frame log write 2020-06-05 06:14:47 +02:00
FlightlessMango
52989a727e Cleaning up for after change to log_interval 2020-06-04 05:17:00 +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
4bdd252393 Load 32bit libs if they exist with 64bit bin 2020-06-03 22:00:48 +02:00
Valters
6cebbba732
Always print blacklist info to STREAM 2020-06-02 16:47:58 +03:00
Valters
4721281952
Add LeagueClient{,UxRender} to blacklist 2020-06-02 16:47:58 +03: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
FlightlessMango
0e3508dcf0 Check if pci.ids was found 2020-05-30 18:02:14 +02:00
jackun
699de56fa1
[dbus] clear non-main players' metadata on dbus deinit 2020-05-28 20:55:30 +03:00
jackun
72602fab89
[dbus] remove missed exceptions; set dbus call timeout to 2 seconds 2020-05-28 20:52:32 +03: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
jackun
15ed8df404
Fix keybinds init when building without X11 2020-05-24 14:14:10 +03:00
jackun
5ad67fe446
Remove unused vars 2020-05-24 14:14:10 +03:00
FlightlessMango
078617f999 Added param for engine version 2020-05-23 23:16:08 +02:00
FlightlessMango
0e396186a6 [OpenGL] Always use QueryDrawable 2020-05-22 22:01:14 +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
5c3c8a5ac9
Add nvmlDeviceGetPowerUsage import 2020-05-22 15:38:54 +03:00
jackun
9b595cef1a
[dbus] clear metadata on re-init; don't use exceptions 2020-05-22 15:00:35 +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
357a819d67 Removed some debugging in logging 2020-05-20 19:34:12 +02:00
FlightlessMango
096fb626a3 Fixed logging date 2020-05-20 19:31:11 +02: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
jackun
613fa68491
Use + as keybind delimiter 2020-05-17 15:45:31 +03: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
0964f517b7 Change LogData previous to uint64_t 2020-05-14 14:54:57 +02:00
jackun
d93a21589e
Find cpu temp sensor input by label or fallback to first tempN_input 2020-05-14 13:50:55 +03:00
FlightlessMango
927fee0f59 No need to add version for nvidia twice 2020-05-13 10:54:00 +02:00
FlightlessMango
2e1861ea09 Changed elapsedlog to int64_t 2020-05-13 05:58: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
c25082b1dd
Fix blacklist array entries count 2020-05-12 21:23:15 +03:00
jackun
2622270e5c
Init remote control params even if blacklisted 2020-05-12 20:40:16 +03:00
jackun
a8f01a75e6
Use std::array for blacklist
More annoying to add entries but maybe more streamlined
2020-05-12 20:34:30 +03:00
jackun
a27ee0dc39
Generalize initial metadata error message 2020-05-11 22:30:44 +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
jackun
bb9721fe87
[OpenGL] Check if SRGB is enabled and Render ImGui in linear colorspace 2020-05-10 14:15:38 +03:00
FlightlessMango
31b01aab9f Uncommented most of prop.driverVersion code 2020-05-10 08:56:41 +02:00
FlightlessMango
1750c43716 No need to convert deviceID twice 2020-05-10 02:31:58 +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
jackun
beee2b08c7
[OpenGL] Add glXSwapBuffersMscOML and disable XGetGeometry 2020-05-08 22:53:33 +03:00
jackun
9d1b548f69
Merge branch 'master' into develop 2020-05-05 12:01:13 +03:00
FlightlessMango
3f4949f593 Added top-center overlay position 2020-05-04 06:54:25 +02:00
FlightlessMango
03c9d1cd90 We don't need two vk_enum_to_str in shared_library 2020-05-02 23:24:54 +02:00
FlightlessMango
70d7ea4948 Add mangohud_version to shared_library 2020-05-02 23:18: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
FlightlessMango
0eaba7bb6c Removed obsolete license from params 2020-05-02 17:14:14 +02:00
FlightlessMango
5ee573730a Removed obsolete license from meson.build files 2020-05-02 17:13:04 +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
c61d25da04 Simplify 'is_blacklisted' function 2020-04-30 16:49:40 +03:00
Sporif
1e1dcd3a98 Fix vulkan driver version shown for Nvidia and Intel on Windows 2020-04-30 14:38:22 +01:00
jackun
8b13f8db7c
Blacklist Final Fantasy XIV launchers 2020-04-28 23:27:52 +03: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
jackun
d8264c485f
[OpenGL] Fixed version check mistakenly testing for GL 4.0+ instead of 3.2+ to enable ImGuiBackendFlags_RendererHasVtxOffset, leaving 3.2 contexts without it. (ocornut#3119, ocornut#2866, ocornut#2852) 2020-04-25 21:17:58 +03:00
jackun
22ee56def5
[OpenGL] Use 32bit font texture until someone figures out why 8-bit looks worse 2020-04-25 13:13:05 +03:00
jackun
0271aa6368
[OpenGL] Track threads with context, but might as well ignore glXMakeCurrent(NULL, NULL) calls probably 2020-04-21 20:57:13 +03:00
jackun
79e4c5223a
In C-only apps, std::cerr and friends can be uninitialized 2020-04-21 17:19:12 +03:00
jackun
934dc31e44
Add utility lib with dlsym hooking 2020-04-21 17:05:37 +03:00
jackun
ebdaa901b9
Merge pull request #131 from Sporif/blacklist_v2
Blacklist: Add OpenGL and fix `mangohud steam`
2020-04-21 16:58:46 +03:00
Danilo Spinella
b6340c832a Add include for dlopen flags, fix build on musl
RTLD_DEEPBIND is not defined on musl based systems, add a check
before using it.
2020-04-21 15:51:12 +03:00
Danilo Spinella
fb64b2ae0e Add __ELF_NATIVE_CLASS to musl systems 2020-04-21 15:50:19 +03:00
Danilo Spinella
728fc9fe56 dbus: Add missing include 2020-04-21 15:47:21 +03:00
jackun
86f8ebed30
Trying to find XNVCtrl's display by iterating through 16 displays. 2020-04-20 22:51:55 +03:00
jackun
6caa4a5173
Try load XNVCtrl as "libXNVCtrl.so.0"
Seems not all distro symlink also to libXNVCtrl.so
2020-04-18 20:34:06 +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
d1e90b5bec [OpenGL] Add blacklist functionality 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
efed107af6
[meson] check void* size once and better-ish xnvctrl checks 2020-04-15 19:45:59 +03:00
jackun
cf5eb9e9a5
ifdef-guard dbus_info.h include 2020-04-15 19:12:56 +03:00
jackun
ad0f010951
Don't print that nvmlDeviceGetHandleByPciBusId failed if it wasn't even called 2020-04-14 00:54:44 +03:00
jackun
723c6bedeb
Fix init_x11 return value and X11/XNVCtrl logic checks 2020-04-14 00:26:23 +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
7e5afe96bb
Add dbus_message_get_sender to dbus loader 2020-04-13 02:52:36 +03:00
jackun
bb4b78ada0
[OpenGL] Spam terminal a little less with version strings 2020-04-12 16:38:28 +03:00
jackun
f35e49defa
[OpenGL] Merge "shared" files back to imgui_hud.cpp 2020-04-12 16:25:46 +03:00
jackun
b40fb95a04
[OpenGL] Better version parsing and fix gl version checks for vertex arrays 2020-04-12 16:25:35 +03:00
FlightlessMango
d6314da8b2 Merge branch 'master' into develop 2020-04-11 22:49:50 +02:00
jackun
2383ba26fc
Tell GCC to stop exporting static library functions
Should fix crashes where games using Dear ImGui link to ours.
2020-04-11 13:05:53 +03:00
flightlessmango
0f695d76c7
Merge pull request #119 from andrealmeid/log_to_mem
Write log in a memory buffer and periodically write it in disk
2020-04-11 01:49:22 +02:00
jackun
6576a0a09c
Print NVML return code as string 2020-04-11 01:08:20 +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
jackun
d81dc7936a
[OpenGL] Use glXQueryDrawable if XGetGeometry fails 2020-04-10 22:39:43 +03:00
jackun
ff3c58c9c5
[OpenGL] Change glXMakeCurrent return type to int just in case and convert missed #ifdefs 2020-04-10 22:35:07 +03:00
Stephan Lachnit
f860418e7e
Allow system NVML to be used
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-04-10 11:33:58 +02:00
André Almeida
f07aea54b6 logging: check if duration is enabled before checking if it has expired
If we check if log_duration is enabled before checking if it has expired
we can save some math and comparison instructions on every log write.
2020-04-09 15:58:05 -03:00
André Almeida
0a942512e9 logging: don't sleep if time is over 2020-04-09 15:50:39 -03:00
André Almeida
0303f8de28 logging: write log to a memory buffer
Instead of writing every line of the log to the file (and, consequently,
to the disk), write to a memory buffer first and after the log finishes
flush from memory to disk. This improve the performance of the tool, since
it avoids making the program blocked by disk IO.
2020-04-09 15:50:39 -03:00
jackun
f3f04f3f78
Print dlerror() in lib loaders 2020-04-09 21:26:00 +03:00
jackun
780ea7c89b
[OpenGL] Use GLAD instead on gl3w and hook EGL 2020-04-09 21:24:37 +03:00
jackun
772ab6aa5b
[OpenGL] Don't exit if function is not found, it probably isn't catastrophic 2020-04-09 11:30:51 +03:00
André Almeida
4830268a11 logging: fix indentation 2020-04-08 15:14:13 -03:00
jackun
a6bfa712e3
Do a sanity check for XNVCtrl and GLX headers 2020-04-05 16:11:29 +03:00
FlightlessMango
d454ff43a2 Hide all hud elements on no_display 2020-04-05 13:20:15 +02:00
jackun
e95a96d9f0
If used for other things than just reading sysfs files, xfs/jfs need stat() for inode type 2020-04-05 14:02:15 +03:00
jackun
0db804aa01
Don't free DBusError if it was never inited because dbus_error_free() is nullptr too 2020-04-05 13:56:14 +03:00
jackun
421146b822
Don't reinit dbus manager 2020-04-05 13:48:16 +03:00
jackun
0a27e0a447
Clear all metadata strings in case other mpris-compatible media players don't have them all 2020-04-05 00:12:01 +03: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
cbb46fa21b
Also call default constructor for libnvctrl_loader 2020-04-04 20:46:54 +03:00
Stephan Lachnit
0998d33d72
Use Vulkan-Headers module via wrap
This commit replaces the git submodule for the Vulkan headers with meson subproject using wrap.

Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2020-04-04 17:49:02 +03:00
jackun
8cd3172335
[OpenGL] Separate GLX out from shareable code so wayland sessions can just use EGL, hopefully 2020-04-02 03:09:49 +03:00
jackun
2f034c6d1e
Use X11 loader functions instead of linking to X11 libs 2020-04-02 03:09:49 +03:00
jackun
71b37906da
Shared X11 intialization functions 2020-04-02 03:08:53 +03:00
jackun
329b5d66c2
Add X11 loader 2020-04-01 22:54:48 +03:00
jackun
108bca7d4f
Don't include X11 headers in overlay_params.h 2020-04-01 15:37:42 +03:00
jackun
bd9d9650a0
Move dlsym hook out from inject_glx.cpp 2020-04-01 15:37:19 +03:00
jackun
0a36578adf
[OpenGL] Rename GLX loader functions 2020-04-01 15:37:08 +03:00
jackun
b2e6727b25
[OpenGL] Rename loader_gl.* to loader_glx.* 2020-04-01 15:16:44 +03:00
jackun
2e7d92e068
Move real_dlsym files out from gl subdir 2020-04-01 14:39:51 +03:00
jackun
e750173b51
[OpenGL] Check if X11 is enabled 2020-04-01 11:46:08 +03:00
Danilo Spinella
0373383581
Add x11/wayland feature switches, rename 'use_xnvctrl' to 'with_xnvctrl' 2020-04-01 11:39:57 +03:00
jackun
59113b3ae2
[OpenGL] Move ImGui functions to separate file 2020-04-01 11:28:16 +03:00
jackun
c3e50db2f4
[OpenGL] Import glXQueryDrawable just in case 2020-04-01 11:27:27 +03:00
jackun
accac3a015
[OpenGL] Import XGetGeometry 2020-04-01 11:27:27 +03:00
jackun
ebe23d3431
[OpenGL] Rename inject.cpp to inject_glx.cpp in preparation for separating X11 related functions 2020-04-01 11:27:04 +03:00
jackun
042267f26b
Update API version to 1.2.135 in manifest 2020-03-31 00:13:53 +03:00
jackun
049e960589
Add 'use_xnvctrl' feature to allow building without libXNVCtrl support 2020-03-30 22:48:56 +03:00
jackun
5afbe10005
[OpenGL] Restore ImGui's context to previously saved one, duh 2020-03-29 01:54:57 +02:00
jackun
6eb2c9bc09
[OpenGL] Explicitly set ImGui's context and treat global context as foreign
Apps might be using Dear ImGui so keep our stuff separate from theirs.

Issue #107
2020-03-29 01:47:24 +02:00
jackun
f5e3f3b73b
[config] Add MANGOHUD_CONFIGFILE envvar for specific configuration file
Issue #104
2020-03-29 00:05:52 +02:00
jackun
f8cc3bbf06
[config] Allow fps_limit=0 or commenting it out to disable fps limit 2020-03-28 23:38:33 +02:00