Commit Graph

1218 Commits (95b7b44b6ff9057d56321cd05051dc81212d276d)

Author SHA1 Message Date
FlightlessMango 5d6ebe2f38 Logging: use same data for benchmark and summary 2 years ago
FlightlessMango 6119fa80d1 mangoapp: layer: remove unused get_device_chain_info func 2 years ago
FlightlessMango b30302c889 amdgpu: prefer hwmon over gpu_metrics for gpu temp
Co-authored-by: Martin Roukala <martin.roukala@mupuf.org>
2 years ago
FlightlessMango bcf16a0def amdgpu: fixed incorrect gpu load for centipercent
Co-authored-by: Martin Roukala <martin.roukala@mupuf.org>
2 years ago
jackun f0177703ea
Rename to `frame_count` for consistency 2 years ago
FlightlessMango ec5952d834 amdgpu: changed clocks to average 2 years ago
FlightlessMango 8b7a1995a9 amdgpu: fix cpu temp and watt 2 years ago
FlightlessMango f9cfdeb080 Add gpu throttling status
Co-authored-by: Martin Roukala <martin.roukala@mupuf.org>
2 years ago
FlightlessMango ae85730448 Improve amdgpu polling
Co-authored-by: Martin Roukala <martin.roukala@mupuf.org>
2 years ago
FlightlessMango 350dca5d21 Dynamic width when fps_only 2 years ago
jackun e4b23c937e
Deal with disappearing cpus
Reinit if cpu is brought offline/online, e.g. `echo 0 > /sys/devices/system/cpu/cpu1/online`

Fix #737
2 years ago
FlightlessMango 5349226fa5 amdgpu: average load over .5s 2 years ago
Alessandro Toia 06e3e9f663 Remove frametime when using fps_only param 2 years ago
FlightlessMango 4f9d870c72 fan: add some checks 3 years ago
FlightlessMango 66876b79f5 fix typo in fan element 3 years ago
FlightlessMango 65e70c9cfb fan param 3 years ago
jackun 425b98ae9a
[dbus] Fix trying to deinit non-active service(s)
Also, don't log with spdlog. It's already dead by then probably.
3 years ago
jackun 1f90b0b2aa
Revert "overlay: remove HUDElements.params setter"
This reverts commit 14ddc9563f.

HUDElements.params gets stale. Needs a proper fix though.
3 years ago
jackun 3ee1048acf Check if amdgpu gpu_metrics can be read and do some sanity-checks 3 years ago
Emil Velikov e50a969586
hud_elements: one assignment per line
Stay consistent with the rest of the project.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 14ddc9563f
overlay: remove HUDElements.params setter
HUDElements.params is already set in the parse_overlay_config() call
before we even get here.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 1dfb14da47
overlay_params: make parse_overlay_env() static
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 6f85e388e5
overlay_params: mutate log_interval just after parsing
Currently we mutate the log_interval (if mangoapp is built), within the
logger itself. Move that to parse_overlay_config() where the actual
value is being parsed/set.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 2b7db32f54
Const annotate overlay_params& across the board
Most of the API does not modify it, so annotate it as const.
This makes it earlier to reason what's happening.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov f8e9ecb9fe
overlay: remove unused calculate_benchmark_data() declaration
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 9639377694
overlay: annotate render_benchmark() as static
Function is used solely within the compilation unit.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 5a53ad010f
overlay: position_layer() takes an immutable window_size
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 1e840f286b
mangohud: initialize the window_size
This one seems janky - other frontends (glx/egl LD_PRELOAD, Vulkan)
init their own global window_size.

Although in reality we use the initial data solely to set the imgui
"window" position and we immediatelly overwrite it, with the follow-up
call render_imgui().

Odds are this won't fix the glitchy (re)sizes but it's a step in the
right direction.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 74e83c0bba
mangoapp: iconify/restore the window, don't destroy it
Currently we're destroying the window, from under the glfw's framework
feet.

