Sporif
d1e90b5bec
[OpenGL] Add blacklist functionality
5 years ago
Sporif
c4a00704cf
Separate out blacklist implementation
5 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 >
5 years ago
jackun
efed107af6
[meson] check void* size once and better-ish xnvctrl checks
5 years ago
jackun
cf5eb9e9a5
ifdef-guard dbus_info.h include
5 years ago
jackun
ad0f010951
Don't print that nvmlDeviceGetHandleByPciBusId failed if it wasn't even called
5 years ago
jackun
723c6bedeb
Fix `init_x11` return value and X11/XNVCtrl logic checks
5 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.
5 years ago
jackun
7e5afe96bb
Add dbus_message_get_sender to dbus loader
5 years ago
jackun
bb4b78ada0
[OpenGL] Spam terminal a little less with version strings
5 years ago
jackun
f35e49defa
[OpenGL] Merge "shared" files back to imgui_hud.cpp
5 years ago
jackun
b40fb95a04
[OpenGL] Better version parsing and fix gl version checks for vertex arrays
5 years ago
FlightlessMango
d6314da8b2
Merge branch 'master' into develop
5 years ago
jackun
2383ba26fc
Tell GCC to stop exporting static library functions
...
Should fix crashes where games using Dear ImGui link to ours.
5 years ago
flightlessmango
0f695d76c7
Merge pull request #119 from andrealmeid/log_to_mem
...
Write log in a memory buffer and periodically write it in disk
5 years ago
jackun
6576a0a09c
Print NVML return code as string
5 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"
5 years ago
jackun
e5a256bfc0
Move DBus init to overlay_params so it can be enabled/disabled on the fly from a single place
5 years ago
jackun
d81dc7936a
[OpenGL] Use glXQueryDrawable if XGetGeometry fails
5 years ago
jackun
ff3c58c9c5
[OpenGL] Change glXMakeCurrent return type to int just in case and convert missed #ifdefs
5 years ago
Stephan Lachnit
f860418e7e
Allow system NVML to be used
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
5 years ago
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.
5 years ago
André Almeida
0a942512e9
logging: don't sleep if time is over
5 years ago
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.
5 years ago
jackun
f3f04f3f78
Print dlerror() in lib loaders
5 years ago
jackun
780ea7c89b
[OpenGL] Use GLAD instead on gl3w and hook EGL
5 years ago
jackun
772ab6aa5b
[OpenGL] Don't exit if function is not found, it probably isn't catastrophic
5 years ago
André Almeida
4830268a11
logging: fix indentation
5 years ago
jackun
a6bfa712e3
Do a sanity check for XNVCtrl and GLX headers
5 years ago
FlightlessMango
d454ff43a2
Hide all hud elements on no_display
5 years ago
jackun
e95a96d9f0
If used for other things than just reading sysfs files, xfs/jfs need stat() for inode type
5 years ago
jackun
0db804aa01
Don't free DBusError if it was never inited because dbus_error_free() is nullptr too
5 years ago
jackun
421146b822
Don't reinit dbus manager
5 years ago
jackun
0a27e0a447
Clear all metadata strings in case other mpris-compatible media players don't have them all
5 years ago
jackun
8024736253
Add DBus loader, combined ticker for Spotify metadata
5 years ago
FlightlessMango
d975278396
Dbus with spotify
5 years ago
jackun
cbb46fa21b
Also call default constructor for libnvctrl_loader
5 years ago
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>
5 years ago
jackun
8cd3172335
[OpenGL] Separate GLX out from shareable code so wayland sessions can just use EGL, hopefully
5 years ago
jackun
2f034c6d1e
Use X11 loader functions instead of linking to X11 libs
5 years ago
jackun
71b37906da
Shared X11 intialization functions
5 years ago
jackun
329b5d66c2
Add X11 loader
5 years ago
jackun
108bca7d4f
Don't include X11 headers in overlay_params.h
5 years ago
jackun
bd9d9650a0
Move `dlsym` hook out from inject_glx.cpp
5 years ago
jackun
0a36578adf
[OpenGL] Rename GLX loader functions
5 years ago
jackun
b2e6727b25
[OpenGL] Rename loader_gl.* to loader_glx.*
5 years ago
jackun
2e7d92e068
Move `real_dlsym` files out from `gl` subdir
5 years ago
jackun
e750173b51
[OpenGL] Check if X11 is enabled
5 years ago
Danilo Spinella
0373383581
Add x11/wayland feature switches, rename 'use_xnvctrl' to 'with_xnvctrl'
5 years ago
jackun
59113b3ae2
[OpenGL] Move ImGui functions to separate file
5 years ago
jackun
c3e50db2f4
[OpenGL] Import glXQueryDrawable just in case
5 years ago
jackun
accac3a015
[OpenGL] Import XGetGeometry
5 years ago
jackun
ebe23d3431
[OpenGL] Rename inject.cpp to inject_glx.cpp in preparation for separating X11 related functions
5 years ago
jackun
042267f26b
Update API version to 1.2.135 in manifest
5 years ago
jackun
049e960589
Add 'use_xnvctrl' feature to allow building without libXNVCtrl support
5 years ago
jackun
5afbe10005
[OpenGL] Restore ImGui's context to previously saved one, duh
5 years ago
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
5 years ago
jackun
f5e3f3b73b
[config] Add MANGOHUD_CONFIGFILE envvar for specific configuration file
...
Issue #104
5 years ago
jackun
f8cc3bbf06
[config] Allow fps_limit=0 or commenting it out to disable fps limit
5 years ago
jackun
49742e1cea
[config] Load config changes to local copy of overlay_params so it does not block rendering thread while parsing
5 years ago
FlightlessMango
0d53d7d39d
Fixed typo in nvctrl
5 years ago
FlightlessMango
85291d25ef
Added warning messages for nvctrl
5 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 >
5 years ago
jackun
32ae051434
Add Bethesda launcher to blacklist
5 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>
5 years ago
jackun
25b0adfbf9
Move Wine exe name code from config.cpp to get_wine_exe_name(...)
5 years ago
jackun
cf17f70dab
Remove unused statistics related code
5 years ago
jackun
d3f895cbef
[config] keep pthread_t pointers in notify_thread struct for MT safety
5 years ago
jackun
1b192c4910
[config] join notifier thread just to be sure
5 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
5 years ago
jackun
841d76c6af
Quit config watcher thread if it fails to init and clean up
5 years ago
jackun
2ab386d70a
Fix double definition
5 years ago
FlightlessMango
a84f5ef178
Show mangohud arch in hud
5 years ago
FlightlessMango
23adda92b7
Added param 'arch'
5 years ago
FlightlessMango
c9558eec50
Merge branch 'xnvctrl' into develop
5 years ago
jackun
ae3a155e22
Keep engine name per vulkan instance
5 years ago
jackun
053a07d83c
[OpenGL] Don't set display size to scissor box if its size is just 1 by 1
5 years ago
jackun
f92a2a07db
GiB not GB
5 years ago
jackun
fbae1dfcc0
More checks for XNVCtrl support. Favor NVML but fallback to XNVCtrl if supported.
5 years ago
jackun
b059fa26bc
xnvctrl: parse tokenized attributes
5 years ago
jackun
c16f4b4275
try_stoi: spam in debug build only
5 years ago
FlightlessMango
79add746b5
Removed debugging messages
5 years ago
FlightlessMango
f2b770abac
Use XNVCTRLQueryTargetAttribute64 instead
5 years ago
FlightlessMango
2c979e52e6
Set nvmlSuccess to false if NVML gpu load is unsupported
5 years ago
FlightlessMango
e7b5a18d87
If NVML fails fallback to NVctrl
5 years ago
FlightlessMango
f81af99ee5
NVCtrl meson build
5 years ago
FlightlessMango
aaaf30b807
NVctrl fetching
5 years ago
FlightlessMango
8ee0ec2c3f
NVCtrl loader
5 years ago
jackun
1915352c86
Draw versions after table so they don't get clipped
5 years ago
jackun
c7bee1a99d
[OpenGL] Compare if viewport or scissor box size changed with window resizing and use that for display size
5 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
5 years ago
jackun
3d46ccafe1
Show OpenGL version below engine name too to avoid it getting clipped
5 years ago
jackun
8aa0783b4a
Show vulkan/opengl version
...
OpenGL glGetIntegerv(GL_[MAJOR|MINOR]_VERSION) don't work on versions < 3.0 though
5 years ago
jackun
bb3aba9080
[OpenGL] Use elfhacks to load real OpenGL functions
5 years ago
jackun
85801bcc17
[OpenGL] Add elfhacks
...
https://github.com/ienorand/elfhacks
5 years ago
FlightlessMango
8fb13e23e4
Resize window when reloading config
5 years ago
jackun
5bdfcd493d
[config] Add config file change notifier to OpenGL
5 years ago
jackun
a0f5cb56a2
[config] Guard overlay_params from the thread with mutex
5 years ago
jackun
34184abf2e
[config] loop in the notifier thread and reload configuration file if it is changed
5 years ago
jackun
341aa21b87
[config] Move options map and config_file_path to overlay_params
5 years ago
FlightlessMango
c5dad16612
Listen for modify on config file
5 years ago
jackun
b0f36fad31
Expand paths only
5 years ago
FlightlessMango
b0e1fe9321
[params] set targetFrameTime in params.cpp
5 years ago
FlightlessMango
71b602751d
[meson] option to include_doc
5 years ago
jackun
6e40f9bdd5
Expand tilde to home dir if string param start with `~`
5 years ago
jackun
f7a7256374
Clear options map so reloading config files actually has an effect
5 years ago
jackun
6b4103eae9
[config] Parse Wine application name without absolute path
5 years ago
jackun
abef561573
Disable CPU stat(s) if it failed to initialize
5 years ago
jackun
712590befe
Check if CPU sensor file handle is valid
5 years ago
FlightlessMango
64a42df047
forgot to include functional
5 years ago
FlightlessMango
cbb58ab79c
make sure Xdisplay is closed on shutdown
5 years ago
FlightlessMango
b3286cbe48
check if opengl/vulkan with is_vulkan bool
5 years ago
jackun
13e57578c3
Fix update_hud_info indentation
5 years ago
jackun
154380e056
Don't update time if not enabled
5 years ago
jackun
9a7a4d99e0
Don't update CPU freq/temp if not enabled
5 years ago
jackun
6bbc89a9cc
Don't update CPU stats if not enabled
5 years ago
jackun
16552b25e3
Don't update RAM/IO stats if not enabled
5 years ago
jackun
c850507314
[OpenGL] Initialize MangoHud from glXSwapBuffers even if glXMakeCurrent is skipped for some reason
5 years ago
jackun
fa41e6f882
Always configure vulkan json
5 years ago
jackun
ad64bf345d
Update build scripts, again
...
Install to $prefix$libdir/mangohud by default.
5 years ago
jackun
50cef9621b
Remove ~/.local/share/MangoHud/MangoHud.conf support
5 years ago
jackun
57f3b3470d
Remove param_unit()
5 years ago
jackun
2e3f8077cb
Remove parse_output_file
5 years ago
jackun
da9120f971
Add parse_signed() for gl_sync
5 years ago
jackun
125dbc1403
[OpenGL] Allow swap interval of -1 for adaptive sync, if supported
5 years ago
FlightlessMango
e24f5dfc8b
added log_duration param and updated readme
5 years ago
FlightlessMango
b4cd837328
[OpenGL] custom font file
5 years ago
FlightlessMango
8641392ca7
added MANGOHUD_FONT to params as font_file
5 years ago
FlightlessMango
d1bdf71580
added MANGOHUD_OUTPUT to params as output_file
5 years ago
jackun
4adb6ed25f
Convert tabs to spaces in cpu.cpp/cpu.h
5 years ago
jackun
72d7f6ef71
Print also a reason for skipping a config file
5 years ago
jackun
31a651133c
[OpenGL] Cleanup stderr output a little
5 years ago
jackun
bbfad2e073
[OpenGL] Parse and initialize configuration just once
5 years ago
jackun
a52dce875f
[OpenGL] Keep glClipControl local to imgui_impl_opengl3.cpp
5 years ago
jackun
05d61ee77e
Init CPUStats just once
5 years ago
FlightlessMango
e68dd48f3f
forgot one refresh_config
5 years ago
FlightlessMango
fe69ec2955
changed refresh_config to reload_cfg
5 years ago
FlightlessMango
501d7d74d2
install example config with meson
5 years ago
jackun
5caeb10882
[OpenGL] Apply swap interval from glXMakeCurrent
5 years ago
jackun
297b44bfe6
[OpenGL] Force-load libGL.so.1 with dlopen() if dlsym fails to find functions
5 years ago
jackun
e0ce0493f7
[OpenGL] Set swap interval (vsync) with `gl_vsync` param
5 years ago
FlightlessMango
8133048e9c
Add blank configuration for project_name and layer_suffix with build.sh
5 years ago
FlightlessMango
8153e29eb3
forgot to add '/' to end of path
5 years ago
FlightlessMango
8599484032
configure .json files with meson
5 years ago
jackun
37e34335ae
Sprinkle NDEBUG over gl debug prints
5 years ago
jackun
ad598f7ec4
[OpenGL] Fix double-free with ImGui context
5 years ago
jackun
f99129f9de
Libdirs: once more, with feeling
5 years ago
jackun
4761078133
Fix small font for gl
5 years ago
jackun
c88b930a37
Match gl PushPopStyle count with vulkan's
5 years ago
jackun
bc7db582bd
Single ImGui context for OpenGL
...
Seems only VAO is not shareable between OpenGL context
but that gets recreated every render anyway.
5 years ago