Commit Graph

288 Commits (2f807a4c0da400606008195d15c6d7d9d733e3d2)

Author SHA1 Message Date
FlightlessMango 572ba69e3e More width fixing 4 years ago
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.
4 years ago
jackun 1495b1e88f
ifdef guard nvml header 4 years ago
jackun 953c8d0e0f
Add meson option `with_nvml` 4 years ago
jackun 2220cb9d74
Decouple `engine_version` from `fps` 4 years ago
jackun 16b05dfc5e
Show gpu core clock or power usage in 4th column or both on next row if both are enabled 4 years ago
jackun b837ce930e
[whitespace] fix indentation from `gpu_name` to `arch` 4 years ago
FlightlessMango db151bb236 Add log_interval check to per frame log write 4 years ago
FlightlessMango d8727110b0 Replaced log_period env with log_interval param 4 years ago
FlightlessMango 128fbd4b88 Per frame logging use output_file and date 4 years ago
FlightlessMango 33a5ad6571 Format gpu_text and cpu_text in textColored 4 years ago
FlightlessMango dd1667bf3e Fixed typo 4 years ago
FlightlessMango 2d0ba9a076 Params to override cpu/gpu text 4 years ago
jackun c04658456a
Wider glyph ranges for custom font; media player text scaling with `font_scale_media_player` param 4 years ago
FlightlessMango c254347688 Use histogram in benchmark too 4 years ago
FlightlessMango ac926bbfd5 Added histogram param 4 years ago
FlightlessMango 078617f999 Added param for engine version 4 years ago
jackun ff48525313
Consolidated amdgpu file handles to a struct and add `gpu_power` param to show power usage for amdgpu/nvml 4 years ago
jackun 5057a47b05
Potential buffer overflow, use snprintf instead 4 years ago
jackun 159305bbc7
Use `display_time` instead of recalculating 4 years ago
FlightlessMango 1d375fd155 Removed crosshair 4 years ago
FlightlessMango 434aa04356 Fixed bench position even more 4 years ago
FlightlessMango 7f9bb2e6b8 Fixed mistake in bench positioning 4 years ago
FlightlessMango 54f83ee3d6 Corrected position and sizing for quick bench 4 years ago
FlightlessMango 22c25b6247 Fixo typo in quick benchmark 4 years ago
jackun c5bb35c10d
Merge branch '159' into develop 4 years ago
FlightlessMango 92b86ad8bf Added plot graph to quick benchmark 4 years ago
Valters 1afea91dab
Add multi hotkey 4 years ago
FlightlessMango 75f9128ce5 Redesigned logging, adding quick benchmark 4 years ago
FlightlessMango 927fee0f59 No need to add version for nvidia twice 4 years ago
jackun 40255b62f9
Fix get_device_name, don't substr if no '[' in gpu name 4 years ago
jackun 2622270e5c
Init remote control params even if blacklisted 4 years ago
jackun d694a61d21
Add `media_player_name` and `media_player_color` params
Allows to set "main" media player and text color
4 years ago
jackun 6c2b00ffb7
Append driver version 4 years ago
jackun 768297b430
[editorconfig] Apply whitespace rules 4 years ago
FlightlessMango bc0a0aa53e No need to save deviceName for later 4 years ago
jackun 2308a4228a
Fix vulkan device name 4 years ago
FlightlessMango 31b01aab9f Uncommented most of prop.driverVersion code 4 years ago
FlightlessMango 848b296477 Display vulkan driver
Co-authored-by: Georg Lehmann <dadschoorse@gmail.com>
4 years ago
FlightlessMango f3422af562 Param gpu_name 4 years ago
FlightlessMango 1ddcc531ff Get device name from pci.ids and display it 4 years ago
FlightlessMango ed62155310 Parse pci.ids
Co-authored-by: jackun <jack.un@gmail.com>
4 years ago
FlightlessMango a2cc14f738 Get deviceID 4 years ago
FlightlessMango 3f4949f593 Added top-center overlay position 4 years ago
FlightlessMango 9cf6c502d2 Missing brackets for versions in render_imgui 4 years ago
FlightlessMango e170e64f9c [Params] Version option 4 years ago
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.
4 years ago
FlightlessMango bff9958284 Changed pthreads to std::thread 4 years ago
Sporif 1e1dcd3a98 Fix vulkan driver version shown for Nvidia and Intel on Windows 4 years ago
jackun 29e5c4e460
Show device's name and vulkan driver version 4 years ago
jackun 8b855e3251
Fix mul/div order when normalizing io stats to sample per second as `fps_sampling_period` is also an integer. 4 years ago
Sporif 61ef9244e9 Disable dlsym hooking by default and fix LD_PRELOAD propagation to new processes
This allows `mangohud steam` to work
4 years ago
Sporif c4a00704cf Separate out blacklist implementation 4 years ago
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>
4 years ago
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.
4 years ago
jackun b40fb95a04
[OpenGL] Better version parsing and fix gl version checks for vertex arrays 4 years ago
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" 4 years ago
jackun e5a256bfc0
Move DBus init to overlay_params so it can be enabled/disabled on the fly from a single place 4 years ago
FlightlessMango d454ff43a2 Hide all hud elements on no_display 4 years ago
jackun 8024736253
Add DBus loader, combined ticker for Spotify metadata 4 years ago
FlightlessMango d975278396
Dbus with spotify 4 years ago
jackun 2f034c6d1e
Use X11 loader functions instead of linking to X11 libs 4 years ago
jackun 049e960589
Add 'use_xnvctrl' feature to allow building without libXNVCtrl support 4 years ago
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>
4 years ago
jackun 32ae051434
Add Bethesda launcher to blacklist 4 years ago
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>
4 years ago
jackun cf17f70dab
Remove unused statistics related code 4 years ago
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
4 years ago
jackun 2ab386d70a
Fix double definition 4 years ago
FlightlessMango a84f5ef178 Show mangohud arch in hud 4 years ago
FlightlessMango c9558eec50 Merge branch 'xnvctrl' into develop 4 years ago
jackun ae3a155e22
Keep engine name per vulkan instance 4 years ago
jackun f92a2a07db
GiB not GB 4 years ago
jackun fbae1dfcc0
More checks for XNVCtrl support. Favor NVML but fallback to XNVCtrl if supported. 4 years ago
jackun 1915352c86
Draw versions after table so they don't get clipped 4 years ago
jackun 6ad6bffade
Use ImGui's DisplaySize so display size for layer positioning etc can be set the same way for vulkan and OpenGL 4 years ago
jackun 3d46ccafe1
Show OpenGL version below engine name too to avoid it getting clipped 4 years ago
jackun 8aa0783b4a
Show vulkan/opengl version
OpenGL glGetIntegerv(GL_[MAJOR|MINOR]_VERSION) don't work on versions < 3.0 though
4 years ago
FlightlessMango 8fb13e23e4 Resize window when reloading config 4 years ago
jackun a0f5cb56a2
[config] Guard overlay_params from the thread with mutex 4 years ago
jackun 34184abf2e
[config] loop in the notifier thread and reload configuration file if it is changed 4 years ago
FlightlessMango c5dad16612 Listen for modify on config file 4 years ago
FlightlessMango b0e1fe9321 [params] set targetFrameTime in params.cpp 4 years ago
jackun abef561573
Disable CPU stat(s) if it failed to initialize 4 years ago
FlightlessMango b3286cbe48 check if opengl/vulkan with is_vulkan bool 4 years ago
jackun 13e57578c3
Fix update_hud_info indentation 4 years ago
jackun 154380e056
Don't update time if not enabled 4 years ago
jackun 9a7a4d99e0
Don't update CPU freq/temp if not enabled 4 years ago
jackun 6bbc89a9cc
Don't update CPU stats if not enabled 4 years ago
jackun 16552b25e3 Don't update RAM/IO stats if not enabled 4 years ago
jackun 57f3b3470d
Remove param_unit() 4 years ago
FlightlessMango e24f5dfc8b added log_duration param and updated readme 4 years ago
FlightlessMango 8641392ca7 added MANGOHUD_FONT to params as font_file 4 years ago
FlightlessMango d1bdf71580 added MANGOHUD_OUTPUT to params as output_file 4 years ago
jackun 05d61ee77e
Init CPUStats just once 4 years ago
FlightlessMango e68dd48f3f forgot one refresh_config 4 years ago
FlightlessMango fe69ec2955 changed refresh_config to reload_cfg 4 years ago
jackun 373bba5fcf
Keep time outside the table or it gets clipped if using too fancy a format 4 years ago
FlightlessMango 8bf8723ad5 added param text_color 4 years ago
FlightlessMango 77b3033cc7 Removed frametime_alpha and replace it with an overall alpha for text and frametime 4 years ago
FlightlessMango 88ad5de2ab Fix so preloading doesn't break vulkan layer 4 years ago
FlightlessMango 163c76bea7 added param background_color 4 years ago
FlightlessMango 906a8cde23 added param frametime_color 4 years ago
FlightlessMango a2735693ba Merge opengl into develop 4 years ago
FlightlessMango 755558ecb9 added param io_color 4 years ago
FlightlessMango d8b3c3c81f params for changing color of cpu, gpu, vram, ram and engine text 4 years ago
jackun 5e4bd7b8c8
Keep time outside the table or it gets clipped if using too fancy a format 4 years ago
jackun b4f1402461 Right align value texts 4 years ago
jackun e881a1538a Pre-convert crosshair's color to ImGui's format 4 years ago
FlightlessMango 857dcf7fb8 use hmwon freq1/2 instead for amdgpu core/mem clocks 4 years ago
FlightlessMango 4d5f62386b added gpu mem and core clocks to hud 4 years ago
jackun f8398c3e7a Add I/O stats
Using /proc/self/io 'read_bytes' and 'write_bytes' fields which count only
reads/writes that hit the storage (i.e no cached reads).
4 years ago
FlightlessMango 534ca9416d Spruced up iostats and change to bool from custom 4 years ago
FlightlessMango 4847cb8e31 Using table for hud layout 4 years ago
jackun 2472e69205
Check if pApplicationInfo is null 4 years ago
jackun fad35b9540
Just check hwmon sysfs folder for cpu temp sensors 4 years ago
jackun 6bf37f8510
Add "time_format" parameter; update time string every "fps_sampling_period" interval
See std::put_time docs for supported formatting
4 years ago
FlightlessMango 58c7831d5c hud width correction 4 years ago
FlightlessMango 80cff1ac86 Fixed hud width not applying 4 years ago
jackun b91be85ff9
Use std::unordered_map and std::mutex instead for object mapping and related cleanups 4 years ago
jackun 54950853b5
Remove redundant 'no_display' code 4 years ago
jackun 8f66bd7d87
Set stats window height to ImGui::GetCursorPosY() 4 years ago
jackun 2fb0453e28
Create ImGui fonts per swapchain 4 years ago
FlightlessMango 099082affc Refresh config keybind 4 years ago
jackun 9053b63142
Allocate instance_data with "new" 4 years ago
jackun 80f29aad9d
Allow MANGOHUD_CONFIG to override configuration files' settings.
Use `MANGOHUD_CONFIG=some_setting=1` to skip reading the configuration files
and just use the settings specified with MANGOHUD_CONFIG.

Use `MANGOHUD_CONFIG=read_configs,...` to read configuration files too and
add other settings that you would like to override.
4 years ago
jackun 5c4816efa5
Unused instance_data 4 years ago
jackun 27848bd253
Don't crash if there's nothing to draw 4 years ago
FlightlessMango d8783d3002 Added time param 4 years ago
jackun b9ae979a05
Don't interpolate fps limit sleep overhead
Random hiccups and game pauses can make it go crazy otherwise.
4 years ago
FlightlessMango dba31e6a11 Set background alpha color to 1.0 4 years ago
FlightlessMango e947dae9ed Fixed fps limiter accuracy 4 years ago
FlightlessMango c73df54166 Added background_alpha param 4 years ago
FlightlessMango e81fa5776e Added crosshair_color param 4 years ago
FlightlessMango d79d06271f Repurposed no_display param 4 years ago
FlightlessMango 50cff923e8 Changed vram to display GB from MB 4 years ago
FlightlessMango 3c4fcda623 Added offset x/y in params 4 years ago
FlightlessMango a8e4ac84f9 Merge branch 'crosshair' 4 years ago
FlightlessMango 69ed9db4c1 Merge branch 'limiter' 4 years ago
jackun 1fc94f6db5
Remove unused histogram's get_stat() 4 years ago
Georg Lehmann 7a4ffe8206
Vulkan overlay: use the corresponding image index for each swapchain
pImageIndices should be a pointer to the current image index
otherwise every swapchain but the first one could have a wrong image index
4 years ago
FlightlessMango 784cb427ff Use params for keybinds 4 years ago
FlightlessMango e359058430 Fixed hud being wider than intended 4 years ago
jackun 5f6c3c9190
Fix ImGui::PopStyleColor() being in wrong place 4 years ago
FlightlessMango c5ea98a243 Added a crosshair and params for it 4 years ago
FlightlessMango be8dc8929d Don't use fps limiter unless limit is set 4 years ago
FlightlessMango 148d19422d Added vsync option 4 years ago
FlightlessMango cd131e0c39 Add fps_limit param 4 years ago
FlightlessMango a99720f311 Change to nanoseconds 4 years ago
FlightlessMango f38389b967 FPS limiter 4 years ago