Basically we do a use-after-free, as glfwWindowShouldClose() is called
and due to some miracle we don't crash out.

Since we suspend all rendering, there's no need to actually destroy the
window - just iconify/restore it. A simple show/hide was attempted but
empirically did not work.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 40a1758518
mangoapp: reuse shutdown() helper
Use the helper across the board, instead of open-coding it.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov fc7a426d67
mangoapp: explicitly handle 0 over the protocol
Receiving 0 indicates no-op/keep as-is. Add a trivial self-describing
two-liner.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov f2b991cccd
mangoapp: make internal function static
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 8482ca00fa
mangoapp: make mangoapp_paused, msgid static
Both variables are used within the app alone - make them static to that
unit.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 403b0f2154
mangoapp: remove unused ctrl_msgid
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 5400332d5a
mangoapp: whitespace fixes
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 5e53342f6c
mangohudctl: rework argv handling, always send valid data
Currently, if the user sets attribute we send dummy data to mangohud.
Avoid that by pulling the attrib handling into main and avoiding the
duplicate attribute name checking.

Kill off the no-longer relevant TODO while we're here.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
jackun f4ea65429e
No frame time for first frame
We don't know when it started to render, so...
3 years ago
jackun a13b041d1d
Fps limit: simplify converting frame time back to fps 3 years ago
jackun d2d6787568
Cleanup some header inclusions 3 years ago
jackun 45113bb7d2
Specify `fileChanged` argument type 3 years ago
jackun 73da29d4ad
Try to init spdlog a bit earlier 3 years ago
jackun 2f5efc320a
Move FpsLimiter to overlay.cpp 3 years ago
jackun a26e6325cc
[dbus] Use GameMode portal inside flatpak 3 years ago
jackun bac50e42d5 Add frame count 3 years ago
FlightlessMango 3f92e10c14 mangoapp: fix broken fsr sharpness 3 years ago
FlightlessMango e6adae8489 mangoapp: fixing some warnings 3 years ago
FlightlessMango 284ae0da2c mangoapp: layer: remove unused functions 3 years ago
FlightlessMango 4341843117 nlohmann_json wrap 3 years ago
FlightlessMango 7df8918c42 mangoapp: layer: append libdir to json 3 years ago
jackun 11142b5b2c
Merge pull request #703 from evelikov/misc-mixes
Remove libdrm_amdgpu and other unnecessary code
3 years ago
FlightlessMango d4064bf6b7 mangoapp: layer: remove unused stuff 3 years ago
FlightlessMango b064f47d66 mangoapp: vulkan layer 3 years ago
FlightlessMango 5b1bda770a mangoapp: remove debug stuff 3 years ago
FlightlessMango 1940a83566 mangoapp: don't assume APU for temps 3 years ago
Emil Velikov 816d9f6b98 overlay: rework misleading gpu_busy_percent check
Above all, we really don't need the gpu_busy_percent node, if the GPU
exposes a gpu_metrics node,

Although looking closer, the gpu_busy_percent check is meant for
something else - to distinguish between the card node (cardX) and the
card output node (cardX-output-foo).

To top it all up, the check at the very end implies that we can get a
case where gpu_metrics and gpu_busy_perfect is missing ... that's not
possible.

So instead, drop the early gpu_busy_perfect check and properly mandate
it later on.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 9c6de0271f overlay: completely remove force_amdgpu_hwmon option
No longer applicable, since the libdrm path is gone and hwmon is
required - either partially or in full.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 17bfd6ed08 Skip the standalone nodes, when gpu_metrics is present
Currently we open the standalone busy, temp, gpu/memory clock and
power_usage nodes, even if gpu_metrics is present.

At the same time, we correctly ignore them when doing the read-only.
So just avoid opening them all together.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 5143229bd1 Fix gpu_stats logic check
Currently we can get the load and temp stats either from the standalone
nodes or from the gpu_metrics (binary) sysfs node.

Fix the next to handle that.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov a7e8ae9417 Remove dummy vendorID overwrite in init_gpu_stats()
We have already enforced that a few lines above just after parsing the
vendor node.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 2aa49caf52 Remove find_folder() API
Can be trivially replaced with ls()

v2: Move break where it's supposed to.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov d75b4d972b Remove unused LS_FLAGS::LS_ALL
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov ffb9b592f5 Use a switch in ls() d_type handling
Makes the code much easier to read.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov ab684a2f24 List regular files with ls(.. LS_FILES)
Currently it can give you a regular file, block/char device, fifo or a
socket.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 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>
3 years ago
Emil Velikov abbe5233ee Remove unused X11/drm auth code
The code was added back in 2020 and seemingly never built. Just drop it
- if needed it can be git reverted at some point.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 7ad24b4c0a Simplify cpu/mem/os/glxinfo parsing
Currently we pipeline a bunch of commands alike cat | grep | sed, there
we can do all that job with a single sed invocation - use that.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 83ce3ace2d keybinds: move ifdef spaghetti into the header
Drop the ifdef and simplify the .cpp file.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
FlightlessMango 8b801e8435 don't set hide_fsr_sharpness with full 3 years ago
FlightlessMango 0402fa4ab5 mangoapp: fsr_steam_sharpness 3 years ago
FlightlessMango 5c984e7b80 mangoapp: fsr_steam_sharpness 3 years ago
FlightlessMango b1fdbc3a5b Disable gamemode dbus for now 3 years ago
jackun 822bb66629
Fix confusing vendorID with deviceID
OpenGL still needs some work to select the actual render device >:(
3 years ago
jackun 8e21b52acf
Make `get_device_name` return GPU name 3 years ago
jackun c88ef84bf5
Revert "Get device name before system info"
This reverts commit e7de7b5b93.
3 years ago
jackun 8af07b4945
Move `logging()` to Logger struct
Stopgap to use same m_params while waiting for proper multithreading-safe overlay_params fix.
3 years ago
Emil Velikov 42de1edc22 Rework cpu freq node handling
Similar to the prior commit - fscanf directly into the required data
type.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 597f78cbee Fixup device/vendor node handling
Currently we readout the data as string only to convert it to hex. In
the error case, we leak the fd for the given nodes.

Read the data as hex directly, error out if that fails and avoid the
leaks.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov e3de89e475 Couple of whitespace fixes
Automatically picked by my editor, while fixing the warnings with prior
commits.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov c5748a3154 Reorder Logger() constructor args
Currently the order varies across the struct and constructor. As a nice
reminder GCC will throw a lovely warning at us. Fix the ordering.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 30cfe839eb Address signed comparisons warnings
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov 8ac81477d9 Remove unused parseConfigFile() return type
Was briefly introduced a while ago and the only user was been dropped
since then.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
Emil Velikov dc53cbf0f0 Remove unused-but-set variables
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
3 years ago
FlightlessMango 3f2db318c5 Some fixes for windows compiling 3 years ago
FlightlessMango ae7c5f0f24 Fix hud benchmark 3 years ago
Alessandro Toia 9b668babdc gamepad: add bool is_charging 3 years ago
Alessandro Toia 6db23968ee gamepad: fix 8Bitdo counter 3 years ago
Alessandro Toia 74b328d209 gamepad: add option to disable icon and show capacity instead 3 years ago
Alessandro Toia 5c92c32491 add gamepad_battery to legacy elements 3 years ago
Alessandro Toia 7d90ef8169 GAMEPAD: add 8Bitdo support 3 years ago
Alessandro Toia a484f32e57 GAMEPAD: remove unsed variables 3 years ago
Alessandro Toia a8ab4e2991 GAMEPAD: remove unused param and change xone to xbox 3 years ago
Alessandro Toia 4be3ba20c2 GAMEPAD: add battery reporting for gamepad devices
(xone,xpadneo,ds4,ds5,switch)
3 years ago
jackun a029dfaaf2
Don't hide gpu_metrics behind HAVE_LIBDRM_AMDGPU 3 years ago
FlightlessMango 93f389dd62 clean up frametime_data 3 years ago
FlightlessMango 3a667ab66b Revert FPS calc 3 years ago
FlightlessMango cf8ba8fd63 mangoapp: clean up msg_size 3 years ago
FlightlessMango d82738b03c mangoapp: use GAMESCOPE_FOCUSED_APP_GFX instead 3 years ago
FlightlessMango 68f40c56cc only shrink frametime graph on mangoapp 3 years ago
jackun e555a942fb
Use single IO stats instance 3 years ago
FlightlessMango e12042ca3d mangoapp: adjust for changed msg size in gamescope 3 years ago
FlightlessMango fa133940c8 Fix min/max frametime 3 years ago
Alessandro Toia fb97530965 cpu: Fix not reporting amd cpu power 3 years ago
FlightlessMango e289a55c6f mangoapp: make sure steam_focused is false when mangoapp_steam 3 years ago
FlightlessMango 316914da8d mangoapp: fixed mangoapp not respecting no_display 3 years ago
FlightlessMango 5cdedc4671 mangoapp: gamescope debug graphs 3 years ago
jackun 4608fa5e3a
vkGetInstanceProcAddr(instance, "vkGetInstanceProcAddr") should return our vkGetInstanceProcAddr not the next in the chain. 3 years ago
FlightlessMango 7740e8430f mangoapp: clean up unused variable 3 years ago
FlightlessMango 44a335a809 mangoapp: mangoapp_steam bool 3 years ago
FlightlessMango 6521eaa82d mangoapp: hide hud by default 3 years ago
Alessandro Toia 056f7b0e29 Check if battery status is full 3 years ago
FlightlessMango 17867f2a6d Battery: show remaining if > 1.f 3 years ago
FlightlessMango b11714a326 mangoapp: hide fsr sharp when off 3 years ago
FlightlessMango 339f5c0d11 mangoapp: hide when steam is focused 3 years ago
FlightlessMango cdcd08be44 battery remaining: don't show seconds at least by default 3 years ago
FlightlessMango 5508933c47 mangoapp: make fsr display a little prettier 3 years ago
Alessandro Toia 590f52d223 When battery is plugged in show plug icon 3 years ago
FlightlessMango 30ee0b770d Don't use all sysfs files if metrics_path 3 years ago
FlightlessMango c708b1a8a8 disable deviceid check for now 3 years ago
FlightlessMango 4556caf6d3 mangoapp: remove some debug 3 years ago
FlightlessMango b598d22543 mangoapp: don't write imgui.ini 3 years ago
Alessandro Toia b158888d54 Add remaining time text to battery 3 years ago
FlightlessMango 61fb9267a0 mangoapp: don't use fsr if msg doesn't contain fsr 3 years ago
FlightlessMango 39f6ae98ec Battery remaining time 3 years ago
FlightlessMango a9f811a207 mangoapp: gamescope fsr 3 years ago
FlightlessMango 8ddbcc3803 don't average log fps 3 years ago
FlightlessMango d71dd74685 Fix amdgpu watt and make it more granular 3 years ago
flightlessmango a76f2a9677
Merge pull request #684 from Joshua-Ashton/no_display_default_mapp
Enable no_overlay by default with mangoapp
3 years ago
FlightlessMango 5373140341 Don't enable battery_icon with full 3 years ago
FlightlessMango d72099d1e7 Fixed issue with amdgpu metrics for APU 3 years ago
Joshua Ashton beecde110b Enable no_overlay by default with mangoapp
Don't want this displaying unless explicitly requested.
3 years ago
FlightlessMango 986f3cc1b3 gpu_metrics: apu: set cpu temp as highest core temp 3 years ago
FlightlessMango 6983c2ec39 Use gpu_metrics instead of libdrm when available 3 years ago
jackun eefce24024
Log an error if `nvmlDeviceGetUtilizationRates` failed 3 years ago
Joshua Ashton 8bc979b53c mangoapp: Fix janky window size transitions
GL apps that use non-normalized coordinates for stuff that will probably do stuff like this a lot in ways that make it hard to precompute the values beforehand make me very upset.
3 years ago
Joshua Ashton b99817fd2b mangoapp: Don't redraw if we don't have new frames 3 years ago
Joshua Ashton da8b0cbad4 mangoapp: Fix usage of notify_one in condition variable
This should be outside of the lock_guard scope to avoid a deadlock.
3 years ago
FlightlessMango 8e2c7e8524 mangoapp: disable amdgpu_handles 3 years ago
Lukáš Horáček 4943129844 cpu: Add parentheses around assigment in if check 3 years ago
Lukáš Horáček ed4c8bca80 logging: Initialize total, total_cpu, total_gpu variables 3 years ago
Lukáš Horáček e0cee5dbe3 cpu: Remove unused _power variable 3 years ago
FlightlessMango fb1cae9cc9 display min/max frametime for period 3 years ago
flightlessmango e435764eff
Merge pull request #662 from nanokatze/master
Set VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT when creating swapchain
3 years ago
FlightlessMango 9c15d093d6 Only reset logger if param is not set 3 years ago
FlightlessMango 639c39cdbb mangohudctl: expand help message 3 years ago
FlightlessMango 15a5edeb51 mangoapp: fixing up ctl switch statements 3 years ago
FlightlessMango c50c815630 destroy logger with vulkan instance 3 years ago
Alessandro Toia af716ac830 Add fps_only to legacy_elements, fixes #674 3 years ago
FlightlessMango 46730b572a permit starting a new log even if previous is rendering 3 years ago
FlightlessMango 9c7f91eccd clearer headers in summary 3 years ago
FlightlessMango e9d4eeff04 mangohudctl meson option 3 years ago
FlightlessMango 97f6a00171 mangohudctl and interface 3 years ago
Joshua Ashton f462c7ff76 Write log file in mangoapp
This was only writing the summary, which is rather useless.
3 years ago
FlightlessMango 3e2023a4a2 mangoapp: control socket 3 years ago
FlightlessMango d4ca1050ec control: add toggle-logging 3 years ago
FlightlessMango d734fa1b66 mangoapp: set static height to include benchmark 3 years ago
Alessandro Toia 2455d7ae9e Disable fps_color_change and core_load_change when using full config 3 years ago
flightlessmango 0f49c5796a
Merge pull request #671 from Joshua-Ashton/empty_crash
Fix crash when no frames were recorded
3 years ago
Joshua Ashton 437563fa77 Fix crash when no frames were recorded
This can happen with MangoApp + the Steam Deck UI as it doesn't commit when there is nothing going on
3 years ago
FlightlessMango 3d3916247a mangoapp: force benchmark underneath 3 years ago
FlightlessMango 8ee7dc0d7b mangoapp: increase window size when rendering benchmark 3 years ago
FlightlessMango 53b2a8b842 mangoapp: force log_interval 0 3 years ago
Alessandro Toia 21ecb48214 Fix fps not showing when using full config 3 years ago
FlightlessMango 6f882115f0 initialize m_log_end 3 years ago
flightlessmango 1f94e0af4d
Merge pull request #657 from ishitatsuyuki/quad
overlay: avoid quadratic behavior
3 years ago
FlightlessMango 5d3c0ff686 mangoapp: make sure logger is inited 3 years ago
FlightlessMango d5c409beed mangoapp: temporarily remove vram mhz 3 years ago
FlightlessMango 37e18279e7 mangoapp: use amdgpu metrics 3 years ago
FlightlessMango 498687c33d mangoapp: let gamescope decide when to send updates 3 years ago
FlightlessMango f7dffb03a1 mangoapp: bump width 3 years ago
FlightlessMango 77e4d51d87 calculate and show mins in benchmark 3 years ago
FlightlessMango 3366120364 Move calc benchmark into logger 3 years ago
FlightlessMango 7071900a79 Disable fps_only when using full param 3 years ago
FlightlessMango 496fa0babc mangoapp: shutdown and reinit based on no_display 3 years ago
FlightlessMango 6c0965c27b Write a log summary 3 years ago
FlightlessMango a1b7b55a54 Use hudelements params in logging 3 years ago
FlightlessMango 92151565fc mangoapp: disable some options 3 years ago
flightlessmango 01cdc6cdc2
Merge pull request #664 from Joshua-Ashton/gamescope-external
mangoapp: Use GAMESCOPE_EXTERNAL_OVERLAY
3 years ago
FlightlessMango 941d5e6977 mangoapp: close if no_display 3 years ago
FlightlessMango b0fc3d348a mangoapp: notifier 3 years ago
FlightlessMango 4cd2ba539f mangoapp: cleaning up 3 years ago
jackun 4a33838bcd
Add extra parentheses to make compiler happy 3 years ago
Joshua Ashton 80042e00a3 mangoapp: Rename to "mangoapp overlay window" 3 years ago
Joshua Ashton 0be5e9a72f mangoapp: Use GAMESCOPE_EXTERNAL_OVERLAY
Don't replace the STEAM_OVERLAY
3 years ago
Alessandro Toia 4f02e20205 Blacklist: add EADesktop.exe and EALauncher.exe 3 years ago
Alessandro Toia 6717ad9ecf Remove the FPS text from fps_only param 3 years ago
Alessandro Toia 15fc641fc3 Add fps_only param to disable showing the engine name 3 years ago
FlightlessMango 9758d2a286 Try to get correct amd gpu when multiple 3 years ago
FlightlessMango e7c59c55a2 Rewrite reading core mhz files 3 years ago
Constantine a04230ad29 Set VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT when creating swapchain
Fixes #582
3 years ago
FlightlessMango cfd802c063 Incorrect param used in calc benchmark 3 years ago
FlightlessMango aab8730f69 exec: make sure LD_PRELOAD is unset 3 years ago
FlightlessMango 7212c79feb Logging: push param to benchmark calc 3 years ago
Tatsuyuki Ishi ada173e67f overlay: avoid quadratic behavior
Using a vector with erase(begin()) results in a copy of the full array
every time. This is inefficient and in the case of HUD graphs, was having
quadratic complexity which can noticeably affect performance.

This patch replaces most of the operations with an O(1) alternative,
keeping the total cost under a linear bound. While on this, also refactor
the size of graph array into a constant.
3 years ago
FlightlessMango 337ecbc4cf use scaling_cur_freq for cpu core mhz 3 years ago
FlightlessMango ee7f3fbfd2 Mangoapp: frametime message queue 3 years ago
FlightlessMango 52ae70f650 read_line: return empty line if ifstream fails 3 years ago
FlightlessMango ac58c30bbc Use driverInfo for driver name/version instead 3 years ago
FlightlessMango e7de7b5b93 Get device name before system info 3 years ago
FlightlessMango 9434033083 Don't use read_line as it causes issue with splitgate 3 years ago
FlightlessMango f2dcf3f4b2 Rewrite of exec() 3 years ago
FlightlessMango 23ed317536 mangoapp: shm struct + gamescope engine 3 years ago
FlightlessMango fbda58c907 Some windows fixes 3 years ago
Stephan Lachnit 4983056600 fix regression in hw_info_updater
Calling std::unique_lock in update() will cause a delay if
update_hw_info() takes longer than the period when update() is called.
To fix this, a try_to_lock tag is added. update() will only update if
the lock is aquired, else the update call is skipped.

Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
3 years ago
FlightlessMango 45be485a13 mangohud control 3 years ago
FlightlessMango 5fee3bc5e3 Change _params to pointer 3 years ago
FlightlessMango 872c3f03a4 Show highest cpu freq instead of cumulative 3 years ago
FlightlessMango da573e8eba mangoapp: fix not respecting nvctrl option 3 years ago
FlightlessMango cb3682633e Mangoapp: include unistd for sleep 3 years ago
FlightlessMango b001eb4714 Move _params init to overlay.cpp 3 years ago
FlightlessMango cd215854ce Mangoapp: meson option 3 years ago
Joshua Ashton fb619147e4 Set overlay atom to tell gamescope to render over 3 years ago
FlightlessMango 4e3a40c6ef mangoapp + gamescope shm 3 years ago
jackun a91f1c7cf7
Iterate through libraries for possible locations of dlopen/dlsym functions
glibc 2.34 moves `dlopen` and `dlsym` from libdl.so to libc.so
3 years ago
jackun abf146f73c
Set correct swapchain_stats etc references for hw updater 3 years ago
jackun 9b6a39dfe9
sed s/gnu_linux/linux/g 3 years ago
jackun 90e48f95ca
Use unversioned `fmt::format_error` 3 years ago
jackun 6584f23a6c
Use `ghc::filesystem` to iterate over /proc/self/map_files 3 years ago
jackun c452609718
Fix hw update thread waiting for initial update signal 3 years ago
jackun ced84ec526
Try to find `dlopen`/`dlsym` from libc.so too (musl libc, glibc 2.34+) 3 years ago
FlightlessMango 947f287a5e
Only create hw_info_thread once 3 years ago
jackun 729ccc83bd
Use spdlog's 'fmt' to format media player metadata
Usage:
  media_player_format={title};{artist};{album}

Semi-colon breaks to new line, might change.
3 years ago
FlightlessMango 3ac7772a55 Add universal param 3 years ago
jackun ac11beef9b
[dbus] Don't stop D-Bus thread or remove filter if not completely deiniting 3 years ago
jackun 31e879215a
[dbus] Also check if gamemode is enabled with D-Bus 3 years ago
jackun 7e3a56d356
[dbus] Raise TRAP if wrong primitive type but allow to continue 3 years ago
jackun d1617818cd
Fix OpenGL gpu_name 3 years ago
jackun a431c092eb
Separate libdrm and libdrm_amdgpu loader 3 years ago
jackun 822e325d11
Add get_basename, fix win32 build
std::string::substr likes to throw
3 years ago
jackun 9df9df0f4f
Fix some tangling printfs 3 years ago
jackun 94a7705554
Fix integer overflow on 32 bit, for `procmem` 3 years ago
jackun 5767426192
Nope, ERROR level has higher priority, doh 3 years ago
jackun c79e01830d
Clean up battery.{h,cpp} header includes 3 years ago
jackun 866fd8bc24
Add per process memory usage (`procmem` etc) 3 years ago
jackun 891abdf3b9
Skip setting up vulkan render if HUD is hidden 3 years ago
jackun b20d2492bc
Limit keybind check to about 10hz 3 years ago
jackun 355c521f12
Misc small clean ups and fixes 3 years ago
jackun a82e27d978
Use spdlog macros so logging can be completely disabled during compile-time 3 years ago
jackun 46c2183b5d
Use engine type enum in `engine_version()` 3 years ago
jackun 7d3b6b946d
Don't reinit stuff when re-creating swapchain
Partial revert of e13e98e03a
3 years ago
jackun 6c604f379c
Fix parse_pciids when trying to open pci.ids from alternate location 3 years ago
jackun 944202f273
Fix #ifdef scope in `overlay_DestroyInstance` 3 years ago
jackun d41ad84260
Poll amdgpu regs at 120ticks/s regardless of sampling period 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
jackun 88d801bd7e
Move functions not directly related to vulkan from vulkan.cpp to overlay.cpp 3 years ago
jackun 8244d7f288
Fix vulkan driver's patch version 3 years ago
Joshua Martin 3b0b6fbc42
Add position options to place the overlay halfway down the screen (#561) 3 years ago
jackun b6dab97d08
[OpenGL] Some code clean-ups 3 years ago
jackun f8bb948de2
More quotation glyphs 3 years ago
Lukáš Horáček 213953089d
Detect ToGL 3 years ago